#1876: Complete shared library support
------------------------------+---------------------------------------------
 Reporter:  simonmar          |          Owner:                    
     Type:  task              |         Status:  new               
 Priority:  high              |      Milestone:  6.10 branch       
Component:  Compiler          |        Version:  6.8.1             
 Severity:  normal            |     Resolution:                    
 Keywords:                    |     Difficulty:  Difficult (1 week)
 Testcase:                    |   Architecture:  Unknown/Multiple  
       Os:  Unknown/Multiple  |  
------------------------------+---------------------------------------------
Comment (by clemens):

 I fixed the following for Linux/x86_64 (probably also other archs) in
 today's HEAD
 "./configure --enable-shared; make" should compile error free.
 It should give you all libraries as shared objects, including a stage2 GHC
 package.
 The GHC package should be linkable into a working ghc binary (including a
 wrapper) that also works in interactive mode. Running the testsuits gives
 a few isolated regressions in ghci and template haskell I still have to
 dig into.

 I won't go into details about the Windows status. At the moment, linking
 the RTS dies with unresolved RTS __imp__* symbols. Linking the RTS with
 its own import lib (libHSrts*.dll.a) should fix the problem, but I haven't
 got there yet.

 However, for libgmp on Windows, we need to apply the same trick as with
 libffi, namely change it into a Haskell package. Most of the hacking was
 already done for libffi, so the changes from libffi/Makefile could be
 worked into gmp/Makefile without much trouble, I think.

 In any case, I'd like to argue that we should give priority to Linux
 dynamic linking. With this I mean that we ship dynamic lib support even if
 it's just for this single architecture. This will help to build up a small
 user base that will hopefully report regressions as soon as they pop up.
 Also Linux is the most hassle free OS when it comes to dynamic library
 linking, so it is easier to establish that as base camp for further
 climbing.

 Except for libffi change, most of the changes are quite minimal. We could
 probably target 6.10.2 as milestone for merging this into stable.

 On Linux x86-64 dynamic at the moment:
 {{{
 Unexpected failures:
    2014(normal)
    T2386(normal)
    T2597a(normal)
    T2597b(normal)
    TH_genEx(normal)
    TH_spliceD1(normal)
    TH_spliceDecl3(normal)
    TH_spliceDecl4(normal)
    TH_spliceE5(normal)
    prog001(ghci)
    prog002(ghci)
    prog003(ghci)
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1876#comment:9>
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