#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

Reply via email to