2013-12-30 Magnus Granberg * gcc/configure.ac Add --enable-esp and define ENABLE_ESP. Check if we support crtbeginP and define ENABLE_CRTBEGINP. * gcc/configure Regenerated --- a/gcc/configure.ac 2011-11-18 11:52:32.000000000 +0100 +++ b/gcc/configure.ac 2012-10-02 17:39:15.649526241 +0200 @@ -5130,6 +5237,55 @@ if test x"${LINKER_HASH_STYLE}" != x; th [The linker hash style]) fi +# -------------- +# Esp checks +# -------------- + +# Check whether --enable-esp was given and target have the support. +AC_ARG_ENABLE([esp], +[AS_HELP_STRING([--enable-esp], + [Enable Stack protector and Position independent executable as + default if we have suppot for it when compiling + and link with -z now as default. + Linux targets supported i*86, x86_64, x32, + powerpc, powerpc64, ia64, arm and mips.])], + enable_esp=$enableval, + enable_esp=no) +if test $enable_esp = yes ; then + AC_MSG_CHECKING(if $target support esp) + case "$target" in + i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips-*-linux* | arm*-*-linux* | ia64-*-linux*) + enable_esp=yes + AC_DEFINE(ENABLE_ESP, 1, + [Define if your target support esp and you have enable it.]) + ;; + *) + enable_esp=no + ;; + esac +AC_MSG_RESULT($enable_esp) +fi +AC_SUBST([enable_esp]) +if test $enable_esp = yes ; then + AC_MSG_CHECKING(checking for crtbeginP.o support) + if test x$enable_esp = xyes ; then + case "$target" in + ia64*-*-linux*) + enable_crtbeginP=no ;; + *-*-linux*) + if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then + enable_crtbeginP=yes + AC_DEFINE(ENABLE_CRTBEGINP, 1, + [Define if your compiler will support crtbeginP.]) + fi + ;; + *) enable_crtbeginP=no ;; + esac + fi + AC_MSG_RESULT($enable_crtbeginP) +fi +AC_SUBST([enable_crtbeginP]) + # Configure the subdirectories # AC_CONFIG_SUBDIRS($subdirs) --- a/gcc/configure 2013-02-01 21:26:24.000000000 +0100 +++ b/gcc/configure 2013-02-12 01:59:20.000000000 +0100 @@ -600,6 +600,8 @@ ac_subst_vars='LTLIBOBJS LIBOBJS PICFLAG +enable_crtbeginP +enable_esp enable_host_shared enable_plugin pluginlibs @@ -920,6 +922,7 @@ enable_plugin enable_libquadmath_support with_linker_hash_style +enable_esp ' ac_precious_vars='build_alias host_alias @@ -1633,6 +1636,11 @@ --enable-plugin enable plugin support --disable-libquadmath-support disable libquadmath support for Fortran + --enable-esp Enable Stack protector and Position independent + executable as default if we have suppot for it when + compiling and link with -z now as default. + Linux targets supported i*86, x86_64, x32, + powerpc, powerpc64, ia64, arm and mips. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -27419,6 +27427,59 @@ fi +# -------------- +# Esp checks +# -------------- + +# Check whether --enable-esp was given and target have the support. +# Check whether --enable-esp was given. +if test "${enable_esp+set}" = set; then : + enableval=$enable_esp; enable_esp=$enableval +else + enable_esp=no +fi + +if test $enable_esp = yes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $target support esp" >&5 +$as_echo_n "checking if $target support esp... " >&6; } + case "$target" in + i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips*-*-linux* | arm*-*-linux* | ia64-*-linux*) + enable_esp=yes + +$as_echo "#define ENABLE_ESP 1" >>confdefs.h + + ;; + *) + enable_esp=no + ;; + esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_esp" >&5 +$as_echo "$enable_esp" >&6; } +fi + +if test $enable_esp = yes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking checking for crtbeginP.o support" >&5 +$as_echo_n "checking checking for crtbeginP.o support... " >&6; } + if test x$enable_esp = xyes ; then + case "$target" in + ia64*-*-linux*) + enable_crtbeginP=no ;; + *-*-linux*) + if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then + enable_crtbeginP=yes + +$as_echo "#define ENABLE_CRTBEGINP 1" >>confdefs.h + + fi + ;; + *) enable_crtbeginP=no ;; + esac + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_crtbeginP" >&5 +$as_echo "$enable_crtbeginP" >&6; } +fi + + # Configure the subdirectories # AC_CONFIG_SUBDIRS($subdirs)