[llvm-branch-commits] [llvm] [BOLT][test] Fix callcont-fallthru.s after #129481 (PR #135867)

Paschalis Mpeis via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 30 02:21:03 PDT 2025


paschalis-mpeis wrote:


Hey  @yota9, thanks for the suggestions!

Indeed, the PLT entries exist in both binaries. For example running:

```
build/bin/llvm-objdump -d -j .plt build/tools/bolt/test/X86/Output/callcont-fallthru.s.tmp
```

shows:

```
build/tools/bolt/test/X86/Output/callcont-fallthru.s.tmp:       file format elf64-x86-64

Disassembly of section .plt:
0000000000001430 <.plt>:
    1430: ff 35 f2 20 00 00             pushq   0x20f2(%rip)            # 0x3528 <puts+0x3528>
    1436: ff 25 f4 20 00 00             jmpq    *0x20f4(%rip)           # 0x3530 <puts+0x3530>
    143c: 0f 1f 40 00                   nopl    (%rax)

0000000000001440 <puts at plt>:
    1440: ff 25 f2 20 00 00             jmpq    *0x20f2(%rip)           # 0x3538 <puts+0x3538>
    1446: 68 00 00 00 00                pushq   $0x0
    144b: e9 e0 ff ff ff                jmp     0x1430 <.plt>
```

I noticed some code differences in the binaries but I haven't looked deeper into it.


**It looks like it's differences in GNU nm though:**

On my AArch64 dev-machine, `nm --synthetic` lists `puts at plt`, but when I copy that same binary over to our upcoming AArch64 buildbot, it's missing.

Conversely, `nm --synthetic` on the buildbot does not list `puts at plt`, but when if I copy that binary to the dev-machine it does appear.

---

I too agree that relying on GNU is not ideal. Essentially using any binary tool that does not come from the built LLVM revision. However, `llvm-nm` does not seem support `--synthetic`.

BTW, thanks for all the help! I'm focused on AArch64, so while I may be involved to some extent with this, I'll let Amir drive the fix. That's why I'm looking for a code owner to get #137831 stamped. :)
(also cc'ing: @aaupov, @maksfb)

https://github.com/llvm/llvm-project/pull/135867


More information about the llvm-branch-commits mailing list