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