From 41000c8d1bea35160ea9be62a96eef50c47b6d77 Mon Sep 17 00:00:00 2001 From: bdrewery Date: Tue, 21 Apr 2015 05:41:56 +0000 Subject: [PATCH] Tweak BSS symbol handling from r281811 to not consider them unresolved --- tools/build/check-links.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/build/check-links.sh b/tools/build/check-links.sh index 70691d2171db..1c58aa0c4c50 100755 --- a/tools/build/check-links.sh +++ b/tools/build/check-links.sh @@ -36,7 +36,8 @@ case $mime in esac # Gather all symbols from the target -unresolved_symbols=$(nm -D --format=posix "$1" | awk -v isbin=${isbin} '$2 == "U" || ($2 == "B" && $4 != "" && isbin == 1) {print $1}' | tr '\n' ' ') +unresolved_symbols=$(nm -u -D --format=posix "$1" | awk '$2 == "U" {print $1}' | tr '\n' ' ') +[ ${isbin} -eq 1 ] && bss_symbols=$(nm -D --format=posix "$1" | awk '$2 == "B" && $4 != "" {print $1}' | tr '\n' ' ') ldd_libs=$(ldd $(realpath $1) | awk '{print $1 ":" $3}') # Check for useful libs @@ -62,7 +63,7 @@ for lib in $(readelf -d $1 | awk '$2 ~ /\(?NEEDED\)?/ { sub(/\[/,"",$NF); sub(/\ setvar "${libkey}" "${lib_symbols}" fi for fct in ${lib_symbols}; do - case " ${unresolved_symbols} " in + case " ${unresolved_symbols} ${bss_symbols} " in *\ ${fct}\ *) foundone="${fct}" && break ;; esac done