[
case $$1 in
i386-apple-darwin|powerpc-apple-darwin)
- $2="$$2 -m32"
- $3="$$3 -m32"
+ # 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
])
# 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
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