aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/alpha/dl-machine.h1
-rw-r--r--sysdeps/i386/dl-machine.h1
-rw-r--r--sysdeps/mach/hurd/Makefile3
3 files changed, 4 insertions, 1 deletions
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index a276551b00..bfde6662bf 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -161,6 +161,7 @@ elf_machine_rela (struct link_map *map,
{
Elf64_Addr *const reloc_addr = (void *)(map->l_addr + reloc->r_offset);
unsigned long r_info = ELF64_R_TYPE (reloc->r_info);
+ weak_symbol (_dl_rtld_map); /* Defined in rtld.c, but not in libc.a. */
/* We cannot use a switch here because we cannot locate the switch
jump table until we've self-relocated. */
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index c164d3d47f..406133861d 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -80,6 +80,7 @@ elf_machine_rel (struct link_map *map,
{
Elf32_Addr *const reloc_addr = (void *) (map->l_addr + reloc->r_offset);
Elf32_Addr loadbase, undo;
+ weak_symbol (_dl_rtld_map); /* Defined in rtld.c, but not in libc.a. */
switch (ELF32_R_TYPE (reloc->r_info))
{
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index bbee3faa65..200f2b02a5 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -103,7 +103,8 @@ 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.
-LDLIBS-c.so = -lmachuser -lhurduser
+$(common-objpfx)libc.so: $(firstword $(objdir) $(..)mach)/libmachuser.so \
+ $(firstword $(objdir) $(..)hurd)/libhurduser.so
ifndef objpfx
rpath-link += $(..)mach:$(..)hurd
endif