On 14 November 2011 15:31, Avi Kivity <a...@redhat.com> wrote:
> @@ -1099,6 +1099,22 @@ for flag in $gcc_flags; do
>     fi
>  done
>
> +if test "$pie" = "yes" ; then
> +  cat > $TMPC << EOF
> +int main(void) { return 0; }
> +EOF
> +  if compile_prog "-fPIE -dPIE" "-Wl,-pie"; then

Surely "-DPIE" ?
gcc complains in the config.log:
cc1: warning: unrecognized gcc debugging option: E

> +    QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS"
> +    LDFLAGS="-Wl,-pie $LDFLAGS"
> +    if compile_prog "-fPIE -DPIE" "-Wl,-pie -Wl,-z,relro -Wl,-z,now"; then
> +      LDFLAGS="-Wl,-z,relro -Wl,-z,now $LDFLAGS"
> +    fi
> +  else
> +    echo "Diabling PIE due missing toolchain support"

"Disabling". "due to".

Something in this patch is causing problems if you configure
with --target-list=arm-linux-user --static. configure complains:
./configure: 1159: /tmp/qemu-conf--25989-.exe: not found

because something about how we've built the test executable for
the endianness test means it compiled successfully but won't
run:
cam-vm-266:maverick:qemu$ file /tmp/qemu-conf--25297-.exe
/tmp/qemu-conf--25297-.exe: ELF 32-bit LSB shared object, Intel 80386,
version 1 (GNU/Linux), dynamically linked (uses shared libs), for
GNU/Linux 2.6.15, not stripped
cam-vm-266:maverick:qemu$ ldd /tmp/qemu-conf--25297-.exe
        statically linked
cam-vm-266:maverick:qemu$ /tmp/qemu-conf--25297-.exe
-bash: /tmp/qemu-conf--25297-.exe: No such file or directory

If you let it go ahead and build the whole arm-linux-user/qemu-arm
binary then that has the same problem: it won't run.

...and this is all just on x86-32 hosts!

-- PMM

Reply via email to