
#10170: Find versioned versions of LLVM tools -------------------------------------+------------------------------------- Reporter: erikd | Owner: erikd Type: bug | Status: new Priority: normal | Milestone: 7.12.1 Component: Compiler (LLVM) | Version: 7.11 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by erikd): I've been doing some hacking on this and here is my current solution (for now `X.Y` is `3.6`): * The configure script should check for `llc-X.Y` and `opt-X.Y` *before* it checks for plain `llc` and `opt`. * Only check for plain `llc` and `opt` if the explicitly versioned ones are not found. * If it finds plain `llc` and `opt` check that the version is `X.Y`. The above currently works, but causes other problems in this check: {{{ checking whether bootstrap compiler is affected by bug 9439... You are using a new version of LLVM that hasn't been tested yet! We will try though... /usr/bin/opt-3.6: /tmp/ghc12163_0/ghc12163_2.ll:7:6: error: unexpected type in metadata definition !0 = metadata !{metadata !"top", i8* null} ^ failed to compile }}} The problem here is that this checks the bootstrap compiler bug using the detected `LlcCmd` (which now *must* be `llc-3.6`) which doesn't support he LLVM IR syntax above. I think is in-correct. The bootstrap compiler should already have the location of the `llc` and `opt` it was compiled for in its `settings` file (these have been present in that file since ghc 7.6 but they are not present in eg 7.4.2). Its the llc version in the settings file which should be checked for bug #9439, not the one detected by the configure script. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10170#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler