aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '4.6.3/pie/13_all_gcc46_ssp_uclibc_check.patch')
-rw-r--r--4.6.3/pie/13_all_gcc46_ssp_uclibc_check.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/4.6.3/pie/13_all_gcc46_ssp_uclibc_check.patch b/4.6.3/pie/13_all_gcc46_ssp_uclibc_check.patch
new file mode 100644
index 0000000..c0abb3e
--- /dev/null
+++ b/4.6.3/pie/13_all_gcc46_ssp_uclibc_check.patch
@@ -0,0 +1,68 @@
+2012-04-03 Magnus Granberg <zorry@gentoo.org>
+
+ * gcc/config.in Add define for ENABLE_ESP_SSP
+ * gcc/configure Check SSP for uClibc
+
+--- a/gcc/config.in 2012-04-03 17:44:35.173548352 +0200
++++ b/gcc/config.in 2012-04-03 15:25:23.272299470 +0200
+@@ -89,6 +89,12 @@
+ #endif
+
+
++/* Define to 1 to enable esp ssp. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_ESP_SSP
++#endif
++
++
+ /* Define to 1 to enable fixed-point arithmetic extension to C. */
+ #ifndef USED_FOR_TARGET
+ #undef ENABLE_FIXED_POINT
+--- a/gcc/configure 2012-04-03 17:44:32.793548281 +0200
++++ b/gcc/configure 2012-04-03 17:40:00.000000000 +0200
+@@ -25915,6 +25915,45 @@ _ACEOF
+
+ fi
+
++
++# Check if we have SSP support. if uClibc we need 0.9.32 or newer and TLS.
++echo "$as_me:$LINENO: checking for SSP support" >&5
++echo $ECHO_N "checking for SSP support... $ECHO_C" >&6
++if test "${enable_esp_SSP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test x$enable_esp = xyes && test x$gcc_cv_libc_provides_ssp = xyes \
++ && test x$set_have_as_tls = xyes; then
++ if $EGREP '^[ ]*#[ ]*define[ ]+__UCLIBC__[ ]+1' \
++ $target_header_dir/features.h > /dev/null; then
++ if test -f $target_header_dir/bits/uClibc_config.h && \
++ $EGREP '^[ ]*#[ ]*define[ ]+__UCLIBC_SUBLEVEL__[ ]+([3-9][2-9]|[4-9][0-9])' \
++ $target_header_dir/bits/uClibc_config.h > /dev/null && \
++ $EGREP '^[ ]*#[ ]*define[ ]+__UCLIBC_HAS_TLS__[ ]+1' \
++ $target_header_dir/bits/uClibc_config.h > /dev/null; then
++ enable_esp_SSP=yes
++ else
++ enable_esp_SSP=no
++ fi
++ else
++ enable_esp_SSP=yes
++ fi
++ else
++ enable_esp_SSP=no
++ fi
++fi
++echo "$as_me:$LINENO: result: $enable_esp_SSP" >&5
++echo "${ECHO_T}$enable_esp_SSP" >&6
++
++if test x$$enable_esp_SSP = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define ENABLE_ESP_SSP 1
++_ACEOF
++
++fi
++
++
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
+ # and later they can use TFmode.