This patchset enables and implements objtool --mcount option on powerpc. This applies atop powerpc/merge branch.
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 powerpc: Fix objtool unannotated intra-function call warnings on PPC32 Sathvika Vasireddy (12): powerpc: Replace unreachable() with it's builtin variant in WARN_ON() powerpc: override __ALIGN() and __ALIGN_STR() macros powerpc: Fix objtool unannotated intra-function call warnings powerpc: curb objtool unannotated intra-function call warnings powerpc: Skip objtool from running on drivers/crypto/vmx/aesp8-ppc.o powerpc: Skip objtool from running on VDSO files 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 Makefile | 4 +- arch/powerpc/Kconfig | 2 + arch/powerpc/include/asm/asm.h | 7 ++ arch/powerpc/include/asm/bug.h | 2 +- arch/powerpc/include/asm/linkage.h | 4 + arch/powerpc/kernel/cpu_setup_6xx.S | 26 +++-- arch/powerpc/kernel/cpu_setup_fsl_booke.S | 8 +- arch/powerpc/kernel/entry_32.S | 8 +- arch/powerpc/kernel/entry_64.S | 2 + arch/powerpc/kernel/exceptions-64s.S | 7 +- arch/powerpc/kernel/head_40x.S | 5 +- arch/powerpc/kernel/head_64.S | 7 +- arch/powerpc/kernel/head_8xx.S | 5 +- arch/powerpc/kernel/head_book3s_32.S | 29 ++++-- arch/powerpc/kernel/head_fsl_booke.S | 5 +- arch/powerpc/kernel/misc_64.S | 4 +- arch/powerpc/kernel/swsusp_32.S | 5 +- arch/powerpc/kernel/vdso/Makefile | 2 + arch/powerpc/kernel/vector.S | 4 +- arch/powerpc/kvm/book3s_hv_interrupts.S | 4 +- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 25 +++-- arch/powerpc/kvm/fpu.S | 17 +++- arch/powerpc/platforms/52xx/lite5200_sleep.S | 15 ++- arch/x86/Kconfig | 1 + drivers/crypto/vmx/Makefile | 2 + scripts/Makefile.lib | 1 + tools/objtool/arch/powerpc/Build | 2 + tools/objtool/arch/powerpc/decode.c | 96 +++++++++++++++++++ .../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 | 8 ++ 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 | 51 +++++----- 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 +- 45 files changed, 408 insertions(+), 105 deletions(-) create mode 100644 arch/powerpc/include/asm/asm.h 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.31.1