Skip to content
  • Sergei Trofimovich's avatar
    powerpc: fix and enable shared libraries by default on linux · fa31e8f4
    Sergei Trofimovich authored
    
    
    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: default avatarSergei Trofimovich <siarheit@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
    fa31e8f4