summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/Makefile')
-rw-r--r--sysdeps/mach/hurd/Makefile12
1 files changed, 10 insertions, 2 deletions
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index 8b70092f5f..26446951cc 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -104,11 +104,19 @@ endif
# For the shared library, we don't need to do the linker script machination.
# Instead, we specify the required libraries when building the shared object.
-$(common-objpfx)libc.so: $(firstword $(objdir) $(..)mach)/libmachuser.so \
- $(firstword $(objdir) $(..)hurd)/libhurduser.so
+rpcuserlibs := $(firstword $(objdir) $(..)mach)/libmachuser.so \
+ $(firstword $(objdir) $(..)hurd)/libhurduser.so
+$(common-objpfx)libc.so: $(rpcuserlibs)
ifndef objpfx
rpath-link += $(..)mach:$(..)hurd
endif
+
+# The RPC stubs from these libraries are needed in building the dynamic
+# linker, too. It must be self-contained, so we link the needed PIC
+# objects directly into the shared object.
+ifeq (elf,$(subdir))
+$(objpfx)librtld.so: $(rpcuserlibs:.so=_pic.a)
+endif
endif # in-Makerules