configure: clean up PIE option handling
Keep together all the conditions that lead to disabling PIE. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
39fb3cfc28
commit
2e938a9a61
35
configure
vendored
35
configure
vendored
@ -373,17 +373,6 @@ else
|
|||||||
targetos=bogus
|
targetos=bogus
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# OS specific
|
|
||||||
|
|
||||||
case $targetos in
|
|
||||||
windows)
|
|
||||||
pie="no"
|
|
||||||
;;
|
|
||||||
haiku)
|
|
||||||
pie="no"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test ! -z "$cpu" ; then
|
if test ! -z "$cpu" ; then
|
||||||
# command line argument
|
# command line argument
|
||||||
:
|
:
|
||||||
@ -1088,19 +1077,23 @@ static THREAD int tls_var;
|
|||||||
int main(void) { return tls_var; }
|
int main(void) { return tls_var; }
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if test "$static" = "yes"; then
|
if test "$targetos" = windows || test "$targetos" = haiku; then
|
||||||
if test "$pie" != "no" && compile_prog "-Werror -fPIE -DPIE" "-static-pie"; then
|
if test "$pie" = "yes"; then
|
||||||
|
error_exit "PIE not available due to missing OS support"
|
||||||
|
fi
|
||||||
|
pie=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$pie" != "no"; then
|
||||||
|
if test "$static" = "yes"; then
|
||||||
|
pie_ldflags=-static-pie
|
||||||
|
else
|
||||||
|
pie_ldflags=-pie
|
||||||
|
fi
|
||||||
|
if compile_prog "-Werror -fPIE -DPIE" "$pie_ldflags"; then
|
||||||
pie="yes"
|
pie="yes"
|
||||||
elif test "$pie" = "yes"; then
|
elif test "$pie" = "yes"; then
|
||||||
error_exit "-static-pie not available due to missing toolchain support"
|
error_exit "-static-pie not available due to missing toolchain support"
|
||||||
else
|
|
||||||
pie="no"
|
|
||||||
fi
|
|
||||||
elif test "$pie" != "no"; then
|
|
||||||
if compile_prog "-Werror -fPIE -DPIE" "-pie"; then
|
|
||||||
pie="yes"
|
|
||||||
elif test "$pie" = "yes"; then
|
|
||||||
error_exit "PIE not available due to missing toolchain support"
|
|
||||||
else
|
else
|
||||||
echo "Disabling PIE due to missing toolchain support"
|
echo "Disabling PIE due to missing toolchain support"
|
||||||
pie="no"
|
pie="no"
|
||||||
|
Loading…
Reference in New Issue
Block a user