Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Simon Marlow's avatar
    e0fcf61d
    Import libffi-3.0.4, and use it to provide FFI support in GHCi · e0fcf61d
    Simon Marlow authored
    This replaces the hand-rolled architecture-specific FFI support in
    GHCi with the standard libffi as used in GCJ, Python and other
    projects.  I've bundled the complete libffi-3.0.4 tarball in the
    source tree in the same way as we do for GMP, the difference being
    that we always build and install our own libffi regardless of whether
    there's one on the system (it's small, and we don't want
    dependency/versioning headaches).
    
    In particular this means that unregisterised builds will now have a
    fully working GHCi including FFI out of the box, provided libffi
    supports the platform.
    
    There is also code in the RTS to use libffi in place of
    rts/Adjustor.c, but it is currently not enabled if we already have
    support in Adjustor.c for the current platform.  We need to assess the
    performance impact before using libffi here too (in GHCi we don't care
    too much about performance).
    e0fcf61d
    History
    Import libffi-3.0.4, and use it to provide FFI support in GHCi
    Simon Marlow authored
    This replaces the hand-rolled architecture-specific FFI support in
    GHCi with the standard libffi as used in GCJ, Python and other
    projects.  I've bundled the complete libffi-3.0.4 tarball in the
    source tree in the same way as we do for GMP, the difference being
    that we always build and install our own libffi regardless of whether
    there's one on the system (it's small, and we don't want
    dependency/versioning headaches).
    
    In particular this means that unregisterised builds will now have a
    fully working GHCi including FFI out of the box, provided libffi
    supports the platform.
    
    There is also code in the RTS to use libffi in place of
    rts/Adjustor.c, but it is currently not enabled if we already have
    support in Adjustor.c for the current platform.  We need to assess the
    performance impact before using libffi here too (in GHCi we don't care
    too much about performance).
Code owners
Assign users and groups as approvers for specific file changes. Learn more.