Le 28/10/2022 à 16:33, Sathvika Vasireddy a écrit : > This patchset enables and implements objtool --mcount > option on powerpc. This applies atop powerpc/merge branch. > > Changelog: > > ---- > v5: > > * Patch 02/16 - Add Reviewed-by tag from Christophe Leroy > > * Patch 03/16 - Fix merge conflicts with latest powerpc/merge branch > > * Patch 06/16 - Files arch/powerpc/kernel/cpu_setup_fsl_booke.S and > arch/powerpc/kernel/head_fsl_booke.S are not present > today. Removed annotations in those assembly files.
Those files have not disappeared but have been renamed. The changes should have followed automatically during a rebase. If not, please don't miss them: Commit 3e7318584dfe ("powerpc: Remove CONFIG_PPC_FSL_BOOK3E") arch/powerpc/kernel/{cpu_setup_fsl_booke.S => cpu_setup_e500.S} Commit dfc3095cec27 ("powerpc: Remove CONFIG_FSL_BOOKE") arch/powerpc/kernel/{head_fsl_booke.S => head_85xx.S} > > * Patch 11/16 - Add Reviewed-by tag from Christophe Leroy > - Changed scripts/Makefile.lib file to make > CONFIG_HAVE_OBJTOOL_NOP_MCOUNT depend on > CONFIG_FTRACE_MCOUNT_USE_OBJTOOL. > > * Patch 12/16 - Add Reviewed-by tag from Christophe Leroy > > * Patch 16/16 - Add Reviewed-by tag from Christophe Leroy > > * For this series - Add Acked-by tag from Josh Poimboeuf > - Add Tested-by tag from Naveen N. Rao > - Add Reviewed-by tag from Naveen N. Rao > ---- > v4: > > * Patch 11/16 - Introduce a new config option > CONFIG_HAVE_OBJTOOL_NOP_MCOUNT as a means for > architectures to enable nop'ing ftrace locations. > > - Remove Acked-by tag from Peter Zijlstra (Intel), > and Reviewed-by tag from Christophe Leroy. > [This is done because I reworked the patch to add > a new config option to objtool. Please let me know > if you want me to retain the tags. Thanks!] > > * Patch 16/16 - Rework the patch to handle only 'bl' instruction > decoding. > > ---- > v3: > > * Patch 01/16 - Rework patch subject. > - Rework changelog. > - Add Reviewed-by tag from Christophe Leroy. > > * Patch 02/16 - Rework changelog to update details based on feedback > from Nicholas Piggin and Michael Ellerman. > - Use quotes instead of __stringify macro, based on > suggestion from Christophe Leroy. > > * Patch 03/16 - Add Reviewed-by tag from Christophe Leroy. > - Based on Christophe's suggestion, keep all <linux/...> > before <asm/...>. > - Rework changelog. > > * Patch 04/16 - Add Reviewed-by tag from Christophe Leroy. > > * Patch 05/16 - Add Reviewed-by tag from Christophe Leroy. > > * Patch 06/16 - No change. > > * Patch 07/16 - Add Reviewed-by tag from Christophe Leroy. > > * Patch 08/16 - Add Acked-by tag from Peter Zijlstra. > > * Patch 09/16 - Add Acked-by tag from Peter Zijlstra. > > * Patch 10/16 - Reorder local variable declarations to use reverse > xmas tree format. > - Add Signed-off-by tag from Sathvika Vasireddy indicating > changes done. > - Add Acked-by tag from Peter Zijlstra. > > * Patch 11/16 - Update changelog to indicate that powerpc kernel does > not support nop'ed out ftrace locations. > - Add Acked-by tag from Peter Zijlstra. > - Add Reviewed-by tag from Christophe Leroy. > > * Patch 12/16 - Per Christophe's comment, rework changelog. > > * Patch 13/16 - Add Acked-by tag from Peter Zijlstra. > - Add Reviewed-by tag from Christophe Leroy. > > * Patch 14/16 - Simplify arch_ftrace_match() function, based on > Christophe's suggestion. > - Add Reviewed-by tag from Christophe Leroy. > > * Patch 15/16 - Include code from Christophe Leroy to use local vars for > type and imm, and to adapt len for prefixed > instructions. > > * Patch 16/16 - Based on suggestion from Christophe Leroy, setup > immediate value calculation outside the check for > specific instruction under case 18. > - Set instruction type to INSN_CALL for 'bla' > instruction as well. > > ---- > v2: > > * Change subject of patch 01/16 > * As suggested by Christophe Leroy, add barrier_before_unreachable() > before __builtin_unreachable() to work around a gcc problem. > * Fix issues reported by Kernel Test Robot. > * Include suggestions from Christophe Leroy, and change commit > messages for patches 01/16, 02/16, 03/16, 05/16. > > ---- > > 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: Fix __WARN_FLAGS() for use with Objtool > powerpc: Override __ALIGN and __ALIGN_STR macros > powerpc: Fix objtool unannotated intra-function call warnings > powerpc: Curb objtool unannotated intra-function 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 | 3 +- > arch/powerpc/include/asm/linkage.h | 3 + > arch/powerpc/kernel/cpu_setup_6xx.S | 26 +++-- > arch/powerpc/kernel/entry_32.S | 9 +- > arch/powerpc/kernel/entry_64.S | 2 + > arch/powerpc/kernel/exceptions-64s.S | 4 +- > 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/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 + > kernel/trace/Kconfig | 7 ++ > scripts/Makefile.lib | 3 + > 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 +- > 44 files changed, 408 insertions(+), 103 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 >