Commit 6fe23554 authored by Erik de Castro Lopo's avatar Erik de Castro Lopo

configure.ac: Remove checks for bug 9439

Bug #9439 only affects some ghc 7.8 versions of the compiler and since
git HEAD no longer builds with ghc-7.8 we can drop this check.

Test Plan: Works here!

Reviewers: hvr, austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2427
parent 7a2e933b
......@@ -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 \
......
......@@ -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 --------------------------------------------------------------
......
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