about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-11-16 00:44:18 +0000
committerRoland McGrath <roland@gnu.org>1995-11-16 00:44:18 +0000
commitec967c06ac7474fa58266ea309d6488ee3c53851 (patch)
treedcea408ef904d340938ac85866816b4c024319d8 /elf/rtld.c
parent2ede96c9362f1950ef309f4fb9662aea60fe9777 (diff)
downloadglibc-ec967c06ac7474fa58266ea309d6488ee3c53851.tar.gz
glibc-ec967c06ac7474fa58266ea309d6488ee3c53851.tar.xz
glibc-ec967c06ac7474fa58266ea309d6488ee3c53851.zip
Wed Nov 15 19:22:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
	* sysdeps/mach/hurd/dl-sysdep.c: Include _itoa.h from stdio-common
	instead of stdio.
	(_dl_sysdep_start): If passed user entry is zero and
	EXEC_STACK_ARGS flag set, reset user entry to &_start.

	* elf/rtld.c (dl_main): Only call _dl_setup_hash if there is a
	DT_HASH element.

	* libc-symbols.h [HAVE_ELF] (symbol_set_declare): Gratuitously
	repeat weak decl using weak_symbol macro, in case using broken GCC
	(<2.8).

Wed Nov 15 18:49:55 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>

	* sysdeps/i386/isnanl.c: New file.
	* sysdeps/i386/isinfl.c: New file.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 9a822a8c66..88f0d6d804 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -226,8 +226,9 @@ of this helper program; chances are you did not intend to run this program.\n",
 
       /* Extract the contents of the dynamic section for easy access.  */
       elf_get_dynamic_info (l->l_ld, l->l_info);
-      /* Set up our cache of pointers into the hash table.  */
-      _dl_setup_hash (l);
+      if (l->l_info[DT_HASH])
+	/* Set up our cache of pointers into the hash table.  */
+	_dl_setup_hash (l);
 
       if (l->l_info[DT_DEBUG])
 	/* There is a DT_DEBUG entry in the dynamic section.  Fill it in