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