Support libraries linked by path.

Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Bryan Drewery 2015-04-21 05:10:18 +00:00
parent db29cad815
commit 5f6c4518c8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=281813

View File

@ -3,7 +3,7 @@
libkey() {
libkey="lib_symbols_$1"
patterns=[.+,-]
patterns=[.+,/-]
replacement=_
while :; do
case " ${libkey} " in
@ -44,11 +44,15 @@ list_libs=
resolved_symbols=
for lib in $(readelf -d $1 | awk '$2 ~ /\(?NEEDED\)?/ { sub(/\[/,"",$NF); sub(/\]/,"",$NF); print $NF }'); do
echo -n "checking if $lib is needed: "
for libpair in ${ldd_libs}; do
case "${libpair}" in
${lib}:*) libpath="${libpair#*:}" && break ;;
esac
done
if [ -n "${lib##/*}" ]; then
for libpair in ${ldd_libs}; do
case "${libpair}" in
${lib}:*) libpath="${libpair#*:}" && break ;;
esac
done
else
libpath="${lib}"
fi
list_libs="$list_libs $lib"
foundone=
lib_symbols="$(nm -D --defined-only --format=posix "${libpath}" | awk '$2 ~ /C|R|D|T|W|B|V/ {print $1}' | tr '\n' ' ')"