aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2019-12-17 13:54:56 -1000
committerRichard Henderson <richard.henderson@linaro.org>2020-03-28 14:09:44 -0700
commitb26341241bbfe9cc126479a0dbed5d40d547f242 (patch)
treeea2bd9d921004856e8f4ac4c10b200908d43c410
parentd2cd29e30736afd4a1e8cac3cf4da360bbc65978 (diff)
downloadqemu-b26341241bbfe9cc126479a0dbed5d40d547f242.zip
qemu-b26341241bbfe9cc126479a0dbed5d40d547f242.tar.gz
qemu-b26341241bbfe9cc126479a0dbed5d40d547f242.tar.bz2
configure: Always detect -no-pie toolchain support
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>
-rwxr-xr-xconfigure18
1 files changed, 8 insertions, 10 deletions
diff --git a/configure b/configure
index d4c2c7a..1cdc439 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"