mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-09 21:45:28 +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)
|
||||||
static="yes"
|
static="yes"
|
||||||
LDFLAGS="-static $LDFLAGS"
|
|
||||||
;;
|
;;
|
||||||
--enable-debug-tcg) debug_tcg="yes"
|
--enable-debug-tcg) debug_tcg="yes"
|
||||||
;;
|
;;
|
||||||
|
@ -841,10 +840,8 @@ fi
|
||||||
|
|
||||||
# Static linking is not possible with modules or PIE
|
# Static linking is not possible with modules or PIE
|
||||||
if test "$static" = "yes" ; then
|
if test "$static" = "yes" ; then
|
||||||
if test "$pie" = "yes" ; then
|
if test "$modules" = "yes" ; then
|
||||||
error_exit "static and pie are mutually incompatible"
|
error_exit "static and modules are mutually incompatible"
|
||||||
else
|
|
||||||
pie="no"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -865,7 +862,18 @@ if compile_prog "-Werror -fno-pie" "-no-pie"; then
|
||||||
LDFLAGS_NOPIE="-no-pie"
|
LDFLAGS_NOPIE="-no-pie"
|
||||||
fi
|
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_CFLAGS="$CFLAGS_NOPIE $QEMU_CFLAGS"
|
||||||
QEMU_LDFLAGS="$LDFLAGS_NOPIE $QEMU_LDFLAGS"
|
QEMU_LDFLAGS="$LDFLAGS_NOPIE $QEMU_LDFLAGS"
|
||||||
elif compile_prog "-fPIE -DPIE" "-pie"; then
|
elif compile_prog "-fPIE -DPIE" "-pie"; then
|
||||||
|
|
Loading…
Reference in a new issue