(_dl_start): Initialize bootstrap_map.l_info to zero.
authordrepper <drepper>
Thu, 19 Aug 1999 23:17:32 +0000 (23:17 +0000)
committerdrepper <drepper>
Thu, 19 Aug 1999 23:17:32 +0000 (23:17 +0000)
elf/rtld.c

index 72c81fb..5d02449 100644 (file)
@@ -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 ();