summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2000-04-02 22:01:23 +0000
committerRoland McGrath <roland@gnu.org>2000-04-02 22:01:23 +0000
commit5879ee9fa107553df828f71fd8e6633d3032370a (patch)
tree184e7f19b623b4ddf26ea256b80e11ec350bc884 /elf
parente1724cd7ef4da860e8a1bfbe8adf0e0ec4d0e90f (diff)
downloadglibc-5879ee9fa107553df828f71fd8e6633d3032370a.tar.gz
glibc-5879ee9fa107553df828f71fd8e6633d3032370a.tar.xz
glibc-5879ee9fa107553df828f71fd8e6633d3032370a.zip
* sysdeps/mach/hurd/i386/init-first.c: Replace PIC #ifdefs with SHARED.
	(init1): Don't initialize __environ here, since init already does it.
	(first_init): New function, broken out of _init.
	(_hurd_stack_setup): Use it.
	[SHARED] (_dl_init_first): New function, renamed from old _init.
	(init1) [SHARED]: Don't call posixland_init here.
	(posixland_init): Take ENVP arg, so signature is usual for initializer.
	[SHARED] (_init): Define as alias for posixland_init.
	[! SHARED] (__libc_first_init): Define as alias for posixland_init.
	* sysdeps/i386/dl-machine.h (RTLD_START): Insert the macro
	RTLD_START_SPECIAL_INIT before calling initializers.
	(RTLD_START_SPECIAL_INIT): Define to empty if undefined.
	* sysdeps/mach/hurd/i386/dl-machine.h: New file.
	* sysdeps/mach/hurd/dl-sysdep.c (_dl_init_first): New weak function.
	* elf/Versions ({libc,ld.so}: GLIBC_2.2): Add _dl_init_first.
Diffstat (limited to 'elf')
-rw-r--r--elf/Versions6
1 files changed, 6 insertions, 0 deletions
diff --git a/elf/Versions b/elf/Versions
index 9cb62451e9..791fcee8c4 100644
--- a/elf/Versions
+++ b/elf/Versions
@@ -8,6 +8,9 @@ libc {
     _dl_mcount_wrapper; _dl_mcount_wrapper_check;
   }
   GLIBC_2.2 {
+    # this is defined in ld.so and overridden by libc
+    _dl_init_first;
+
     # functions used in other libraries
     _dl_sym; _dl_vsym;
   }
@@ -50,5 +53,8 @@ ld.so {
   }
   GLIBC_2.2 {
     _dl_init;
+
+    # this is defined in ld.so and overridden by libc
+    _dl_init_first;
   }
 }