Skip to content
  • Simon Marlow's avatar
    Add -fexternal-dynamic-refs · d99a65a8
    Simon Marlow authored
    Summary:
    The `-dynamic` flag does two things:
    
    * In the code generator, it generates code designed to link against
      external shared libraries.  References outside of the current module
      go through platform-specific indirection tables (e.g. the GOT on ELF).
    
    * It enables a "way", which changes which hi files we look
      for (`Foo.dyn_hi`) and which libraries we link against.
    
    Some specialised applications want the first of these without the
    second. (I could go into detail here but it's probably not all that
    important).
    
    This diff splits out the code-generation effects of `-dynamic` from the
    "way" parts of its behaviour, via a new flag `-fexternal-dynamic-refs`.
    
    Test Plan: validate
    
    Reviewers: niteria, bgamari, erikd
    
    Subscribers: rwbarton, thomie, carter
    
    Differential Revision: https://phabricator.haskell.org/D4477
    d99a65a8