summary refs log tree commit diff
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)
downloadglibc-8a594e3cb7ea389cec5043cfcfd865d2bd0b8138.tar.gz
glibc-8a594e3cb7ea389cec5043cfcfd865d2bd0b8138.tar.xz
glibc-8a594e3cb7ea389cec5043cfcfd865d2bd0b8138.zip
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