[GHC] #11578: Fix GHC on AArch64/Arm64
GHC
ghc-devs at haskell.org
Tue Feb 16 05:45:49 UTC 2016
#11578: Fix GHC on AArch64/Arm64
-------------------------------------+-------------------------------
Reporter: erikd | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: aarch64
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------
@@ -10,4 +10,4 @@
- * User @mfox reports that ghc-7.10 does build against llvm-3.7 and results
- in a compiler that can build HEAD.
- * That GHC 7.10 can be build against llvm-3.7 is a happy accident.
- Versions of GHC are usually locked to a specific version of LLVM.
+ * ~~User @mfox reports that ghc-7.10 does build against llvm-3.7 and
+ results in a compiler that can build HEAD.~~
+ * ~~That GHC 7.10 can be build against llvm-3.7 is a happy accident.
+ Versions of GHC are usually locked to a specific version of LLVM.~~
New description:
Raising this to track discussion about GHC on Arm64. There is already some
discussion in ticket #11206 (ARM is generally a disaster), but that ticket
is about 32 bit Arm which is vastly different and is now mostly fixed.
Information worth saving from #11206:
* GHC 7.8.4 from Debian can build the ghc-8.0 branch, but cannot build
HEAD because HEAD requires ghc-7.10 to build.
* GHC 7.10 from Debian is broken because of an unfixed bug in llvm-3.5.2.
* ~~User @mfox reports that ghc-7.10 does build against llvm-3.7 and
results in a compiler that can build HEAD.~~
* ~~That GHC 7.10 can be build against llvm-3.7 is a happy accident.
Versions of GHC are usually locked to a specific version of LLVM.~~
--
Comment (by erikd):
@mfox The LLVM IR code generated by GHC-7.10.3 does not compile with
LLVM-3.7. There is a fundamental imcompatibility. GHC-7.10.3 generated
LLVM metata data instructions that LLVM-3.7 rejects. End of story.
I have tried Debian's GHC where I manually edited the settings file to
replace `/usr/bin/(opt|llc)-3.5` with `/usr/bin/(opt|llc)-3.7`. I also did
the same for the 7.10.3 bindist you provided in ticket #11206. Both fail
with the same error message:
{{{
You are using a new version of LLVM that hasn't been tested yet!
We will try though...
/usr/bin/opt-3.7: /tmp/ghc16717_0/ghc_26.ll:7:6: error: unexpected type in
metadata definition
!0 = metadata !{metadata !"top", i8* null}
}}}
It would help if you could actually figure out what is made you think that
the GHC-7.10.3 with LLVM-3.7 setup worked. Even if it just for
documentation purposes.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11578#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list