about summary refs log tree commit diff
path: root/mach
diff options
context:
space:
mode:
Diffstat (limited to 'mach')
-rw-r--r--mach/Machrules14
1 files changed, 6 insertions, 8 deletions
diff --git a/mach/Machrules b/mach/Machrules
index b5a6998c18..adf539419a 100644
--- a/mach/Machrules
+++ b/mach/Machrules
@@ -221,13 +221,11 @@ $(interface-library)-routines = $(interface-routines)
 extra-libs += $(interface-library)
 extra-libs-others += $(interface-library)
 
-# Avoid -lmachuser requiring -lc, which may not be built yet.  If the
-# shared object is absent, ld may choose a static library someplace and
-# produce a bogus libmachuser.so.
-+preinit =
-+postinit =
-+interp =
-interface.so = $(interface-library:lib%=%.so)
-LDFLAGS-$(interface.so) = -nostdlib -nostartfiles
+ifeq (yes,$(build-shared))
+interface.so = $(interface-library:=.so)
+
+# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
+$(objpfx)$(interface.so): $(common-objpfx)libc.so
+endif
 
 endif