Support libraries linked by path.
Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
db29cad815
commit
5f6c4518c8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=281813
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
libkey() {
|
libkey() {
|
||||||
libkey="lib_symbols_$1"
|
libkey="lib_symbols_$1"
|
||||||
patterns=[.+,-]
|
patterns=[.+,/-]
|
||||||
replacement=_
|
replacement=_
|
||||||
while :; do
|
while :; do
|
||||||
case " ${libkey} " in
|
case " ${libkey} " in
|
||||||
@ -44,11 +44,15 @@ list_libs=
|
|||||||
resolved_symbols=
|
resolved_symbols=
|
||||||
for lib in $(readelf -d $1 | awk '$2 ~ /\(?NEEDED\)?/ { sub(/\[/,"",$NF); sub(/\]/,"",$NF); print $NF }'); do
|
for lib in $(readelf -d $1 | awk '$2 ~ /\(?NEEDED\)?/ { sub(/\[/,"",$NF); sub(/\]/,"",$NF); print $NF }'); do
|
||||||
echo -n "checking if $lib is needed: "
|
echo -n "checking if $lib is needed: "
|
||||||
for libpair in ${ldd_libs}; do
|
if [ -n "${lib##/*}" ]; then
|
||||||
case "${libpair}" in
|
for libpair in ${ldd_libs}; do
|
||||||
${lib}:*) libpath="${libpair#*:}" && break ;;
|
case "${libpair}" in
|
||||||
esac
|
${lib}:*) libpath="${libpair#*:}" && break ;;
|
||||||
done
|
esac
|
||||||
|
done
|
||||||
|
else
|
||||||
|
libpath="${lib}"
|
||||||
|
fi
|
||||||
list_libs="$list_libs $lib"
|
list_libs="$list_libs $lib"
|
||||||
foundone=
|
foundone=
|
||||||
lib_symbols="$(nm -D --defined-only --format=posix "${libpath}" | awk '$2 ~ /C|R|D|T|W|B|V/ {print $1}' | tr '\n' ' ')"
|
lib_symbols="$(nm -D --defined-only --format=posix "${libpath}" | awk '$2 ~ /C|R|D|T|W|B|V/ {print $1}' | tr '\n' ' ')"
|
||||||
|
Loading…
Reference in New Issue
Block a user