[llvm-bugs] [Bug 36804] New: [PPC64] V2 ABI: add plt stubs for V2 abi.

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Mar 19 11:12:23 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=36804

            Bug ID: 36804
           Summary: [PPC64] V2 ABI: add plt stubs for V2 abi.
           Product: lld
           Version: unspecified
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: ELF
          Assignee: unassignedbugs at nondot.org
          Reporter: sfertile at ca.ibm.com
                CC: llvm-bugs at lists.llvm.org

PPC64::writePlt emits a plt stub for the V1 abi. This needs to be updated to be
able to write the default form of the V2 abi plt stubs. 


The default plt stub must
1) Save the toc pointer to the toc pointer doubleword save location on the
stack
2) Load the address of the called function into r12
3) Transfer control to the called function. 


an example stub, see section '4.2.5.3 Procedure Linkage Table' of the PPC64
ELFV2 abi supplement for more details.

std      r2,24(r1)
addis    r12,r2,func at plt@toc at ha
ld       r12,func at plt@toc at l(r12)
mtctr    r12
bctr

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180319/0ac276f9/attachment-0001.html>


More information about the llvm-bugs mailing list