[commit: ghc] master: Add -fexternal-dynamic-refs (d99a65a)

git at git.haskell.org git at git.haskell.org
Thu Mar 8 08:36:34 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/d99a65a80cb671363fa41c826b95b9a89de60878/ghc

>---------------------------------------------------------------

commit d99a65a80cb671363fa41c826b95b9a89de60878
Author: Simon Marlow <smarlow at fb.com>
Date:   Wed Feb 28 11:03:37 2018 -0800

    Add -fexternal-dynamic-refs
    
    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


>---------------------------------------------------------------

d99a65a80cb671363fa41c826b95b9a89de60878
 compiler/cmm/CLabel.hs                      | 15 +++++++++------
 compiler/main/DynFlags.hs                   |  4 +++-
 compiler/nativeGen/PIC.hs                   | 13 ++++++++-----
 docs/users_guide/8.6.1-notes.rst            |  5 +++++
 docs/users_guide/phases.rst                 | 20 ++++++++++++++------
 testsuite/tests/ghci/scripts/T9293.stdout   |  4 ++++
 testsuite/tests/ghci/scripts/ghci024.stdout |  1 +
 testsuite/tests/ghci/scripts/ghci057.stdout |  4 ++++
 8 files changed, 48 insertions(+), 18 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc d99a65a80cb671363fa41c826b95b9a89de60878


More information about the ghc-commits mailing list