From: Sergei Trofimovich Date: Mon, 30 Sep 2019 08:52:04 +0000 (+0100) Subject: flag-o-matic.eclass: fix test-flag-PROG() for CC="gcc -m64" X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=60328373651331a8d1beab33f4a499e0b3ad61d7;p=gentoo.git flag-o-matic.eclass: fix test-flag-PROG() for CC="gcc -m64" bug #695706 added compiler validation via 'type -p ${CC}', but that does not take into account possible options present in ${CC} itself: $ type -P x86_64-pc-linux-gnu-gcc -m64; echo $? /usr/lib/ccache/bin/x86_64-pc-linux-gnu-gcc 1 $ type -P x86_64-pc-linux-gnu-gcc ; echo $? /usr/lib/ccache/bin/x86_64-pc-linux-gnu-gcc 0 The change picks first argument (binary name) and validates only that. Reported-by: Pavol Cupka Closes: https://bugs.gentoo.org/695888 Bug: https://bugs.gentoo.org/show_bug.cgi?id=695706 Signed-off-by: Sergei Trofimovich --- diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 89b259cc222f..f882b09d6219 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -436,11 +436,13 @@ test-flag-PROG() { [[ -z ${comp} || -z $1 ]] && return 1 # verify selected compiler exists before using it - comp=$(tc-get${comp}) - type -p ${comp} >/dev/null || return 1 + comp=($(tc-get${comp})) + # 'comp' can already contain compiler options. + # 'type' needs a binary name + type -p ${comp[0]} >/dev/null || return 1 local cmdline=( - ${comp} + "${comp[@]}" # Clang will warn about unknown gcc flags but exit 0. # Need -Werror to force it to exit non-zero. -Werror