#7049 closed bug (fixed)

LLVM backend miscompiles GHC stage2

Reported by: kgardas Owned by: dterei
Priority: normal Milestone: 7.8.1
Component: Compiler (LLVM) Version: 7.5
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Building GHC failed Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

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.

Change History (5)

comment:1 Changed 22 months ago by kgardas

  • Component changed from Compiler to Compiler (LLVM)
  • Owner set to dterei

comment:2 Changed 18 months ago by igloo

  • Difficulty set to Unknown
  • Milestone set to 7.8.1

comment:3 Changed 15 months ago by dterei

  • Status changed from new to infoneeded

kgardas are you able to confirm if this bug still occurs? I've fixed a fair few bugs lately and suspect I may have solved this issue....

comment:4 Changed 15 months ago by kgardas

Hi David, thanks for looking into this old bug, however I'm not able to duplicate this already for some time now. Anyway, I tested on i386-solaris and arm-linux and both were able to build quick-llvm and with arm-linux I've also tested perf-llvm which is IIRC how the bug was found and there is nothing failing. Or better I get to a known failure in ghci which is caused by our not so well ARM support in rts/Linker.c. So please close this. Thanks! Karel

comment:5 Changed 15 months ago by dterei

  • Resolution set to fixed
  • Status changed from infoneeded to closed
Note: See TracTickets for help on using tickets.