diff options
| author | Hari Bathini <hbathini@linux.ibm.com> | 2026-01-27 14:19:25 +0530 |
|---|---|---|
| committer | Madhavan Srinivasan <maddy@linux.ibm.com> | 2026-03-07 16:02:25 +0530 |
| commit | 875612a7745013a43c67493cb0583ee3f7476344 (patch) | |
| tree | 1196a3b6a16e8a009934f29d1a1aaa5623ebbef4 /arch | |
| parent | 73cdf24e81e4eba52a40a6b10c6cf285d0ac23fd (diff) | |
| download | linux-next-875612a7745013a43c67493cb0583ee3f7476344.tar.gz linux-next-875612a7745013a43c67493cb0583ee3f7476344.zip | |
powerpc64/ftrace: fix OOL stub count with clang
The total number of out-of-line (OOL) stubs required for function
tracing is determined using the following command:
$(OBJDUMP) -r -j __patchable_function_entries vmlinux.o
While this works correctly with GNU objdump, llvm-objdump does not
list the expected relocation records for this section. Fix this by
using the -d option and counting R_PPC64_ADDR64 relocation entries.
This works as desired with both objdump and llvm-objdump.
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20260127084926.34497-3-hbathini@linux.ibm.com
Diffstat (limited to 'arch')
| -rwxr-xr-x | arch/powerpc/tools/ftrace-gen-ool-stubs.sh | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/tools/ftrace-gen-ool-stubs.sh b/arch/powerpc/tools/ftrace-gen-ool-stubs.sh index bac186bdf64a..9218d43aeb54 100755 --- a/arch/powerpc/tools/ftrace-gen-ool-stubs.sh +++ b/arch/powerpc/tools/ftrace-gen-ool-stubs.sh @@ -15,9 +15,9 @@ if [ -z "$is_64bit" ]; then RELOCATION=R_PPC_ADDR32 fi -num_ool_stubs_total=$($objdump -r -j __patchable_function_entries "$vmlinux_o" | +num_ool_stubs_total=$($objdump -r -j __patchable_function_entries -d "$vmlinux_o" | grep -c "$RELOCATION") -num_ool_stubs_inittext=$($objdump -r -j __patchable_function_entries "$vmlinux_o" | +num_ool_stubs_inittext=$($objdump -r -j __patchable_function_entries -d "$vmlinux_o" | grep -e ".init.text" -e ".text.startup" | grep -c "$RELOCATION") num_ool_stubs_text=$((num_ool_stubs_total - num_ool_stubs_inittext)) |
