summaryrefslogtreecommitdiffstats
path: root/meta/packages/glibc/glibc-cvs/ldd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/glibc/glibc-cvs/ldd.patch')
-rw-r--r--meta/packages/glibc/glibc-cvs/ldd.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/meta/packages/glibc/glibc-cvs/ldd.patch b/meta/packages/glibc/glibc-cvs/ldd.patch
new file mode 100644
index 0000000000..01719dbe08
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/ldd.patch
@@ -0,0 +1,38 @@
1--- elf/ldd.bash.in~ Tue Apr 3 21:43:31 2001
2+++ elf/ldd.bash.in Tue Apr 3 21:54:15 2001
3@@ -32,6 +32,7 @@
4 warn=
5 bind_now=
6 verbose=
7+filename_magic_regex="((^|/)lib|.so$)"
8
9 while test $# -gt 0; do
10 case "$1" in
11@@ -123,8 +124,11 @@
12 echo "ldd: ${file}:" $"No such file or directory" >&2
13 result=1
14 elif test -r "$file"; then
15- test -x "$file" || echo 'ldd:' $"\
16-warning: you do not have execution permission for" "\`$file'" >&2
17+ if test ! -x "$file" && eval echo "$file" \
18+ | egrep -v "$filename_magic_regex" > /dev/null; then
19+ echo 'ldd:' $"warning: you do not have execution permission for"\
20+ "\`$file'" >&2
21+ fi
22 RTLD=
23 for rtld in ${RTLDLIST}; do
24 if test -x $rtld; then
25@@ -143,7 +147,12 @@
26 fi
27 case $ret in
28 0)
29- eval $add_env '"$file"' || result=1
30+ if [ ! -x "$file" ] && eval file -L "$file" 2>/dev/null \
31+ | sed 10q | egrep "$file_magic_regex" > /dev/null; then
32+ eval $add_env ${RTLD} '"$file"' || result=1
33+ else
34+ eval $add_env '"$file"' || result=1
35+ fi
36 ;;
37 1)
38 # This can be a non-ELF binary or no binary at all.