Add backwards compat support for gcc-3.x ssp ... older ssp versions used __guard and __stack_smash_handler symbols while gcc-4.1 and newer uses __stack_chk_guard and __stack_chk_fail. --- config.h.in +++ config.h.in @@ -42,6 +42,9 @@ assembler instructions per line. Default is `;' */ #undef ASM_LINE_SEP +/* Define if we want to enable support for old ssp symbols */ +#undef ENABLE_OLD_SSP_COMPAT + /* Define if not using ELF, but `.init' and `.fini' sections are available. */ #undef HAVE_INITFINI --- configure +++ configure @@ -1378,6 +1378,9 @@ Optional Features: --enable-kernel=VERSION compile for compatibility with kernel not older than VERSION --enable-all-warnings enable all useful warnings gcc can issue + --disable-old-ssp-compat + enable support for older ssp symbols + [default=no] --enable-multi-arch enable single DSO with optimizations for multiple architectures --enable-experimental-malloc @@ -6462,6 +6465,20 @@ fi $as_echo "$libc_cv_ssp" >&6; } +# Check whether --enable-old-ssp-compat or --disable-old-ssp-compat was given. +if test "${enable_old_ssp_compat+set}" = set; then + enableval="$enable_old_ssp_compat" + enable_old_ssp_compat=$enableval +else + enable_old_ssp_compat=no +fi; +if test "x$enable_old_ssp_compat" = "xyes"; then + cat >>confdefs.h <<\_ACEOF +#define ENABLE_OLD_SSP_COMPAT 1 +_ACEOF + +fi + { $as_echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5 $as_echo_n "checking for -fgnu89-inline... " >&6; } if test "${libc_cv_gnu89_inline+set}" = set; then --- configure.in +++ configure.in @@ -1641,6 +1641,15 @@ fi rm -f conftest*]) AC_SUBST(libc_cv_ssp) +AC_ARG_ENABLE([old-ssp-compat], + AC_HELP_STRING([--enable-old-ssp-compat], + [enable support for older ssp symbols @<:@default=no@:>@]), + [enable_old_ssp_compat=$enableval], + [enable_old_ssp_compat=no]) +if test "x$enable_old_ssp_compat" = "xyes"; then + AC_DEFINE(ENABLE_OLD_SSP_COMPAT) +fi + AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl cat > conftest.c <