Re: [PATCH v3 00/16] objtool: Enable and implement --mcount option on powerpc
From: Peter Zijlstra <peterz@infradead.org>
Date: 2022-09-13 16:18:46
Also in:
lkml
Subsystem:
objtool, the rest · Maintainers:
Josh Poimboeuf, Peter Zijlstra, Linus Torvalds
On Mon, Sep 12, 2022 at 01:50:04PM +0530, Sathvika Vasireddy wrote:
Christophe Leroy (4): objtool: Fix SEGFAULT objtool: Use target file endianness instead of a compiled constant objtool: Use target file class size instead of a compiled constant
Sathvika Vasireddy (12): objtool: Add --mnop as an option to --mcount objtool: Read special sections with alts only when specific options are selected objtool: Use macros to define arch specific reloc types objtool: Add arch specific function arch_ftrace_match() objtool/powerpc: Enable objtool to be built on ppc objtool/powerpc: Add --mcount specific implementation
tools/objtool/arch/powerpc/Build | 2 + tools/objtool/arch/powerpc/decode.c | 101 ++++++++++++++++++ .../arch/powerpc/include/arch/cfi_regs.h | 11 ++ tools/objtool/arch/powerpc/include/arch/elf.h | 10 ++ .../arch/powerpc/include/arch/special.h | 21 ++++ tools/objtool/arch/powerpc/special.c | 19 ++++ tools/objtool/arch/x86/decode.c | 5 + tools/objtool/arch/x86/include/arch/elf.h | 2 + .../arch/x86/include/arch/endianness.h | 9 -- tools/objtool/builtin-check.c | 14 +++ tools/objtool/check.c | 53 ++++----- tools/objtool/elf.c | 8 +- tools/objtool/include/objtool/arch.h | 2 + tools/objtool/include/objtool/builtin.h | 1 + tools/objtool/include/objtool/elf.h | 8 ++ tools/objtool/include/objtool/endianness.h | 32 +++--- tools/objtool/orc_dump.c | 11 +- tools/objtool/orc_gen.c | 4 +- tools/objtool/special.c | 3 +-
This seems to painlessly merge with the objtool changes I have in queue.git/call-depth-tracking. After that all I need is the below little patch to make it to build ppc44x_defconfig + CONFIG_DYNAMIC_FTRACE=y. So I think these patches can go through the powerpc tree if Michael wants. Josh you okay with that, or should we do something complicated?
diff --git a/tools/objtool/arch/powerpc/decode.c b/tools/objtool/arch/powerpc/decode.c
index ea2b1968f0ee..8343e2c4cea0 100644
--- a/tools/objtool/arch/powerpc/decode.c
+++ b/tools/objtool/arch/powerpc/decode.c@@ -24,6 +24,11 @@ bool arch_callee_saved_reg(unsigned char reg) return false; } +bool arch_pc_relative_reloc(struct reloc *reloc) +{ + exit(-1); +} + int arch_decode_hint_reg(u8 sp_reg, int *base) { exit(-1);