Skip site navigation (1)Skip section navigation (2)
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>