about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-08-20 00:11:57 +0000
committerUlrich Drepper <drepper@redhat.com>1999-08-20 00:11:57 +0000
commit264ec183cf07a8886856e81b4263b12260d84bf3 (patch)
treeff7b521c8a9e57aed94a5f6a052a99b41747db9d /elf/rtld.c
parent22e65f8f5297d694301c6bfa814fb086ca36d119 (diff)
downloadglibc-264ec183cf07a8886856e81b4263b12260d84bf3.tar.gz
glibc-264ec183cf07a8886856e81b4263b12260d84bf3.tar.xz
glibc-264ec183cf07a8886856e81b4263b12260d84bf3.zip
Update.
	* Versions: Export __pthread_kill_other_threads_np from libpthread
	for GLIBC_2.1.2.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 72c81fb00f..5d0244990c 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -143,6 +143,7 @@ _dl_start (void *arg)
 {
   struct link_map bootstrap_map;
   hp_timing_t start_time;
+  size_t cnt;
 
   /* This #define produces dynamic linking inline functions for
      bootstrap relocation instead of general-purpose relocation.  */
@@ -154,6 +155,14 @@ _dl_start (void *arg)
   if (HP_TIMING_INLINE && HP_TIMING_AVAIL)
     HP_TIMING_NOW (start_time);
 
+  /* Partly clean the `bootstrap_map' structure up.  Don't use `memset'
+     since it might nor be built in or inlined and we cannot make function
+     calls at this point.  */
+  for (cnt = 0;
+       cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]);
+       ++cnt)
+    bootstrap_map.l_info[cnt] = 0;
+
   /* Figure out the run-time load address of the dynamic linker itself.  */
   bootstrap_map.l_addr = elf_machine_load_address ();