summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-03 18:51:10 +0000
committerRoland McGrath <roland@gnu.org>1996-07-03 18:51:10 +0000
commit8a594e3cb7ea389cec5043cfcfd865d2bd0b8138 (patch)
tree935db58a3859f00a437f60fe675b1748834eee00 /sysdeps
parentf0585c83b2b70f4fb04c4c2f3611b2a5150cd888 (diff)
Wed Jul 3 11:26:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/strftime.c (strftime: do_number): Adjust P and I after sprintf in case it wrote fewer than MAXDIGITS chars. * stdio/fwrite.c (fwrite: fill_buffer): Separate flushing for last newline from flushing full buffer in loop, fix test so no fflush is done when last byte written exactly fills the buffer. * nss/Makefile ($(services:%=$(objpfx)libnss_%.so)): Depend on libc.so. * sysdeps/mach/hurd/Makefile (LDLIBS-c.so): Variable removed. (libc.so): Instead, give this deps on lib{mach,hurd}user.so. * elf/dl-debug.c (_dl_debug_initialize): Use LDBASE arg instead of extracting _dl_rtld_map.l_addr. * sysdeps/i386/dl-machine.h (elf_machine_rel): Declare _dl_rtld_map as weak. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise. * shlib-versions (*-*-*): Set libnss_db=1. * elf/rtld.c (dl_main): Set _dl_rtld_map's DT_DEBUG location too.
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