diff options
Diffstat (limited to 'glibc/glibc-cvs/ldd.patch')
-rw-r--r-- | glibc/glibc-cvs/ldd.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/glibc/glibc-cvs/ldd.patch b/glibc/glibc-cvs/ldd.patch index e69de29bb2..01719dbe08 100644 --- a/glibc/glibc-cvs/ldd.patch +++ b/glibc/glibc-cvs/ldd.patch @@ -0,0 +1,38 @@ +--- elf/ldd.bash.in~ Tue Apr 3 21:43:31 2001 ++++ elf/ldd.bash.in Tue Apr 3 21:54:15 2001 +@@ -32,6 +32,7 @@ + warn= + bind_now= + verbose= ++filename_magic_regex="((^|/)lib|.so$)" + + while test $# -gt 0; do + case "$1" in +@@ -123,8 +124,11 @@ + echo "ldd: ${file}:" $"No such file or directory" >&2 + result=1 + elif test -r "$file"; then +- test -x "$file" || echo 'ldd:' $"\ +-warning: you do not have execution permission for" "\`$file'" >&2 ++ if test ! -x "$file" && eval echo "$file" \ ++ | egrep -v "$filename_magic_regex" > /dev/null; then ++ echo 'ldd:' $"warning: you do not have execution permission for"\ ++ "\`$file'" >&2 ++ fi + RTLD= + for rtld in ${RTLDLIST}; do + if test -x $rtld; then +@@ -143,7 +147,12 @@ + fi + case $ret in + 0) +- eval $add_env '"$file"' || result=1 ++ if [ ! -x "$file" ] && eval file -L "$file" 2>/dev/null \ ++ | sed 10q | egrep "$file_magic_regex" > /dev/null; then ++ eval $add_env ${RTLD} '"$file"' || result=1 ++ else ++ eval $add_env '"$file"' || result=1 ++ fi + ;; + 1) + # This can be a non-ELF binary or no binary at all. |