Bad Windows PE handling in GHC runtime linker
Playing with -fsplit-sections
on Windows I've found a pile of ancient (it was borrowed from Hugs interpreter code and I don't even know when was it created), absolutely redundant and plain wrong code in RTS linker.
Technically it is a bug, but it doesn't break things when used with current Windows binutils with no special linker scripts involved.
OTOH, it slows down runtime linker on Windows noticeably and thus can be considered as a performance bug.
I've attached the patch which fixes this.
The nice side-effect for existing users is that GHCi now loads compiled object code much faster on Windows.
Trac metadata
Trac field | Value |
---|---|
Version | |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Runtime System (Linker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |