summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/misc-functions.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index 9d8244d65..bb674321e 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -201,7 +201,18 @@ install_qa_check() {
[[ "${FCFLAGS}" == *-frecord-gcc-switches* ]] ; then
f=$(scanelf -qyRF '%k %p' -k \!.GCC.command.line "${ED}" | sed -e "s:\!.GCC.command.line ::")
if [[ -n ${f} ]] ; then
- echo "${f}" > "${T}"/scanelf-ignored-CFLAGS.log
+ # Separate out file types that are known to support
+ # .GCC.command.line sections, using the `file` command
+ # similar to how prepstrip uses it.
+ > "${T}"/scanelf-ignored-CFLAGS.log
+ for x in $f ; do
+ f=$(file "${x}") || continue
+ [[ -z ${f} ]] && continue
+ if [[ ${f} == *"SB executable"* ||
+ ${f} == *"SB shared object"* ]] ; then
+ echo "${x}" >> "${T}"/scanelf-ignored-CFLAGS.log
+ fi
+ done
if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = unset ] ; then
for x in "${QA_FLAGS_IGNORED[@]}" ; do
sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log