2023-07-17 06:43:13 +00:00
|
|
|
From 7d7d12137c666761a8dd61179c9651b85dae9b41 Mon Sep 17 00:00:00 2001
|
2018-12-12 17:14:55 +00:00
|
|
|
From: Szabolcs Nagy <nsz@port70.net>
|
|
|
|
Date: Sat, 7 Nov 2015 02:08:05 +0000
|
2023-07-25 20:18:13 +00:00
|
|
|
Subject: [PATCH 13/35] nopie
|
2018-12-12 17:14:55 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
gcc/configure | 27 +++++++++++++++++++++++++++
|
|
|
|
gcc/configure.ac | 13 +++++++++++++
|
|
|
|
2 files changed, 40 insertions(+)
|
|
|
|
|
|
|
|
diff --git a/gcc/configure b/gcc/configure
|
2024-08-03 01:47:17 +00:00
|
|
|
index 23da7d55d..f38732bb2 100755
|
2018-12-12 17:14:55 +00:00
|
|
|
--- a/gcc/configure
|
|
|
|
+++ b/gcc/configure
|
2024-08-03 01:47:17 +00:00
|
|
|
@@ -34534,6 +34534,29 @@ rm -f core conftest.err conftest.$ac_objext \
|
|
|
|
fi
|
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
|
2018-12-12 17:14:55 +00:00
|
|
|
$as_echo "$gcc_cv_no_pie" >&6; }
|
2024-08-03 01:47:17 +00:00
|
|
|
+# Check if -nopie works.
|
|
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -nopie option" >&5
|
2018-12-12 17:14:55 +00:00
|
|
|
+$as_echo_n "checking for -nopie option... " >&6; }
|
2024-08-03 01:47:17 +00:00
|
|
|
+if ${gcc_cv_nopie+:} false; then :
|
2018-12-12 17:14:55 +00:00
|
|
|
+ $as_echo_n "(cached) " >&6
|
|
|
|
+else
|
|
|
|
+ saved_LDFLAGS="$LDFLAGS"
|
2024-08-03 01:47:17 +00:00
|
|
|
+ LDFLAGS="$LDFLAGS -nopie"
|
|
|
|
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
2018-12-12 17:14:55 +00:00
|
|
|
+/* end confdefs.h. */
|
|
|
|
+int main(void) {return 0;}
|
|
|
|
+_ACEOF
|
|
|
|
+if ac_fn_cxx_try_link "$LINENO"; then :
|
|
|
|
+ gcc_cv_nopie=yes
|
|
|
|
+else
|
|
|
|
+ gcc_cv_nopie=no
|
|
|
|
+fi
|
|
|
|
+rm -f core conftest.err conftest.$ac_objext \
|
|
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
2024-08-03 01:47:17 +00:00
|
|
|
+ LDFLAGS="$saved_LDFLAGS"
|
2018-12-12 17:14:55 +00:00
|
|
|
+fi
|
|
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_nopie" >&5
|
|
|
|
+$as_echo "$gcc_cv_nopie" >&6; }
|
|
|
|
|
2024-08-03 01:47:17 +00:00
|
|
|
if test x$enable_host_shared = xyes; then
|
|
|
|
PICFLAG=-fPIC
|
|
|
|
@@ -34551,6 +34574,8 @@ if test x$enable_host_pie = xyes; then
|
|
|
|
LD_PICFLAG=-pie
|
|
|
|
elif test x$gcc_cv_no_pie = xyes; then
|
|
|
|
LD_PICFLAG=-no-pie
|
|
|
|
+elif test x$gcc_cv_nopie = xyes; then
|
|
|
|
+ LD_PICFLAG=-nopie
|
|
|
|
else
|
|
|
|
LD_PICFLAG=
|
|
|
|
fi
|
2018-12-12 17:14:55 +00:00
|
|
|
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
2024-08-03 01:47:17 +00:00
|
|
|
index d7cf0b92c..db2e2c802 100644
|
2018-12-12 17:14:55 +00:00
|
|
|
--- a/gcc/configure.ac
|
|
|
|
+++ b/gcc/configure.ac
|
2024-08-03 01:47:17 +00:00
|
|
|
@@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option],
|
|
|
|
[gcc_cv_no_pie=yes],
|
|
|
|
[gcc_cv_no_pie=no])
|
2018-12-12 17:14:55 +00:00
|
|
|
LDFLAGS="$saved_LDFLAGS"])
|
2024-08-03 01:47:17 +00:00
|
|
|
+# Check if -nopie works.
|
|
|
|
+AC_CACHE_CHECK([for -nopie option],
|
|
|
|
+ [gcc_cv_nopie],
|
|
|
|
+ [saved_LDFLAGS="$LDFLAGS"
|
|
|
|
+ LDFLAGS="$LDFLAGS -nopie"
|
|
|
|
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
|
|
|
|
+ [gcc_cv_nopie=yes],
|
|
|
|
+ [gcc_cv_nopie=no])
|
|
|
|
+ LDFLAGS="$saved_LDFLAGS"])
|
2018-12-12 17:14:55 +00:00
|
|
|
|
2024-08-03 01:47:17 +00:00
|
|
|
if test x$enable_host_shared = xyes; then
|
|
|
|
PICFLAG=-fPIC
|
|
|
|
@@ -7798,6 +7807,8 @@ if test x$enable_host_pie = xyes; then
|
|
|
|
LD_PICFLAG=-pie
|
|
|
|
elif test x$gcc_cv_no_pie = xyes; then
|
|
|
|
LD_PICFLAG=-no-pie
|
|
|
|
+elif test x$gcc_cv_nopie = xyes; then
|
|
|
|
+ LD_PICFLAG=-nopie
|
|
|
|
else
|
|
|
|
LD_PICFLAG=
|
|
|
|
fi
|
2023-05-15 08:15:31 +00:00
|
|
|
--
|
2023-06-09 18:45:27 +00:00
|
|
|
2.41.0
|
2023-05-15 08:15:31 +00:00
|
|
|
|