All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Andreas Färber" <andreas.faerber@web.de>,
	"Steven Noonan" <steven@uplinklabs.net>,
	qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH for-2.0] configure: use do_cc when checking for -fstack-protector support
Date: Thu, 10 Apr 2014 19:31:32 +0300	[thread overview]
Message-ID: <20140410163132.GA28144@redhat.com> (raw)
In-Reply-To: <1397041487-28477-1-git-send-email-peter.maydell@linaro.org>

On Wed, Apr 09, 2014 at 12:04:47PM +0100, Peter Maydell wrote:
> MacOSX clang silently swallows unrecognized -f options when doing a link
> with '-framework' also on the command line, so to detect support for
> the various -fstack-protector options we must do a plain .c to .o compile,
> not a complete compile-and-link.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Hmm it worries me a bit that we aren't passing it to linker:
might break some builds in case compiler has a working
protector but linker doesn't.

How about checking both do_cc and compile_prog here?




> ---
> This should be a pretty safe change and it prevents clang/MacOSX
> builds from spewing a warning on every C file compilation, so I'd
> like to get it into 2.0.
> 
>  configure | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index eb0e7bb..c85475f 100755
> --- a/configure
> +++ b/configure
> @@ -1448,7 +1448,7 @@ done
>  if test "$stack_protector" != "no" ; then
>    gcc_flags="-fstack-protector-strong -fstack-protector-all"
>    for flag in $gcc_flags; do
> -    if compile_prog "-Werror $flag" "" ; then
> +    if do_cc $QEMU_CFLAGS -Werror $flag -c -o $TMPO $TMPC ; then
>        QEMU_CFLAGS="$QEMU_CFLAGS $flag"
>        LIBTOOLFLAGS="$LIBTOOLFLAGS -Wc,$flag"
>        break
> -- 
> 1.8.5.4
>

Long term we might want this:

But I'm not sure it's a good idea to make this change
so late.

-->

configure: check -c each time we run compiler

Some warnings/errors only surface if you run compiler
without a linker. Run both on each test.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

 
diff --git a/configure b/configure
index eb0e7bb..8adc72b 100755
--- a/configure
+++ b/configure
@@ -102,6 +102,7 @@ compile_object() {
 compile_prog() {
   local_cflags="$1"
   local_ldflags="$2"
+  do_cc $QEMU_CFLAGS -c $local_cflags -o $TMPO $TMPC
   do_cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
 }
 

  reply	other threads:[~2014-04-10 16:31 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-09 11:04 [Qemu-devel] [PATCH for-2.0] configure: use do_cc when checking for -fstack-protector support Peter Maydell
2014-04-10 16:31 ` Michael S. Tsirkin [this message]
2014-04-10 16:37   ` Peter Maydell
2014-04-10 17:51     ` Michael S. Tsirkin
2014-04-10 22:31       ` Peter Maydell
2014-04-11 12:34 ` Alexey Kardashevskiy
2014-04-11 14:24   ` Alexey Kardashevskiy
2014-04-11 14:33     ` Alexey Kardashevskiy
2014-04-11 15:30       ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140410163132.GA28144@redhat.com \
    --to=mst@redhat.com \
    --cc=andreas.faerber@web.de \
    --cc=patches@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=steven@uplinklabs.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.