<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64603>64603</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang integrated assembler emits PLT relocations for interposition
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:X86,
llvm-tools
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
nickdesaulniers
</td>
</tr>
</table>
<pre>
Consider the following test case:
```asm
; x.s
.global foo
foo:
jmp foo
```
```
$ clang x.s -c && llvm-objdump -dr x.o | tail -n 3
0000000000000000 <foo>:
0: e9 00 00 00 00 jmp 0x5 <foo+0x5>
0000000000000001: R_X86_64_PLT32 foo-0x4
```
compare that with GNU as
```
$ as x.s -o x.o && llvm-objdump -dr x.o | tail -n 2
0000000000000000 <foo>:
0: eb fe jmp 0x0 <foo>
```
I don't think we need to emit the relocation.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU9FumzAU_RrzchXkGEPiBx7SdJkmVVM1dVLfKtvcgFNjI9us2d9PQLtmUyr1yhL4mHs453CRMZrWIdakvCHlbSbH1PlQO6OfG4xytM5giJnyze967100DQZIHcLRW-tfjGshYUygZURS7Ai9JXRHKrosGftXpLiBcx6XTd5ar6SFo_cLMN289QKc-uH96C_V9S3joK107UQOKw2EVYRVYO2vfuXVqRn7AVZNgHPugWz2kKSxsHJQwEJA_ysgxX5W8-VC0FyUFDtAAZS-L0LFqR8IFfRcvnWyG3oup_5FIBXT8b-1nqh-PD1uq6eKP93fPRSMUHH0fkXP_KpP7ftBBoTUyQQvJnXw9ftPkPHDUGRcEvGL80-mwj4fyhKHgiPCB3URziXDNcXfoPGOsE2C1Bn3DC8IDrGB5AF7k-Z5C2i9lsl4l2dNXTSiEDLDel2JdSVKzsqsqwWWXEgsq7VGQQsuqdJSlQ1nipZKYWZqRllBt2u6FqzgZc4555rp7Wajq0pQRTjFXhqbT1nlPrSZiXHEuuIVLTIrFdo4_yqMKamf0TWk2D1uK8IYYXvC2Jxx8t7GCSpvs1DPkBrbSDi1Jqb4Tp5MslgvE2xcwjbIhA3IGLFXFsNsP8L93cOF_whHH-bHw-CjmaBsDLbuUhri9IXYgbBDa1I3qlz7nrDD9MLXy2oI_oQ6EXaYrUXCDrO7PwEAAP__w0wjkA">