Make another parse error more informative
[ghc-hetmet.git] / aclocal.m4
index 53bd165..5358cc2 100644 (file)
@@ -962,6 +962,9 @@ AC_SUBST([GhcPkgCmd])
 # reordering things in the module and confusing the manger and/or splitter.
 # (eg. Trac #1427)
 #
+# If gcc knows about the stack protector, turn it off.
+# Otherwise the stack-smash handler gets triggered.
+#
 AC_DEFUN([FP_GCC_EXTRA_FLAGS],
 [AC_REQUIRE([FP_HAVE_GCC])
 AC_CACHE_CHECK([for extra options to pass gcc when compiling via C], [fp_cv_gcc_extra_opts],
@@ -987,6 +990,12 @@ AC_CACHE_CHECK([for extra options to pass gcc when compiling via C], [fp_cv_gcc_
       [])
   ;;
  esac
+ echo 'int main(void) {return 0;}' > conftest.c
+ if $CC -c conftest.c -fno-stack-protector > /dev/null 2>&1
+ then
+     fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fno-stack-protector"
+ fi
+ rm conftest.c conftest.o
 ])
 AC_SUBST([GccExtraViaCOpts],$fp_cv_gcc_extra_opts)
 ])