<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 - Add support for R_AARCH64_TLSLE_LDST8_TPREL_LO12 relocation."
href="https://bugs.llvm.org/show_bug.cgi?id=36727">36727</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Add support for R_AARCH64_TLSLE_LDST8_TPREL_LO12 relocation.
</td>
</tr>
<tr>
<th>Product</th>
<td>lld
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</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>peter.smith@linaro.org
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>In <a href="https://reviews.llvm.org/D44355">https://reviews.llvm.org/D44355</a> an attempt was made to fold the sequence:
mrs x1, TPIDR_EL0
add x2, x1, :tprel_hi12:local_exec_var
add x3, x2, :tprel_lo12_nc:local_exec_var
ldr w0, [x3]
to:
mrs x1, TPIDR_EL0
add x2, x1, :tprel_hi12:local_exec_var
ldr w0, [x2, :tprel_lo12_nc:local_exec_var]
Which unfortunately had to be reverted for ELF because no ELF linker supported
the R_AARCH64_TLSLE_LDST8_TPREL_LO12 relocation that is needed for:
ldr w0, [x2, :tprel_lo12_nc:local_exec_var].
Existing ELF linkers only implement R_AARCH64_TLSLE_ADD_TPREL_LO12_NC to
support
add x3, x2, :tprel_lo12_nc:local_exec_var
It would be nice to implement this relocation to eventually enable this
relaxation to be done for ELF targets. This will take some time as support will
need to be added to the binutils linkers as well.</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>