<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>