loader: Force building the main loader as PIE on 64-bit.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55050
This commit is contained in:
Alexandre Julliard 2023-06-19 16:32:37 +02:00
parent 718068c42c
commit 78ed343842
3 changed files with 3 additions and 30 deletions

29
configure vendored
View file

@ -10342,34 +10342,7 @@ then :
fi
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-pie" >&5
printf %s "checking whether the compiler supports -Wl,-pie... " >&6; }
if test ${ac_cv_cflags__Wl__pie+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_wine_try_cflags_saved=$CFLAGS
CFLAGS="$CFLAGS -Wl,-pie"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int main(int argc, char **argv) { return 0; }
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_cflags__Wl__pie=yes
else $as_nop
ac_cv_cflags__Wl__pie=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$ac_wine_try_cflags_saved
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__pie" >&5
printf "%s\n" "$ac_cv_cflags__Wl__pie" >&6; }
if test "x$ac_cv_cflags__Wl__pie" = xyes
then :
WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-pie"
fi
WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -pie"
;;
esac
;;

View file

@ -787,8 +787,7 @@ case $host_os in
[WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
;;
*)
WINE_TRY_CFLAGS([-Wl,-pie],
[WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-pie"])
WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -pie"
;;
esac
;;

View file

@ -12,6 +12,7 @@ SOURCES = \
PROGRAMS = $(WINELOADER_PROGRAMS)
INSTALL_LIB = $(WINELOADER_PROGRAMS)
UNIX_CFLAGS = -fPIE
preloader_EXTRADEFS = -fno-builtin