diff options
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | configure.ac | 67 |
2 files changed, 0 insertions, 74 deletions
@@ -77,13 +77,6 @@ default : all help: @cat MAKEHELP.md -# Verify that stage 0 LLVM backend isn't affected by Bug #9439 if needed -ifeq "$(GHC_LLVM_AFFECTED_BY_9439)" "1" -ifneq "$(findstring -fllvm,$(SRC_HC_OPTS) $(GhcHcOpts) $(GhcStage1HcOpts))" "" -$(error Stage 0 compiler is affected by Bug #9439. Refusing to bootstrap with -fllvm) -endif -endif - # No need to update makefiles for these targets: # (the ones we're filtering out) REALGOALS=$(filter-out \ diff --git a/configure.ac b/configure.ac index f4b839e523..e9569e93d8 100644 --- a/configure.ac +++ b/configure.ac @@ -544,73 +544,6 @@ dnl -------------------------------------------------------------- dnl -------------------------------------------------------------- -dnl * General configuration checks -dnl -------------------------------------------------------------- - -dnl ** Bug 9439: Some GHC 7.8 releases had broken LLVM code generator. -dnl Unfortunately we don't know whether the user is going to request a -dnl build with the LLVM backend as this is only given in build.mk. -dnl -dnl Instead, we try to do as much work as possible here, checking -dnl whether -fllvm is the stage 0 compiler's default. If so we -dnl fail. If not, we check whether -fllvm is affected explicitly and -dnl if so set a flag. The build system will later check this flag -dnl after the desired build flags are known. - -dnl This problem is further complicated by the fact that the llvm -dnl version used by the bootstrap compiler may be different from the -dnl version we arre trying to compile GHC against. Therefore, we need -dnl to find the boostrap compiler's `settings` file then check to see -dnl if the `opt` and `llc` command strings are non-empty and if these -dnl programs exist. Only if they exist to we test for bug #9439. - -FIND_GHC_BOOTSTRAP_PROG([BootstrapLlcCmd], [${WithGhc}], "LLVM llc command") -FIND_GHC_BOOTSTRAP_PROG([BootstrapOptCmd], [${WithGhc}], "LLVM opt command") - -if test -n "$BootstrapLlcCmd" && test -n "$BootstrapOptCmd" -then - AC_MSG_CHECKING(whether bootstrap compiler is affected by bug 9439) - echo "main = putStrLn \"%function\"" > conftestghc.hs - - # Check whether LLVM backend is default for this platform - "${WithGhc}" -pgmlc="${BootstrapLlcCmd}" -pgmlo="${BootstrapOptCmd}" conftestghc.hs 2>&1 >/dev/null - res=`./conftestghc` - if test "x$res" = "x%object" - then - AC_MSG_RESULT(yes) - echo "Buggy bootstrap compiler" - echo "" - echo "The stage 0 compiler $WithGhc is affected by GHC Bug \#9439" - echo "and therefore will miscompile the LLVM backend if -fllvm is" - echo "used." - echo - echo "Please use another bootstrap compiler" - exit 1 - fi - - # -fllvm is not the default, but set a flag so the Makefile can check - # -for it in the build flags later on - "${WithGhc}" -fforce-recomp -pgmlc="${BootstrapLlcCmd}" -pgmlo="${BootstrapOptCmd}" -fllvm conftestghc.hs 2>&1 >/dev/null - if test $? = 0 - then - res=`./conftestghc` - if test "x$res" = "x%object" - then - AC_MSG_RESULT(yes) - GHC_LLVM_AFFECTED_BY_9439=1 - elif test "x$res" = "x%function" - then - AC_MSG_RESULT(no) - GHC_LLVM_AFFECTED_BY_9439=0 - else - AC_MSG_WARN(unexpected output $res) - fi - else - AC_MSG_RESULT(failed to compile, assuming no) - fi -fi -AC_SUBST([GHC_LLVM_AFFECTED_BY_9439]) - dnl ** Can the unix package be built? dnl -------------------------------------------------------------- |