Commit 862106eb authored by Simon Marlow's avatar Simon Marlow

only pass -fno-unit-at-a-time to gcc if it is supported

parent 70dd3e6b
......@@ -1079,13 +1079,24 @@ AC_SUBST([GhcHasReadline], [`echo $fp_cv_ghc_has_readline | sed 'y/yesno/YESNO/'
AC_DEFUN([FP_GCC_NEEDS_NO_OMIT_LFPTR],
[AC_REQUIRE([FP_HAVE_GCC])
AC_CACHE_CHECK([whether gcc needs -mno-omit-leaf-frame-pointer], [fp_cv_gcc_needs_no_omit_lfptr],
[FP_COMPARE_VERSIONS([$gcc_version_str], [-ge], [3.2],
[FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.2],
[fp_cv_gcc_needs_no_omit_lfptr=yes],
[fp_cv_gcc_needs_no_omit_lfptr=no])])
if test "$fp_cv_gcc_needs_no_omit_lfptr" = "yes"; then
AC_DEFINE([HAVE_GCC_MNO_OMIT_LFPTR], [1], [Define to 1 if gcc supports -mno-omit-leaf-frame-pointer.])
fi])# FP_GCC_NEEDS_NO_OMIT_LFPTR
# FP_GCC_HAS_NO_UNIT_AT_A_TIME
# --------------------------
AC_DEFUN([FP_GCC_HAS_NO_UNIT_AT_A_TIME],
[AC_REQUIRE([FP_HAVE_GCC])
AC_CACHE_CHECK([whether gcc has -fno-unit-at-a-time], [fp_cv_gcc_has_no_unit_at_a_time],
[FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.4],
[fp_cv_gcc_has_no_unit_at_a_time=yes],
[fp_cv_gcc_has_no_unit_at_a_time=no])])
if test "$fp_cv_gcc_has_no_unit_at_a_time" = "yes"; then
AC_DEFINE([HAVE_GCC_HAS_NO_UNIT_AT_A_TIME], [1], [Define to 1 if gcc supports -fno-unit-at-a-time.])
fi])
# FP_SETUP_PROJECT_VERSION
# ---------------------
......
......@@ -1267,11 +1267,13 @@ machdepCCOpts dflags
-- and get in the way of -split-objs. Another option
-- would be to throw them away in the mangler, but this
-- is easier.
#ifdef HAVE_GCC_HAS_NO_UNIT_AT_A_TIME
"-fno-unit-at-a-time",
-- unit-at-a-time doesn't do us any good, and screws
-- up -split-objs by moving the split markers around.
-- It's only turned on with -O2, but put it here just
-- in case someone uses -optc-O2.
#endif
"-fno-builtin"
-- calling builtins like strlen() using the FFI can
-- cause gcc to run out of regs, so use the external
......
......@@ -844,6 +844,7 @@ dnl
FP_HAVE_GCC
FP_MINGW_GCC
FP_GCC_NEEDS_NO_OMIT_LFPTR
FP_GCC_HAS_NO_UNIT_AT_A_TIME
dnl ** figure out how to invoke cpp directly (gcc -E is no good)
AC_PROG_CPP
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment