mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-08 22:25:27 +00:00
configure: Support -static-pie if requested
Recent toolchains support static and pie at the same time. As with normal dynamic builds, allow --static to default to PIE if supported by the toolchain. Allow --enable/--disable-pie to override the default. Backports commit 127814629b32d5e0de2873d742e08cb9bd412af7 from qemu
This commit is contained in:
parent
f08ba73e78
commit
224f35b48e
20
qemu/configure
vendored
20
qemu/configure
vendored
|
@ -556,7 +556,6 @@ for opt do
|
|||
;;
|
||||
--static)
|
||||
static="yes"
|
||||
LDFLAGS="-static $LDFLAGS"
|
||||
;;
|
||||
--enable-debug-tcg) debug_tcg="yes"
|
||||
;;
|
||||
|
@ -841,10 +840,8 @@ fi
|
|||
|
||||
# Static linking is not possible with modules or PIE
|
||||
if test "$static" = "yes" ; then
|
||||
if test "$pie" = "yes" ; then
|
||||
error_exit "static and pie are mutually incompatible"
|
||||
else
|
||||
pie="no"
|
||||
if test "$modules" = "yes" ; then
|
||||
error_exit "static and modules are mutually incompatible"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -865,7 +862,18 @@ if compile_prog "-Werror -fno-pie" "-no-pie"; then
|
|||
LDFLAGS_NOPIE="-no-pie"
|
||||
fi
|
||||
|
||||
if test "$pie" = "no"; then
|
||||
if test "$static" = "yes"; then
|
||||
if test "$pie" != "no" && compile_prog "-fPIE -DPIE" "-static-pie"; then
|
||||
QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS"
|
||||
QEMU_LDFLAGS="-static-pie $QEMU_LDFLAGS"
|
||||
pie="yes"
|
||||
elif test "$pie" = "yes"; then
|
||||
error_exit "-static-pie not available due to missing toolchain support"
|
||||
else
|
||||
QEMU_LDFLAGS="-static $QEMU_LDFLAGS"
|
||||
pie="no"
|
||||
fi
|
||||
elif test "$pie" = "no"; then
|
||||
QEMU_CFLAGS="$CFLAGS_NOPIE $QEMU_CFLAGS"
|
||||
QEMU_LDFLAGS="$LDFLAGS_NOPIE $QEMU_LDFLAGS"
|
||||
elif compile_prog "-fPIE -DPIE" "-pie"; then
|
||||
|
|
Loading…
Reference in a new issue