[commit: ghc] master: Add support for producing position-independent executables (3625728)

git at git.haskell.org git at git.haskell.org
Tue Aug 22 22:02:06 UTC 2017


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

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

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

commit 3625728a0e3a9b56c2b85ae7ea8bcabdd83ece6a
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Tue Aug 22 11:41:47 2017 -0400

    Add support for producing position-independent executables
    
    Previously due to #12759 we disabled PIE support entirely. However, this
    breaks the user's ability to produce PIEs. Add an explicit flag, -fPIE,
    allowing the user to build PIEs.
    
    Test Plan: Validate
    
    Reviewers: rwbarton, austin, simonmar
    
    Subscribers: trommler, simonmar, trofi, jrtc27, thomie
    
    GHC Trac Issues: #12759, #13702
    
    Differential Revision: https://phabricator.haskell.org/D3589


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

3625728a0e3a9b56c2b85ae7ea8bcabdd83ece6a
 compiler/cmm/CmmPipeline.hs           |  2 +-
 compiler/codeGen/StgCmmCon.hs         |  4 ++--
 compiler/main/DriverPipeline.hs       | 10 ++++-----
 compiler/main/DynFlags.hs             | 39 ++++++++++++++++++++++++++++++++---
 compiler/main/SysTools.hs             | 15 +-------------
 compiler/nativeGen/AsmCodeGen.hs      |  6 +++---
 compiler/nativeGen/PIC.hs             | 33 +++++++++++++++--------------
 compiler/nativeGen/PPC/CodeGen.hs     |  6 +++---
 compiler/nativeGen/SPARC/CodeGen.hs   |  2 +-
 compiler/nativeGen/X86/CodeGen.hs     |  4 ++--
 docs/users_guide/phases.rst           | 24 +++++++++++++++++++++
 docs/users_guide/shared_libs.rst      |  4 ++++
 testsuite/tests/dynlibs/Makefile      |  6 ++++++
 testsuite/tests/dynlibs/T13702.hs     |  9 ++++++++
 testsuite/tests/dynlibs/T13702.stdout |  2 ++
 testsuite/tests/dynlibs/T13702a.hs    | 12 +++++++++++
 testsuite/tests/dynlibs/all.T         |  4 ++++
 17 files changed, 131 insertions(+), 51 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 3625728a0e3a9b56c2b85ae7ea8bcabdd83ece6a


More information about the ghc-commits mailing list