about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-03-29 17:03:23 +0000
committerUlrich Drepper <drepper@redhat.com>1998-03-29 17:03:23 +0000
commitcb34385453717065a4bbfd9fae971b76c186df1e (patch)
treee06251493cba024dca02e8dfb2aaebe888b296d5 /elf
parenta44d23932dea41a56c4345394a973767af45cf02 (diff)
downloadglibc-cb34385453717065a4bbfd9fae971b76c186df1e.tar.gz
glibc-cb34385453717065a4bbfd9fae971b76c186df1e.tar.xz
glibc-cb34385453717065a4bbfd9fae971b76c186df1e.zip
Update.
1998-03-29 16:50  Ulrich Drepper  <drepper@cygnus.com>

	* config.make.in (ldd-rewrite-script): New variable.
	* configure.in: Substitute ldd-rewrite-script.
	* elf/Makefile: Rewrite rules to generate ldd script.
	* elf/ldd.bash.in: Allow handling of non-ELF binaries.
	* elf/ldd.sh.in: Likewise.
	* sysdeps/unix/sysv/linux/Makefile: Remove rule to install lddlibc4.
	* sysdeps/unix/sysv/linux/configure.in: Define ldd_rewrite_script to
	point to sed script for libc4 handling insertion for ix86, m68, SPARC.
	* sysdeps/unix/sysv/linux/i386/Makefile: Add rule to install lddlibc4.

1998-03-26 15:20  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* inet/rcmd.c (iruserok): Remain setuid to the local user
	while .rhosts is actually read, to make .rhosts-over-NFS work
	(PR libc/524).  Use iruserfopen() for security checks on both
	hosts.equiv and .rhosts.  General cleanup.
	(iruserfopen): New function, performs careful checking on
	hosts.equiv/.rhosts files.  Disallows all the old forbidden
	stuff plus hard links to files.

1998-03-29 09:26  Ulrich Drepper  <drepper@cygnus.com>

	* setjmp/tst-setjmp.c: Don't test __setjmp, test _setjmp instead.

1998-03-29 02:02  H.J. Lu  <hjl@gnu.org>

	* sysdeps/i386/i486/bits/string.h: Fix typos.

	* nss/nsswitch.c (__nss_lookup): Fix the bogus checking for
	"adjusted for next function".

1998-03-28 00:13  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/alpha/readdir.c (__readdir64): New
	strong alias.

	* sysdeps/unix/sysv/linux/alpha/syscalls.list (socket): Added.

	* libc.map (__ieee_get_fp_control, __ieee_set_fp_control):
	Added.  Used by libm.so on alpha.

1998-03-28  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* intl/bindtextdom.c [_LIBC]: Define strdup only if not yet
	defined.

1998-03-27 07:29  H.J. Lu  <hjl@gnu.org>

	* Makerules (object-suffixes-for-rules): Add .oS only for
	building shared library.
	Add ranlib rule for nonshared library.
	(rmobjs): Fix typo.

	* Makeconfig (libtype.oS, CFLAGS-.oS, CPPFLAGS-.oS): Moved
	into for shared library only.
	(CPPFLAGS-.oS): Add -DPIC.
	(libtypes): Use $(object-suffixes-for-rules) instead of
	$(object-suffixes).

1998-03-28  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/Makefile (inhibit-stdio_lim): Compile
	and install lddlibc4.

1998-03-28 09:13  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* iconvdata/gap.pl: Gobble rest of line with a scalar, not a
	hash.
	* iconvdata/gaptab.pl: Likewise.
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile35
-rw-r--r--elf/ldd.bash.in15
-rw-r--r--elf/ldd.sh.in8
3 files changed, 44 insertions, 14 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 5e221ec352..33f60c52f1 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -164,23 +164,34 @@ $(inst_slibdir)/$(rtld-installed-name): \
 .PHONY: ldso_install
 ldso_install: $(inst_slibdir)/$(rtld-installed-name)
 
+
+sh-ldd-rewrite = -e 's%@RTLD@%$(slibdir)/$(rtld-installed-name)%g' \
+		 -e 's%@VERSION@%$(version)%g'
+bash-ldd-rewrite = $(sh-ldd-rewrite) -e 's%@BASH@%$(BASH)%g' \
+		   -e 's%@TEXTDOMAINDIR@%$(localedir)%g'
+
 ifneq ($(have-bash2),yes)
-$(objpfx)ldd: ldd.sh.in $(common-objpfx)version.mk \
-	      $(common-objpfx)soversions.mk $(common-objpfx)config.make
-	sed -e 's%@RTLD@%$(slibdir)/$(rtld-installed-name)%g' \
-	    -e 's%@VERSION@%$(version)%g' < $< > $@.new
-	chmod 555 $@.new
-	mv -f $@.new $@
+ldd-shell = bash
+else
+ldd-shell = sh
+endif
+
+ifeq ($(ldd-rewrite-script),no)
+define gen-ldd
+sed $($(ldd-shell)-ldd-rewrite) < $< > $@.new
+endef
 else
-$(objpfx)ldd: ldd.bash.in $(common-objpfx)version.mk \
+define gen-ldd
+sed $($(ldd-shell)-ldd-rewrite) < $< | sed -f $(ldd-rewrite-script) > $@.new
+endef
+endif
+
+$(objpfx)ldd: ldd.$(ldd-shell).in $(common-objpfx)version.mk \
 	      $(common-objpfx)soversions.mk $(common-objpfx)config.make
-	sed -e 's%@BASH@%$(BASH)%g' \
-	    -e 's%@RTLD@%$(slibdir)/$(rtld-installed-name)%g' \
-	    -e 's%@VERSION@%$(version)%g' \
-	    -e 's%@TEXTDOMAINDIR@%$(localedir)%g' < $< > $@.new
+	$(gen-ldd)
 	chmod 555 $@.new
 	mv -f $@.new $@
-endif
+
 
 ifeq ($(build-shared),yes)
 $(objpfx)sprof: $(objpfx)libdl.so$(libdl.so-version)
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index 54dc837d3e..5d4bb3cccc 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -87,6 +87,12 @@ Report bugs using the \`glibcbug' script to <bugs@gnu.org>."
   esac
 done
 
+nonelf ()
+{
+  # Maybe extra code for non-ELF binaries.
+  return 1;
+}
+
 add_env="LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now"
 add_env="$add_env LD_VERBOSE=$verbose"
 case $# in
@@ -115,6 +121,8 @@ case $# in
       eval $add_env exec '"$file"' || exit 1
       ;;
     1)
+      # This can be a non-ELF binary or no binary at all.
+      nonelf $file ||
       echo $"	not a dynamic executable"
       exit 1
       ;;
@@ -154,8 +162,11 @@ warning: you do not have execution permission for" "\`$file'"
 	eval $add_env '"$file"' || result=1
 	;;
       1)
-	echo $"	not a dynamic executable"
-	result=1
+	# This can be a non-ELF binary or no binary at all.
+	nonelf $file || {
+	  echo $"	not a dynamic executable"
+	  result=1
+	}
 	;;
       2)
         eval $add_env ${RTLD} '"$file"' || result=1
diff --git a/elf/ldd.sh.in b/elf/ldd.sh.in
index 884472f654..a82deb5cb7 100644
--- a/elf/ldd.sh.in
+++ b/elf/ldd.sh.in
@@ -83,6 +83,12 @@ Try \`ldd --help' for more information."
   esac
 done
 
+nonelf ()
+{
+  # Maybe extra code for non-ELF binaries.
+  return 1;
+}
+
 add_env="LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now"
 add_env="$add_env LD_VERBOSE=$verbose"
 case $# in
@@ -113,6 +119,7 @@ Try \`ldd --help' for more information."
 	eval $add_env exec '"$file"' || exit 1
 	;;
       1)
+        nonelf $file ||
 	echo '	not a dynamic executable'
 	exit 1
 	;;
@@ -155,6 +162,7 @@ ldd: warning: you do not have execution permission for \`$file'"
 	  eval $add_env '"$file"' || result=1
 	  ;;
 	1)
+          nonelf $file ||
 	  echo '	not a dynamic executable'
 	  result=1
 	  ;;