aboutsummaryrefslogtreecommitdiff
blob: c0abb3e9f97e61fa8f1461784fdc997add59574f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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.