qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: dim@FreeBSD.org, "Thomas Huth" <thuth@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	alex.bennee@linaro.org, roger.pau@citrix.com
Subject: [PATCH for-5.0 v3 4/7] configure: Always detect -no-pie toolchain support
Date: Fri, 27 Mar 2020 15:03:50 -0700	[thread overview]
Message-ID: <20200327220353.27233-5-richard.henderson@linaro.org> (raw)
In-Reply-To: <20200327220353.27233-1-richard.henderson@linaro.org>

The CFLAGS_NOPIE and LDFLAGS_NOPIE variables are used
in pc-bios/optionrom/Makefile, which has nothing to do
with the PIE setting of the main qemu executables.

This overrides any operating system default to build
all executables as PIE, which is important for ROMs.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 configure | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index cbde833f6e..7ba18783cb 100755
--- a/configure
+++ b/configure
@@ -2107,26 +2107,24 @@ if ! compile_prog "-Werror" "" ; then
 	"Thread-Local Storage (TLS). Please upgrade to a version that does."
 fi
 
-if test "$pie" != "no" ; then
-  cat > $TMPC << EOF
+cat > $TMPC << EOF
 
 #ifdef __linux__
 #  define THREAD __thread
 #else
 #  define THREAD
 #endif
-
 static THREAD int tls_var;
-
 int main(void) { return tls_var; }
-
 EOF
-  # check we support --no-pie first...
-  if compile_prog "-Werror -fno-pie" "-no-pie"; then
-    CFLAGS_NOPIE="-fno-pie"
-    LDFLAGS_NOPIE="-nopie"
-  fi
 
+# Check we support --no-pie first; we will need this for building ROMs.
+if compile_prog "-Werror -fno-pie" "-no-pie"; then
+  CFLAGS_NOPIE="-fno-pie"
+  LDFLAGS_NOPIE="-no-pie"
+fi
+
+if test "$pie" != "no" ; then
   if compile_prog "-fPIE -DPIE" "-pie"; then
     QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS"
     QEMU_LDFLAGS="-pie $QEMU_LDFLAGS"
-- 
2.20.1



  parent reply	other threads:[~2020-03-27 22:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-27 22:03 [PATCH for-5.0 v3 0/7] configure: Improve PIE and other linkage Richard Henderson
2020-03-27 22:03 ` [PATCH for-5.0 v3 1/7] configure: Drop adjustment of textseg Richard Henderson
2020-03-27 22:03 ` [PATCH for-5.0 v3 2/7] tcg: Remove softmmu code_gen_buffer fixed address Richard Henderson
2020-03-27 22:03 ` [PATCH for-5.0 v3 3/7] configure: Do not force pie=no for non-x86 Richard Henderson
2020-03-27 22:03 ` Richard Henderson [this message]
2020-03-30  9:24   ` [PATCH for-5.0 v3 4/7] configure: Always detect -no-pie toolchain support Alex Bennée
2020-03-27 22:03 ` [PATCH for-5.0 v3 5/7] configure: Unnest detection of -z, relro and -z, now Richard Henderson
2020-03-27 22:03 ` [PATCH for-5.0 v3 6/7] configure: Override the os default with --disable-pie Richard Henderson
2020-03-27 22:03 ` [PATCH for-5.0 v3 7/7] configure: Support -static-pie if requested Richard Henderson

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=20200327220353.27233-5-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=dim@FreeBSD.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=roger.pau@citrix.com \
    --cc=thuth@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).