Richard Henderson <richard.hender...@linaro.org> writes:
> 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: Philippe Mathieu-Daudé <phi...@redhat.com> > Reviewed-by: Thomas Huth <th...@redhat.com> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > --- > configure | 25 ++++++++++++------------- > 1 file changed, 12 insertions(+), 13 deletions(-) > > diff --git a/configure b/configure > index 2503288654..f6ff079fab 100755 > --- a/configure > +++ b/configure > @@ -2035,19 +2035,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" > - LDFLAGS="-pie $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" > + LDFLAGS="$LDFLAGS_NOPIE $LDFLAGS" > +elif compile_prog "-fPIE -DPIE" "-pie"; then > + QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS" > + LDFLAGS="-pie $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. -- Alex Bennée