about summary refs log tree commit diff
path: root/elf/ldd.sh.in
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/ldd.sh.in
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/ldd.sh.in')
-rw-r--r--elf/ldd.sh.in26
1 files changed, 26 insertions, 0 deletions
diff --git a/elf/ldd.sh.in b/elf/ldd.sh.in
new file mode 100644
index 0000000000..58ae501e53
--- /dev/null
+++ b/elf/ldd.sh.in
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+# This is the `ldd' command, which lists what shared libraries are
+# used by given dynamically-linked executables.  It works by invoking the
+# run-time dynamic linker as a command and giving it the special `--list'
+# switch.
+
+RTLD=@RTLD@
+
+case $# in
+0)
+  echo >&2 "Usage: $0 FILE..."
+  exit 1 ;;
+1)
+  # We don't list the file name when there is only one.
+  exec ${RTLD} --list "$1" && exit 1
+  exit ;;
+*)
+  set -e	# Bail out immediately if ${RTLD} loses on any argument.
+  for file; do
+    echo "${file}:"
+    ${RTLD} --list "$file"
+  done
+esac
+
+exit 0