Date: Tue, 21 Apr 2015 05:10:19 +0000 (UTC) From: Bryan Drewery <bdrewery@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r281813 - head/tools/build Message-ID: <201504210510.t3L5AJg6026022@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bdrewery Date: Tue Apr 21 05:10:18 2015 New Revision: 281813 URL: https://svnweb.freebsd.org/changeset/base/281813 Log: Support libraries linked by path. Sponsored by: EMC / Isilon Storage Division Modified: head/tools/build/check-links.sh Modified: head/tools/build/check-links.sh ============================================================================== --- head/tools/build/check-links.sh Tue Apr 21 04:40:38 2015 (r281812) +++ head/tools/build/check-links.sh Tue Apr 21 05:10:18 2015 (r281813) @@ -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' ' ')"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504210510.t3L5AJg6026022>