LLVM backend miscompiles GHC stage2
Hello,
I've been hunting issue where ghc-stage2 fails with
"inplace/bin/ghc-stage2" -H32m -O -hide-all-packages -i -iutils/haddock/src -iutils/haddock/dist/build -iutils/haddock/dist/build/autogen -Iutils/haddock/dist/build -Iutils/haddock/dist/build/autogen -optP-DIN_GHC_TREE -optP-include -optPutils/haddock/dist/build/autogen/cabal_macros.h -package Cabal-1.15.0 -package array-0.3.0.3 -package base-4.6.0.0 -package containers-0.5.0.0 -package directory-1.1.0.1 -package filepath-1.2.0.1 -package ghc-7.5.20120703 -package pretty-1.1.1.0 -package xhtml-3000.2.0.5 -funbox-strict-fields -O2 -Wall -fwarn-tabs -XHaskell2010 -XCPP -XDeriveDataTypeable -XScopedTypeVariables -XMagicHash -no-user-package-db -rtsopts -odir utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir utils/haddock/dist/build -hisuf hi -osuf o -hcsuf hc -c utils/haddock/src/Haddock/GhcUtils.hs -o utils/haddock/dist/build/Haddock/GhcUtils.o
utils/haddock/src/Haddock/GhcUtils.hs:274:21:
Illegal record syntax (use -XTraditionalRecordSyntax): d {objectDir = Just
f}
make[1]: *** [utils/haddock/dist/build/Haddock/GhcUtils.o] Error 1
from time to time. It happens on ARM builder: http://darcs.haskell.org/ghcBuilder/builders/kgardas-linux-arm-head/ since build 9. Build 8 was OK. I've been trying to find the precise patch which causes the failure but so far not successful on this. I just suspect the set of patches which happens between those two builds on libraries/containers. Anyway, this is just an issue trigger. The real issue is not on ARM, but probably in LLVM or LLVM backend as I've been also able yesterday to duplicate exactly the same issue on my opensolaris/x86 host while performing perf-llvm build flavor. This is also probably the reason only ARM builder caught this issue as all others are using NCG for building GHC stage2 by default.
Last note: this is a regression from 7.4.x branch.
Trac metadata
Trac field | Value |
---|---|
Version | 7.5 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |