From 7d7d12137c666761a8dd61179c9651b85dae9b41 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Sat, 7 Nov 2015 02:08:05 +0000 Subject: [PATCH 13/35] nopie --- gcc/configure | 27 +++++++++++++++++++++++++++ gcc/configure.ac | 13 +++++++++++++ 2 files changed, 40 insertions(+) diff --git a/gcc/configure b/gcc/configure index 23da7d55d..f38732bb2 100755 --- a/gcc/configure +++ b/gcc/configure @@ -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 $as_echo "$gcc_cv_no_pie" >&6; } +# Check if -nopie works. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -nopie option" >&5 +$as_echo_n "checking for -nopie option... " >&6; } +if ${gcc_cv_nopie+:} false; then : + $as_echo_n "(cached) " >&6 +else + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -nopie" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* 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 + LDFLAGS="$saved_LDFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_nopie" >&5 +$as_echo "$gcc_cv_nopie" >&6; } 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 diff --git a/gcc/configure.ac b/gcc/configure.ac index d7cf0b92c..db2e2c802 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option], [gcc_cv_no_pie=yes], [gcc_cv_no_pie=no]) LDFLAGS="$saved_LDFLAGS"]) +# 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"]) 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 -- 2.41.0