Skip to content

64 bit windows executable built with ghc-7.9.20140405+LLVM segfaults

-- test.hs
import System.Mem (performMajorGC)

main = performMajorGC >> putStrLn "Done"

built with ghc -pgmlo opt -pgmlc llc -fllvm --make test.hs segfaults both for LLVM 3.4 and 3.5svn (taken from http://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64).

32-bit ghc-7.9.20140404+llvm produces good executable.

Adding ArchX86_64 OSMinGW32 case to moduleLayout in compiler/llvmGen/LlvmCodeGen/Ppr.hs improves things slightly (some code segfaulting without it starts to work) but still does not cure the code above.

Also I've found the Cmm produced for LLVM CG differs from that produced for NCG.

Trac metadata
Trac field Value
Version 7.9
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler (LLVM)
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information