diff mbox

[1/2] configure: handle clang -nopie argument warning

Message ID 1425990225-7539-2-git-send-email-stefanha@redhat.com
State New
Headers show

Commit Message

Stefan Hajnoczi March 10, 2015, 12:23 p.m. UTC
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 <stefanha@redhat.com>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

John Snow March 10, 2015, 5:10 p.m. UTC | #1
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 <stefanha@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 <jsnow@redhat.com>
diff mbox

Patch

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