X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=aclocal.m4;h=bee5085b4ba5b5b93646235a0d04fa7a7659137a;hp=5358cc2727d265ebd752d8b19fcec45ac5178d6f;hb=9ba922ee06b048774d7a82964867ff768a78126e;hpb=2537fda6092f9dd1599d8246060dbb11778b3639 diff --git a/aclocal.m4 b/aclocal.m4 index 5358cc2..bee5085 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -10,15 +10,28 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS], [ case $$1 in - i386-apple-darwin|powerpc-apple-darwin) - $2="$$2 -m32" - $3="$$3 -m32" + i386-apple-darwin) + # By default, gcc on OS X will generate SSE + # instructions, which need things 16-byte aligned, + # but we don't 16-byte align things. Thus drop + # back to generic i686 compatibility. Trac #2983. + $2="$$2 -march=i686 -m32" + $3="$$3 -march=i686 -m32" ;; x86_64-apple-darwin) $2="$$2 -m64" $3="$$3 -m64" ;; esac + + # If gcc knows about the stack protector, turn it off. + # Otherwise the stack-smash handler gets triggered. + echo 'int main(void) {return 0;}' > conftest.c + if $CC -c conftest.c -fno-stack-protector > /dev/null 2>&1 + then + $2="$$2 -fno-stack-protector" + fi + rm conftest.c conftest.o ]) @@ -141,7 +154,7 @@ AC_DEFUN([FP_COMPUTE_INT], # A variation of AC_CHECK_SIZEOF for computing the alignment restrictions of a # given type. Defines ALIGNMENT_TYPE. AC_DEFUN([FP_CHECK_ALIGNMENT], -[AS_LITERAL_IF([$1], [], +[AS_LITERAL_IF(m4_translit([[$1]], [*], [p]), [], [AC_FATAL([$0: requires literal arguments])])[]dnl AC_CHECK_TYPE([$1], [], [], [$3])[]dnl m4_pushdef([fp_Cache], [AS_TR_SH([fp_cv_alignment_$1])])[]dnl @@ -962,9 +975,6 @@ 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], @@ -990,12 +1000,6 @@ 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) ]) @@ -1262,7 +1266,7 @@ if test ! -f utils/ghc-pwd/ghc-pwd && test ! -f utils/ghc-pwd/ghc-pwd.exe; then rm -f *.hi rm -f ghc-pwd rm -f ghc-pwd.exe - "$WithGhc" -v0 --make ghc-pwd -o ghc-pwd + "$WithGhc" -v0 -no-user-package-conf --make ghc-pwd -o ghc-pwd cd ../.. fi