]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
configure: Make stack-protector test check both compile and link
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 11 Apr 2014 16:13:52 +0000 (17:13 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 14 Apr 2014 11:11:18 +0000 (12:11 +0100)
Since we use the -fstack-protector argument at both compile and
link time in the build, we must check that it works with both
a compile and a link:
 * MacOSX only fails in the compile step, not linking
 * some gcc cross environments only fail at the link stage (if they
   require a libssp and it's not present for some reason)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1397232832-32301-1-git-send-email-peter.maydell@linaro.org
Tested-by: Alexey Kardashevskiy <aik@ozlabs.ru>
configure

index c85475fb873276e39d4f57c0d788de3e4af68167..69b9f56847469f80cb3afc31d21f707ed64d0122 100755 (executable)
--- a/configure
+++ b/configure
@@ -1448,7 +1448,10 @@ done
 if test "$stack_protector" != "no" ; then
   gcc_flags="-fstack-protector-strong -fstack-protector-all"
   for flag in $gcc_flags; do
-    if do_cc $QEMU_CFLAGS -Werror $flag -c -o $TMPO $TMPC ; then
+    # We need to check both a compile and a link, since some compiler
+    # setups fail only on a .c->.o compile and some only at link time
+    if do_cc $QEMU_CFLAGS -Werror $flag -c -o $TMPO $TMPC &&
+       compile_prog "-Werror $flag" ""; then
       QEMU_CFLAGS="$QEMU_CFLAGS $flag"
       LIBTOOLFLAGS="$LIBTOOLFLAGS -Wc,$flag"
       break