aboutsummaryrefslogtreecommitdiff
path: root/elf
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
parent22e65f8f5297d694301c6bfa814fb086ca36d119 (diff)
downloadglibc-264ec183cf07a8886856e81b4263b12260d84bf3.zip
glibc-264ec183cf07a8886856e81b4263b12260d84bf3.tar.gz
glibc-264ec183cf07a8886856e81b4263b12260d84bf3.tar.bz2
Update.
* Versions: Export __pthread_kill_other_threads_np from libpthread for GLIBC_2.1.2.
Diffstat (limited to 'elf')
-rw-r--r--elf/rtld.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 72c81fb..5d02449 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 ();