blob: 01719dbe08c82e6d4d37bb43bcf38db066d236bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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.
|