
#8974: 64 bit windows executable built with ghc-7.9.20140405+LLVM segfaults ------------------------------------+---------------------------------- Reporter: awson | Owner: Type: bug | Status: new Priority: high | Milestone: 7.8.3 Component: Compiler (LLVM) | Version: 7.9 Resolution: | Keywords: Operating System: Windows | Architecture: x86_64 (amd64) Type of failure: Runtime crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------+---------------------------------- Comment (by awson): Ok. I've implemented the mangler based approach. For what I've tested so far it works. It's a bit ugly (UUID magic) and fragile (mangler searches and replaces crlf line ending dependent pattern) because I did not bother to elaborate trivial and boring details. The patch below consists of 2 orthogonal parts: - the first introduces `target datalayout` and `target triple` for 64-bit mingw32 LLVM, it is compatible with LLVM 3.4 and incompatible with current LLVM 3.5svn (`mingw32` was changed to `windows-gnu` in `target triple`). - the second essentially solves the problem, described in this ticket. I've implemented all platform-specific code to be selected in runtime (I believe, LLVM can choose a target dynamically, am I wrong?). And I've tested all on 64-bit GHC 7.9+ and MSYS2 built LLVM 3.4 *only*. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8974#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler