Status and future of the LLVM backend

Ben Gamari bgamari.foss at
Sun Nov 30 15:56:20 UTC 2014

Joachim Breitner <mail at> writes:

> Hi Ben,
> Am Freitag, den 28.11.2014, 18:27 -0500 schrieb Ben Gamari:
>> I've written down some thoughts on the current status and future
>> direction of the LLVM backend here [1].
> thanks. I tried to build ghc-7.8.4-rc1 on Debian, and it failed on arm*.
> First, because it picked llvm-3.5. After I tightened the dependencies to
> use llvm-3.4, it failed with 
>         dll-split: internal error: evacuate(static): strange closure
>         type 0
>             (GHC version for arm_unknown_linux)

Indeed this looks like ld.bfd is being used.

> I then followed your advice from somewhere else and passed
> "" to ./configure, but with the same effect:

Unfortunately I don't think this will be sufficient. I believe this
will only set the `LD` variable in the build system, which as far qas I
know is never used. We always call gcc to do our linking for us;
gcc will in turn just use whatever `ld` it finds in `PATH`. For this
reason I have resorted to simply adding a directory containing a symlink
to `` to `PATH`. This is what this script[1] does.

Unfortunately it's also a bit more subtle than this; it's very likely
that the ghc you are bootstrapping from contains relocations that aren't
supported by gold. For this reason you'll likely need to build some of
the utilities with `ld.bfd` the continue the build with ``. The
above script implements this fairly reliably.


- Ben


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <>

More information about the ghc-devs mailing list