On 03/10/2015 08:23 AM, Stefan Hajnoczi wrote:
gcc 4.9.2 treats -nopie as an error:

   cc: error: unrecognized command line option ‘-nopie’

clang 3.5.0 treats -nopie as a warning:

   clang: warning: argument unused during compilation: '-nopie'

The causes ./configure to fail with clang:

   ERROR: configure test passed without -Werror but failed with -Werror.

Make the -nopie test use -Werror so that compile_prog works for both gcc
and clang.

Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
---
  configure | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 7ba4bcb..4f9f689 100755
--- a/configure
+++ b/configure
@@ -1589,7 +1589,7 @@ EOF
      fi
    fi

-  if compile_prog "-fno-pie" "-nopie"; then
+  if compile_prog "-Werror -fno-pie" "-nopie"; then
      CFLAGS_NOPIE="-fno-pie"
      LDFLAGS_NOPIE="-nopie"
    fi


Oh, clang doesn't support -nopie but doesn't fail, so we have to force it to in order to get proper configuration.

Makes sense.

Reviewed-by: John Snow <js...@redhat.com>

Reply via email to