[RFC PATCH v2 0/7] objtool: Enable and implement --mcount option on powerpc

From: Christophe Leroy
Date: Tue May 24 2022 - 09:18:40 EST


This draft series adds PPC32 support to Sathvika's series.
Verified on pmac32 on QEMU.

It should in principle also work for PPC64 BE but for the time being
something goes wrong. In the beginning I had a segfaut hence the first
patch. But I still get no mcount section in the files.

Christophe Leroy (3):
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 (4):
objtool: Add --mnop as an option to --mcount
objtool: Enable objtool to run only on files with ftrace enabled
objtool/powerpc: Enable objtool to be built on ppc
objtool/powerpc: Add --mcount specific implementation

Makefile | 4 +-
arch/powerpc/Kconfig | 2 +
arch/x86/Kconfig | 1 +
scripts/Makefile.build | 5 +-
tools/objtool/arch/powerpc/Build | 2 +
tools/objtool/arch/powerpc/decode.c | 88 +++++++++++++++++++
.../arch/powerpc/include/arch/cfi_regs.h | 11 +++
tools/objtool/arch/powerpc/include/arch/elf.h | 8 ++
.../arch/powerpc/include/arch/special.h | 21 +++++
tools/objtool/arch/powerpc/special.c | 19 ++++
.../arch/x86/include/arch/endianness.h | 9 --
tools/objtool/builtin-check.c | 14 +++
tools/objtool/check.c | 51 ++++++-----
tools/objtool/elf.c | 23 ++++-
tools/objtool/include/objtool/builtin.h | 1 +
tools/objtool/include/objtool/elf.h | 9 ++
tools/objtool/include/objtool/endianness.h | 29 +++---
tools/objtool/orc_dump.c | 11 ++-
tools/objtool/orc_gen.c | 4 +-
tools/objtool/special.c | 3 +-
20 files changed, 257 insertions(+), 58 deletions(-)
create mode 100644 tools/objtool/arch/powerpc/Build
create mode 100644 tools/objtool/arch/powerpc/decode.c
create mode 100644 tools/objtool/arch/powerpc/include/arch/cfi_regs.h
create mode 100644 tools/objtool/arch/powerpc/include/arch/elf.h
create mode 100644 tools/objtool/arch/powerpc/include/arch/special.h
create mode 100644 tools/objtool/arch/powerpc/special.c
delete mode 100644 tools/objtool/arch/x86/include/arch/endianness.h

--
2.35.3