<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132694>132694</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[llvm-objdump][ARM] Not implement findPltEntries for ARM lead to parse plt entry incorrectly
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hstk30-hw
</td>
</tr>
</table>
<pre>
```
#include <stdio.h>
void test() {
printf("test\n");
return;
}
```
with command: `clang test.c -o -fPIC -shared test.so`
the llvm-objdump output like:
```
Disassembly of section .plt:
00000310 <$a>:
310: e52de004 str lr, [sp, #-4]!
314: e59fe004 ldr lr, [pc, #4] @ 0x320 <.plt+0x10>
318: e08fe00e add lr, pc, lr
31c: e5bef008 ldr pc, [lr, #8]!
00000320 <$d>:
320: e0 8c 00 00 .word 0x00008ce0
00000324 <$a>:
324: e28fc600 add r12, pc, #0, #12
328: e28cca08 add r12, r12, #8, #20
32c: e5bcfce0 ldr pc, [r12, #3296]!
330: e28fc600 add r12, pc, #0, #12
334: e28cca08 add r12, r12, #8, #20
338: e5bcfcd8 ldr pc, [r12, #3288]!
33c: e28fc600 add r12, pc, #0, #12
340: e28cca08 add r12, r12, #8, #20
344: e5bcfcd0 ldr pc, [r12, #3280]!
348: e28fc600 add r12, pc, #0, #12
34c: e28cca08 add r12, r12, #8, #20
350: e5bcfcc8 ldr pc, [r12, #3272]!
354: e28fc600 add r12, pc, #0, #12
358: e28cca08 add r12, r12, #8, #20
35c: e5bcfcc0 ldr pc, [r12, #3264]!
...
00000454 <test>:
454: e92d4800 push {r11, lr}
458: e1a0b00d mov r11, sp
45c: e59f0008 ldr r0, [pc, #8] @ 0x46c <test+0x18>
460: e08f0000 add r0, pc, r0
464: ebffffb1 bl 0x330 <.plt+0x20> @ imm = #-316
468: e8bd8800 pop {r11, pc}
```
https://github.com/llvm/llvm-project/blob/849e5ea94fe8c0007f73ea793ba2a986608a67be/llvm/lib/Object/ELFObjectFile.cpp#L789-L808
Not support for ARM32,
and we also need to implement findPltEntries for ARMMCInstrAnalysis class.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVt2upCgQfhr6hrQpARUv-qJ_k0lmdifzBoh42hkUA3h-3n4D2kdP70z2bNqYxla-qvq-ogqEc-1Tr9QOZQeUnTZi9Fdjd1fnf1HYXl82lanfdiiH-YY9IrTtpR5rhRE9Ol-3Jrkieg6fYP9s2hp75TwiHJESo-KAYI8xxoNte9_E1yROyI49IgSREtHbHKv8aPvpPypO4XftGfYvrb9iabpO9DWie4xykFr0T9FlIvHW4G3z_csRb91VWDWFkjjzbsBfFdb6udua6mc9dgM2ox9Gj3X7SyG6nybdOT21Tjinukq_YdNgp6RvTY-TQft3CISLphA0QYSJIEj8FmhhmkKIVmWkVgAsvsPO2zhqi8gRo-zghvhA6Jah7IRIusDZBC-bBa7rO_ggZ3hA49WFGGB4pSQGF6MmB3gNIZ0XDzx6AB48qAkn6nrlYTKv7QKRU1CVagD4x6DmWLLDHB2h_J3Su1rkplZ9pxaZ1ALMJQYIN8bJi7EhHHgNWC4VfDDF_iA8mZQjvJF5tLPiZVOyEEOEwjymZIHzGS6luHG8g89DpDiNBBb8TSPZSAV_0GixQEmZ36WewkMEKHuMAOULgfpPSV4T4PyegHyIAIPHCDC2IvCZDHC4I8D4YwTkYwQyWAjIz2SgIHcEssdqIHuwBrJVDcjPZCBn616RJMmq0lkWKz1uIB8qnc0sS1IzfmM5jO4aO2BxsGk696-4r8yYiVoqoAKYGOHOPM_UIsANy2x568Lwr4Zn4b4L8992YZbL9_hjF-arLsxyuHXhwPVOalgSZWGBTLSrpmmaKp0glZ5GeKX0Y9MPnfW8CqjtOozoKW46NM0Xq5MwvKr5IqYZ8EcxB_nbTfrq_eBCasgFkctT669jlUjTIXIJW-88bAdrfirpEblU2lSIXDgrVaZEyRrFJQAUTUGVKEpaCSJKnufARV5UamWnDbi_q9nO-ev8fGm1SuQwIEK_FrzcfuXAp9j-Mh67cRiM9bgxFu9_fKMEnS_ocET8OM0RfY1fFBbaGdyrcIgwuO0GrTrVe9y0ff1d-3Pvbavczci345feebvvhX5zrcNSC-fmhYtgv6l3tC5pKTZqlxaMcCigSDfXHanShhUskyWRaVUWZdnwqmSSlDRXrKg27Y4AycIOByUwmiZllTMhVZFJJfOGccRAdaLVSdAkMfZp0zo3ql1KSV6yjRaV0i4e7wjp1QuOX8PBKztt7C5mohqfHGKgW-fdYsa3Xsdz4fq8FCozO-x_fAurO4j5X8JgrURUcBDWKTxoj1Xv7Rtue2msVdLrt81o9e5_r5pIxCFymZk-78g_AQAA__8wMrlt">