diff options
author | 2024-10-31 23:28:44 +0800 | |
---|---|---|
committer | 2024-11-01 12:31:44 -0700 | |
commit | 4d99e509c161f8610de125202c648fa4acd00541 (patch) | |
tree | 88876abd37a910cee1893423c013164294f27b1e /tools/perf/scripts/python/call-graph-from-postgresql.py | |
parent | selftests/bpf: Add a test for open coded kmem_cache iter (diff) | |
download | wireguard-linux-4d99e509c161f8610de125202c648fa4acd00541.tar.xz wireguard-linux-4d99e509c161f8610de125202c648fa4acd00541.zip |
bpf, bpftool: Fix incorrect disasm pc
This patch addresses the bpftool issue "Wrong callq address displayed"[0].
The issue stemmed from an incorrect program counter (PC) value used during
disassembly with LLVM or libbfd.
For LLVM: The PC argument must represent the actual address in the kernel
to compute the correct relative address.
For libbfd: The relative address can be adjusted by adding func_ksym within
the custom info->print_address_func to yield the correct address.
Links:
[0] https://github.com/libbpf/bpftool/issues/109
Changes:
v2 -> v3:
* Address comment from Quentin:
* Remove the typedef.
v1 -> v2:
* Fix the broken libbfd disassembler.
Fixes: e1947c750ffe ("bpftool: Refactor disassembler for JIT-ed programs")
Signed-off-by: Leon Hwang <leon.hwang@linux.dev>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Quentin Monnet <qmo@kernel.org>
Reviewed-by: Quentin Monnet <qmo@kernel.org>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/bpf/20241031152844.68817-1-leon.hwang@linux.dev
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions