MFH: r469589

stage-qa: Change stripped check to only look for .debug_info.

'strip -x', and splitting out debug symbols with objcopy, will leave
a .symtab section but will still remove the .debug_info section.  file(1)
shows this distinction as well after the use of 'strip -x':

    work/tcl8.7a1/unix/libtcl8.7.so:       ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, with debug_info, not stripped
    work/stage/usr/local/lib/libtcl8.7.so: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, not stripped

This fixes false-positives when using install-strip and symbol splitting.

With hat:	portmgr

Approved by:	portmgr (implicit)
This commit is contained in:
Bryan Drewery 2018-05-10 23:00:46 +00:00
parent 233bb92dc2
commit 6631bf0086
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q2/; revision=469590

View File

@ -210,7 +210,7 @@ stripped() {
find ${STAGEDIR} -type f ! -name '*.a' ! -name '*.o' \
-exec readelf -S {} + 2>/dev/null | awk '\
/File:/ {sub(/File: /, "", $0); file=$0} \
/SYMTAB/ {print file}' |
/[[:space:]]\.debug_info[[:space:]]*PROGBITS/ {print file}' |
while read f; do
warn "'${f#${STAGEDIR}${PREFIX}/}' is not stripped consider trying INSTALL_TARGET=install-strip or using \${STRIP_CMD}"
done