[GHC] #793: Use gcc's libffi to replace Adjustor.c and ByteCodeFFI.hs?

GHC trac at galois.com
Thu Jun 8 04:18:13 EDT 2006


#793: Use gcc's libffi to replace Adjustor.c and ByteCodeFFI.hs?
-------------------------------+--------------------------------------------
    Reporter:  simonmar        |        Owner:                  
        Type:  task            |       Status:  new             
    Priority:  normal          |    Milestone:                  
   Component:  Runtime System  |      Version:  6.4.1           
    Severity:  normal          |     Keywords:                  
          Os:  Unknown         |   Difficulty:  Moderate (1 day)
Architecture:  Unknown         |  
-------------------------------+--------------------------------------------
{{{libffi}}} is a library that comes with gcc and provides FFI
 functionality (dynamic calls, closures) for a wide range of platforms.  It
 has a liberal license that is compatible with GHC's.

 {{{libffi}}} could replace Adjustor.c in the RTS and the ByteCodeFFI
 module in GHCi.  The benefits would be:

  * It works on more platforms than we currently support, and it
    handles more of the dark corners than we do (eg. struct returns?).

  * It would ease the task of porting GHC

  * Replaces a wad of very difficult non-portable code in GHC with code
    written and actively maintained by others.

 On the other hand, it is possible that our Adjustor.c code is faster,
 because it is more specialised to the task.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/793>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list