[GHC] #14291: Tests tend to fail in the ext-interp when testing a tree built with a source distribution
GHC
ghc-devs at haskell.org
Wed Sep 27 17:30:41 UTC 2017
#14291: Tests tend to fail in the ext-interp when testing a tree built with a
source distribution
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.4.1
Component: Compiler | Version: 8.2.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking: 13716
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
Well, unsurprisingly, the culprit is actually not the fact that the
compiler was built from a source tarball. Doing the build on the git tree
gives the same result. I suspect the problem is rather that the `validate`
build flavour isn't being used since I didn't provide a `build.mk`. Here
are some relevant settings from the two configurations,
No `build.mk`:
{{{
DYNAMIC_BY_DEFAULT="NO"
DYNAMIC_GHC_PROGRAMS="YES"
GhcLibHcOpts="-O2"
GhcRtsCcOpts="-O2 -fomit-frame-pointer -g"
GhcRtsHcOpts="-O2 -Wcpp-undef"
GhcStage1HcOpts=" -Wcpp-undef"
GhcStage2HcOpts="-O2 -Wcpp-undef"
SplitObjs="NO"
SplitSections="YES"
SRC_HC_OPTS="-H32m -O -Wall"
SRC_HC_OPTS_STAGE1=" "
}}}
Validate:
{{{
DYNAMIC_BY_DEFAULT="NO"
DYNAMIC_GHC_PROGRAMS="YES"
GhcLibHcOpts="-O -dcore-lint -dno-debug-output"
GhcRtsCcOpts="-O2 -fomit-frame-pointer -g"
GhcRtsHcOpts="-O2"
GhcStage1HcOpts="-O -DDEBUG"
GhcStage2HcOpts="-O -dcore-lint -dno-debug-output"
SplitObjs="NO"
SplitSections="NO"
SRC_HC_OPTS="-O0 -H64m -Wall"
SRC_HC_OPTS_STAGE1="-fllvm-fill-undef-with-garbage -Werror"
}}}
These differ as follows,
{{{#!diff
--- good 2017-09-27 13:27:52.809897224 -0400
+++ bad 2017-09-27 13:28:01.425893705 -0400
@@ -1,11 +1,11 @@
DYNAMIC_BY_DEFAULT="NO"
DYNAMIC_GHC_PROGRAMS="YES"
-GhcLibHcOpts="-O -dcore-lint -dno-debug-output"
+GhcLibHcOpts="-O2"
GhcRtsCcOpts="-O2 -fomit-frame-pointer -g"
-GhcRtsHcOpts="-O2"
-GhcStage1HcOpts="-O -DDEBUG"
-GhcStage2HcOpts="-O -dcore-lint -dno-debug-output"
+GhcRtsHcOpts="-O2 -Wcpp-undef"
+GhcStage1HcOpts=" -Wcpp-undef"
+GhcStage2HcOpts="-O2 -Wcpp-undef"
SplitObjs="NO"
-SplitSections="NO"
-SRC_HC_OPTS="-O0 -H64m -Wall"
-SRC_HC_OPTS_STAGE1="-fllvm-fill-undef-with-garbage -Werror"
+SplitSections="YES"
+SRC_HC_OPTS="-H32m -O -Wall"
+SRC_HC_OPTS_STAGE1=" "
}}}
There are a number of differences here. However, what catches my eye most
is `SplitSections` since this sort of crash is often due to linker issues.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14291#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list