
#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