[commit: ghc] master: powerpc: fix and enable shared libraries by default on linux (fa31e8f)

git at git.haskell.org git at git.haskell.org
Sun Dec 14 14:30:27 UTC 2014


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

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

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

commit fa31e8f4a0f853848d96549a429083941877bf8d
Author: Sergei Trofimovich <siarheit at google.com>
Date:   Sun Dec 14 14:30:12 2014 +0000

    powerpc: fix and enable shared libraries by default on linux
    
    Summary:
    And fix things all the way down to it. Namely:
        - remove 'r30' from free registers, it's an .LCTOC1 register
          for gcc. generated .plt stubs expect it to be initialised.
        - fix PicBase computation, which originally forgot to use 'tmp'
          reg in 'initializePicBase_ppc.fetchPC'
        - mark 'ForeighTarget's as implicitly using 'PicBase' register
          (see comment for details)
        - add 64-bit MO_Sub and test on alloclimit3/4 regtests
        - fix dynamic label offsets to match with .LCTOC1 offset
    
    Signed-off-by: Sergei Trofimovich <siarheit at google.com>
    
    Test Plan: validate passes equal amount of vanilla/dyn tests
    
    Reviewers: simonmar, erikd, austin
    
    Reviewed By: erikd, austin
    
    Subscribers: carter, thomie
    
    Differential Revision: https://phabricator.haskell.org/D560
    
    GHC Trac Issues: #8024, #9831


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

fa31e8f4a0f853848d96549a429083941877bf8d
 compiler/cmm/CLabel.hs            |  3 ++-
 compiler/nativeGen/PIC.hs         | 45 +++++++++++++++---------------------
 compiler/nativeGen/PPC/CodeGen.hs | 48 ++++++++++++++++++++++++++++++++++++---
 compiler/nativeGen/PPC/Instr.hs   |  9 ++++++++
 compiler/nativeGen/PPC/Ppr.hs     | 12 ++++++++++
 compiler/nativeGen/PPC/Regs.hs    |  6 +++--
 includes/CodeGen.Platform.hs      |  2 ++
 mk/config.mk.in                   |  2 +-
 8 files changed, 93 insertions(+), 34 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 fa31e8f4a0f853848d96549a429083941877bf8d


More information about the ghc-commits mailing list