yann@1201: Original patch from: gentoo/src/patchsets/glibc/2.9/0010_all_glibc-2.7-ssp-compat.patch yann@1201: yann@1201: -= BEGIN original header =- yann@1201: Add backwards compat support for gcc-3.x ssp ... older ssp versions yann@1201: used __guard and __stack_smash_handler symbols while gcc-4.1 and newer yann@1201: uses __stack_chk_guard and __stack_chk_fail. yann@1201: yann@1201: -= END original header =- yann@1201: yann@1201: diff -durN glibc-2_9.orig/Versions.def glibc-2_9/Versions.def yann@1201: --- glibc-2_9.orig/Versions.def 2008-08-01 19:13:40.000000000 +0200 yann@1201: +++ glibc-2_9/Versions.def 2009-02-02 22:00:33.000000000 +0100 yann@1201: @@ -113,6 +113,9 @@ yann@1201: GLIBC_2.0 yann@1201: GLIBC_2.1 yann@1201: GLIBC_2.3 yann@1201: +%ifdef ENABLE_OLD_SSP_COMPAT yann@1201: + GLIBC_2.3.2 yann@1201: +%endif yann@1201: GLIBC_2.4 yann@1201: GLIBC_PRIVATE yann@1201: } yann@1201: diff -durN glibc-2_9.orig/config.h.in glibc-2_9/config.h.in yann@1201: --- glibc-2_9.orig/config.h.in 2007-03-26 22:40:08.000000000 +0200 yann@1201: +++ glibc-2_9/config.h.in 2009-02-02 22:00:32.000000000 +0100 yann@1201: @@ -42,6 +42,9 @@ yann@1201: assembler instructions per line. Default is `;' */ yann@1201: #undef ASM_LINE_SEP yann@1201: yann@1201: +/* Define if we want to enable support for old ssp symbols */ yann@1201: +#undef ENABLE_OLD_SSP_COMPAT yann@1201: + yann@1201: /* Define if not using ELF, but `.init' and `.fini' sections are available. */ yann@1201: #undef HAVE_INITFINI yann@1201: yann@1201: diff -durN glibc-2_9.orig/configure glibc-2_9/configure yann@1201: --- glibc-2_9.orig/configure 2008-11-11 10:50:11.000000000 +0100 yann@1201: +++ glibc-2_9/configure 2009-02-02 22:00:32.000000000 +0100 yann@1201: @@ -1380,6 +1380,9 @@ yann@1201: --enable-kernel=VERSION compile for compatibility with kernel not older than yann@1201: VERSION yann@1201: --enable-all-warnings enable all useful warnings gcc can issue yann@1201: + --disable-old-ssp-compat yann@1201: + enable support for older ssp symbols yann@1201: + [default=no] yann@1201: yann@1201: Optional Packages: yann@1201: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] yann@1201: @@ -6470,6 +6473,20 @@ yann@1201: echo "${ECHO_T}$libc_cv_ssp" >&6; } yann@1201: yann@1201: yann@1201: +# Check whether --enable-old-ssp-compat or --disable-old-ssp-compat was given. yann@1201: +if test "${enable_old_ssp_compat+set}" = set; then yann@1201: + enableval="$enable_old_ssp_compat" yann@1201: + enable_old_ssp_compat=$enableval yann@1201: +else yann@1201: + enable_old_ssp_compat=no yann@1201: +fi; yann@1201: +if test "x$enable_old_ssp_compat" = "xyes"; then yann@1201: + cat >>confdefs.h <<\_ACEOF yann@1201: +#define ENABLE_OLD_SSP_COMPAT 1 yann@1201: +_ACEOF yann@1201: + yann@1201: +fi yann@1201: + yann@1201: { echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5 yann@1201: echo $ECHO_N "checking for -fgnu89-inline... $ECHO_C" >&6; } yann@1201: if test "${libc_cv_gnu89_inline+set}" = set; then yann@1201: diff -durN glibc-2_9.orig/configure.in glibc-2_9/configure.in yann@1201: --- glibc-2_9.orig/configure.in 2008-11-11 10:50:11.000000000 +0100 yann@1201: +++ glibc-2_9/configure.in 2009-02-02 22:00:32.000000000 +0100 yann@1201: @@ -1647,6 +1647,15 @@ yann@1201: rm -f conftest*]) yann@1201: AC_SUBST(libc_cv_ssp) yann@1201: yann@1201: +AC_ARG_ENABLE([old-ssp-compat], yann@1201: + AC_HELP_STRING([--enable-old-ssp-compat], yann@1201: + [enable support for older ssp symbols @<:@default=no@:>@]), yann@1201: + [enable_old_ssp_compat=$enableval], yann@1201: + [enable_old_ssp_compat=no]) yann@1201: +if test "x$enable_old_ssp_compat" = "xyes"; then yann@1201: + AC_DEFINE(ENABLE_OLD_SSP_COMPAT) yann@1201: +fi yann@1201: + yann@1201: AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl yann@1201: cat > conftest.c <