summaryrefslogtreecommitdiff
path: root/util/mkelfImage/configure.ac
diff options
context:
space:
mode:
authorRaymond Danks <raymonddanks@gmail.com>2011-09-03 21:45:38 -0600
committerPeter Stuge <peter@stuge.se>2011-09-24 12:55:26 +0200
commit62ff00e13f3fb349bb8ce3065f6915448bfd875e (patch)
treed1b7cf70d533cd4d90f0007cda5e3a2be0caf2c5 /util/mkelfImage/configure.ac
parent03f82bd787833db4c341a129a3329ea0aead6235 (diff)
downloadcoreboot-62ff00e13f3fb349bb8ce3065f6915448bfd875e.tar.xz
mkelfImage: Use -fno-stack-protector if supported by gcc
Gcc 4.1 comes with an SSP https://wiki.ubuntu.com/GccSsp This is disabled to work around '__stack_chk_fail' symbol not found failures http://www.coreboot.org/FAQ/Obsolete#How_do_I_fix_stack_chk_fail_errors.3F The presence of -fno-stack-protector is tested for automatically by configure. Change-Id: I28ef158829f5935f985cfd5a5440733685cf479a Reported-by: Raymond Danks <raymonddanks@gmail.com> Signed-off-by: Raymond Danks <raymonddanks@gmail.com> Reviewed-on: http://review.coreboot.org/112 Tested-by: build bot (Jenkins) Reviewed-by: Peter Stuge <peter@stuge.se>
Diffstat (limited to 'util/mkelfImage/configure.ac')
-rw-r--r--util/mkelfImage/configure.ac21
1 files changed, 21 insertions, 0 deletions
diff --git a/util/mkelfImage/configure.ac b/util/mkelfImage/configure.ac
index 7aebd36e54..a7fc37ecf2 100644
--- a/util/mkelfImage/configure.ac
+++ b/util/mkelfImage/configure.ac
@@ -186,6 +186,27 @@ IA64_ASFLAGS='-mconstant-gp -mauto-pic'
IA64_LDFLAGS='-static --warn-multiple-gp --warn-common'
AC_SUBST([HOST_CC])
+
+AC_CACHE_CHECK(for -fno-stack-protector, libc_cv_fno_stack_protector, [
+cat > conftest.c <<EOF
+int foo;
+main () { return 0;}
+EOF
+if AC_TRY_COMMAND([$I386_CC -fno-stack-protector
+ -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_fno_stack_protector=yes
+else
+ libc_cv_fno_stack_protector=no
+fi
+rm -f conftest*])
+if test $libc_cv_fno_stack_protector = yes; then
+ I386_CFLAGS="$I386_CFLAGS -fno-stack-protector"
+ IA64_CFLAGS="$IA64_CFLAGS -fno-stack-protector"
+
+fi
+AC_SUBST(libc_cv_fno_stack_protector)
+
AC_SUBST([HOST_CFLAGS])
AC_SUBST([I386_CC])