<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [PPC64] V2 ABI: add plt stubs for V2 abi."
   href="https://bugs.llvm.org/show_bug.cgi?id=36804">36804</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[PPC64] V2 ABI: add plt stubs for V2 abi.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lld
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>ELF
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>sfertile@ca.ibm.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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@plt@toc@ha
ld       r12,func@plt@toc@l(r12)
mtctr    r12
bctr</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>