[PATCH v5 00/16] objtool: Enable and implement --mcount option on powerpc
Christophe Leroy
christophe.leroy at csgroup.eu
Wed Nov 2 23:44:03 AEDT 2022
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
>
More information about the Linuxppc-dev
mailing list