about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-10-09 07:06:29 +0000
committerRoland McGrath <roland@gnu.org>1995-10-09 07:06:29 +0000
commitb122c7038e826eeabbc0118612b988c1a0f5b991 (patch)
tree1f3963026427771b6504b8afb91216895d95ba45 /elf/rtld.c
parent80fd73873bd51e58039983a9416ef3bb97bdac57 (diff)
downloadglibc-b122c7038e826eeabbc0118612b988c1a0f5b991.tar.gz
glibc-b122c7038e826eeabbc0118612b988c1a0f5b991.tar.xz
glibc-b122c7038e826eeabbc0118612b988c1a0f5b991.zip
Mon Oct 9 02:54:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
	* Makeconfig (config-LDFLAGS): Define to
	-Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
	(rtld-installed-name): New variable.
	* elf/Makefile (install-lib): Variable removed.
	(install-others): Define this instead, to
	$(libdir)(rtld-installed-name). 
	($(libdir)(rtld-installed-name)): New target; install from ld.so.

	* elf/ldd.sh.in: New file.
	* elf/Makefile (distribute): Add ldd.sh.in.
	(install-bin): Add ldd.
	($(objpfx)ldd: ldd.sh.in): New rule.

	* sysdeps/mach/hurd/dl-sysdep.c: Use __hurd_fail throughout.
	* hurd/hurd.h (__hurd_fail): Replace macro with inline function.
	Translate some Mach errors to Hurd errors.

	* elf/rtld.c (dl_main): Under --list, print msg if executable is
	statically linked.

	* elf/dl-load.c (_dl_map_object_from_fd): Rewrote program header
	table processing.

Sat Oct  7 01:25:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/stub/machine-gmon.h: Add #error.

Fri Oct  6 01:49:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* elf/dynamic-link.h (elf_get_dynamic_info): If DYN is null, don't
	examine it.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 6be05eb299..d780fcb870 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -281,6 +281,13 @@ of this helper program; chances are you did not intend to run this program.\n",
 
       if (list_only)
 	{
+	  if (! _dl_loaded->l_info[DT_NEEDED])
+	    {
+	      _dl_sysdep_message (_dl_loaded->l_name, ": statically linked\n",
+				  NULL);
+	      _exit (1);
+	    }
+
 	  for (l = _dl_loaded->l_next; l; l = l->l_next)
 	    {
 	      char buf[20], *bp;