Richard Henderson <richard.hender...@linaro.org> writes:
> 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. But if the compiler doesn't support no-pie it just keeps going on. Should the sub-build be bailing if _NOPIE is empty? > > Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > Reviewed-by: Thomas Huth <th...@redhat.com> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > configure | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/configure b/configure > index 99faf64a74..7a646ec007 100755 > --- a/configure > +++ b/configure > @@ -2018,26 +2018,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" > LDFLAGS="-pie $LDFLAGS" -- Alex Bennée