diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rwxr-xr-x | configure | 31 | ||||
-rw-r--r-- | configure.in | 12 | ||||
-rw-r--r-- | elf/Makefile | 2 | ||||
-rw-r--r-- | elf/ldd.sh.in | 10 |
5 files changed, 48 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog index 5e0887b88a..f427e33cea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ Mon Oct 16 03:22:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + * elf/Makefile (install-others): Add missing slash. + + * elf/ldd.sh.in: Prepend `./' to relative file names so ld.so + won't search LD_LIBRARY_PATH. + * Makefile (subdirs): Replace stdio with stdio-common and $(stdio). * configure.in: Grok arg --enable-libio. ($stdio = libio): Define USE_IN_LIBIO. diff --git a/configure b/configure index 724725bce2..08609a496e 100755 --- a/configure +++ b/configure @@ -27,6 +27,8 @@ ac_help="$ac_help ac_help="$ac_help --with-weak-symbols if weak symbols are available in as and ld" ac_help="$ac_help + --enable-libio build in GNU libio instead of GNU stdio" +ac_help="$ac_help --enable-shared build shared library [default=yes if GNU ld & ELF]" ac_help="$ac_help --enable-profile build profiled library [default=yes]" @@ -607,6 +609,15 @@ else fi +# Check whether --enable-libio or --disable-libio was given. +if test "${enable_libio+set}" = set; then + enableval="$enable_libio" + stdio=libio +else + stdio=stdio +fi + + # Check whether --enable-shared or --disable-shared was given. if test "${enable_shared+set}" = set; then enableval="$enable_shared" @@ -632,6 +643,16 @@ else fi +echo $ac_n "checking stdio selection""... $ac_c" 1>&4 + +if test $stdio = libio; then + cat >> confdefs.h <<\EOF +#define USE_IN_LIBIO 1 +EOF + +fi +echo "$ac_t""$stdio" 1>&4 + ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then @@ -1112,7 +1133,7 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1116 "configure" +#line 1137 "configure" #include "confdefs.h" #include <assert.h> Syntax Error @@ -1126,7 +1147,7 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1130 "configure" +#line 1151 "configure" #include "confdefs.h" #include <assert.h> Syntax Error @@ -1180,7 +1201,7 @@ if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&4 else cat > conftest.$ac_ext <<EOF -#line 1184 "configure" +#line 1205 "configure" #include "confdefs.h" #define __need_size_t #define __need_wchar_t @@ -1303,7 +1324,7 @@ if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&4 else cat > conftest.$ac_ext <<EOF -#line 1307 "configure" +#line 1328 "configure" #include "confdefs.h" int main() { return 0; } @@ -1438,7 +1459,6 @@ fi - if test "`(cd $srcdir; pwd)`" = "`pwd`"; then config_makefile= else @@ -1560,6 +1580,7 @@ s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g +s%@stdio@%$stdio%g s%@host@%$host%g s%@host_alias@%$host_alias%g s%@host_cpu@%$host_cpu%g diff --git a/configure.in b/configure.in index 239e7fd874..dbfb695a0b 100644 --- a/configure.in +++ b/configure.in @@ -43,7 +43,6 @@ AC_ARG_WITH(weak-symbols, dnl AC_ARG_ENABLE(libio, dnl [ --enable-libio build in GNU libio instead of GNU stdio], stdio=libio, stdio=stdio) -AC_SUBST(stdio) dnl Arguments to enable or disable building the shared, profiled, and dnl -fomit-frame-pointer libraries. @@ -57,6 +56,13 @@ AC_ARG_ENABLE(omitfp, dnl [ --enable-omitfp build undebuggable optimized library [default=no]], omitfp=$enableval, omitfp=no) +AC_MSG_CHECKING(stdio selection) +AC_SUBST(stdio) +if test $stdio = libio; then + AC_DEFINE(USE_IN_LIBIO) +fi +AC_MSG_RESULT($stdio) + AC_CANONICAL_HOST # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses @@ -490,10 +496,6 @@ fi AC_SUBST(profile) AC_SUBST(omitfp) -if test $stdio = libio; then - AC_DEFINE(USE_IN_LIBIO) -fi - if test "`(cd $srcdir; pwd)`" = "`pwd`"; then config_makefile= else diff --git a/elf/Makefile b/elf/Makefile index 45c2cfe854..21d2fc5fd5 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -37,7 +37,7 @@ include ../Makeconfig ifeq (yes,$(build-shared)) extra-objs = $(rtld-routines:=.so) soinit.so sofini.so -install-others = $(libdir)$(rtld-installed-name) +install-others = $(libdir)/$(rtld-installed-name) install-bin = ldd endif diff --git a/elf/ldd.sh.in b/elf/ldd.sh.in index 58ae501e53..ed43789cfa 100644 --- a/elf/ldd.sh.in +++ b/elf/ldd.sh.in @@ -13,12 +13,20 @@ case $# in exit 1 ;; 1) # We don't list the file name when there is only one. - exec ${RTLD} --list "$1" && exit 1 + case "$1" in + /*) file="$1" ;; + *) file="./$1" ;; + esac + exec ${RTLD} --list "$file" && exit 1 exit ;; *) set -e # Bail out immediately if ${RTLD} loses on any argument. for file; do echo "${file}:" + case "$file" in + /*) file="$file" ;; + *) file="./$file" ;; + esac ${RTLD} --list "$file" done esac |