summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorRichard Henderson2019-12-18 02:15:01 +0100
committerRichard Henderson2020-03-28 22:09:45 +0100
commit2c674109c2da3f2e17b69f39e0b93b3f3d3dfa59 (patch)
tree6181c609545518ef5e71a5cc726c437ce993834b /configure
parentconfigure: Unnest detection of -z,relro and -z,now (diff)
downloadqemu-2c674109c2da3f2e17b69f39e0b93b3f3d3dfa59.tar.gz
qemu-2c674109c2da3f2e17b69f39e0b93b3f3d3dfa59.tar.xz
qemu-2c674109c2da3f2e17b69f39e0b93b3f3d3dfa59.zip
configure: Override the os default with --disable-pie
Some distributions, e.g. Ubuntu 19.10, enable PIE by default. If for some reason one wishes to build a non-pie binary, we must provide additional options to override. At the same time, reorg the code to an elif chain. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- v3: Update for QEMU_LDFLAGS.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure25
1 files changed, 12 insertions, 13 deletions
diff --git a/configure b/configure
index 1e622f5acb..481d5077f7 100755
--- a/configure
+++ b/configure
@@ -2124,19 +2124,18 @@ if compile_prog "-Werror -fno-pie" "-no-pie"; then
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"
- pie="yes"
- else
- if test "$pie" = "yes"; then
- error_exit "PIE not available due to missing toolchain support"
- else
- echo "Disabling PIE due to missing toolchain support"
- pie="no"
- fi
- fi
+if test "$pie" = "no"; then
+ QEMU_CFLAGS="$CFLAGS_NOPIE $QEMU_CFLAGS"
+ QEMU_LDFLAGS="$LDFLAGS_NOPIE $QEMU_LDFLAGS"
+elif compile_prog "-fPIE -DPIE" "-pie"; then
+ QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS"
+ QEMU_LDFLAGS="-pie $QEMU_LDFLAGS"
+ pie="yes"
+elif test "$pie" = "yes"; then
+ error_exit "PIE not available due to missing toolchain support"
+else
+ echo "Disabling PIE due to missing toolchain support"
+ pie="no"
fi
# Detect support for PT_GNU_RELRO + DT_BIND_NOW.