[all-commits] [llvm/llvm-project] 702608: [XCOFF] Use RLDs to print branches even without -r...
stephenpeckham via All-commits
all-commits at lists.llvm.org
Thu Dec 21 06:17:46 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 70260860739fcbea2a5bee9a0d5e1d1d32ac6603
https://github.com/llvm/llvm-project/commit/70260860739fcbea2a5bee9a0d5e1d1d32ac6603
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2023-12-21 (Thu, 21 Dec 2023)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-return55.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/tools/llvm-objdump/XCOFF/disassemble-symbolize-operands.ll
A llvm/test/tools/llvm-objdump/XCOFF/disassemble-symbolize-operands2.ll
M llvm/tools/llvm-objdump/XCOFFDump.cpp
M llvm/tools/llvm-objdump/XCOFFDump.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[XCOFF] Use RLDs to print branches even without -r (#74342)
This presents misleading and confusing output. If you have a function
defined at the beginning of an XCOFF object file, and you have a
function call to an external function, the function call disassembles as
a branch to the local function. That is,
`void f() { f(); g();}`
disassembles as
>00000000 <.f>:
0: 7c 08 02 a6 mflr 0
4: 94 21 ff c0 stwu 1, -64(1)
8: 90 01 00 48 stw 0, 72(1)
c: 4b ff ff f5 bl 0x0 <.f>
10: 4b ff ff f1 bl 0x0 <.f>
With this PR, the second call will display:
`10: 4b ff ff f1 bl 0x0 <.g> `
Using -r can help, but you still get the confusing output:
>10: 4b ff ff f1 bl 0x0 <.f>
00000010: R_RBR .g
More information about the All-commits
mailing list