#5899: RTS crash w/ strange closure type 603975781 on OS X 10.8
-----------------------------------------------------------+----------------
Reporter: dylukes | Owner:
Type: bug | Status: new
Priority: high | Milestone:
7.4.2
Component: Runtime System | Version:
7.4.1
Keywords: rts, strange closure, internal error, os x | Os:
MacOS X
Architecture: x86_64 (amd64) | Failure:
Runtime crash
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
-----------------------------------------------------------+----------------
Comment(by Irene):
Well, we can indeed do it with an order file, but it's unwieldy to have to
construct one that encompasses every single module being linked, and then
it breaks again if linked again, as for example happens if we build a
Haskell library that an innocent and well-meaning author tries to link
into a C program without GHC's involvement. Actually, I'm not sure how we
can make that scenario work even with some sort of way to tell LLVM
explicitly about TNTC, since the Mach-O format doesn't have any way to
express that constraint, so it will never survive to a second linking.
But the main reason to not use an order file is that the reordering
probably actually does provide a good benefit, since (I assume but
nobody's actually explained it that I've seen) it does things such as
providing additional code locality so as to keep things within the
processor's instruction cache more often. It can also do whole-program
dead-code removal. This sort of feature, which the LLVM people call link-
time optimization (LTO), is defeated if we tell it it can't actually do
anything.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5899#comment:26>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs