Dynamic only GHC

Jeremy voldermort at hotmail.com
Mon Oct 20 14:32:13 UTC 2014

Austin Seipp <austin <at> well-typed.com> writes:

> As far as I'm aware, Dynamic-by-default GHC is actually broken, and I
> don't know for how long this has been the case.
> For some history: originally when all this was being decided to try
> and fix the linker issues in GHC, dynamic by default was considered an
> option, but was rejected in favor of DynamicGhcPrograms. Why was it
> rejected? Well, dynamic by default particularly hurts 32bit x86, which
> suffers from a very pathetic set of registers, and dynamic programs
> steal one of these for the GOT (%ebx IIRC).
> On the other hand, DynamicGhcPrograms instead means GHC builds
> everything statically, *except itself*, which it builds as a
> dynamically linked executable. The idea is you dynamically link GHC
> itself to fix linker issues, and end-user programs remain static,
> which is the expected mode of operation.

Thank you for the detailed explanation (although I still don't understand
why DYNAMIC_BY_DEFAULT by default wasn't kept for x64.)

Where does GhcDynamic fit into this?

More information about the Glasgow-haskell-users mailing list