Re: [PATCH v6 00/16] objtool: Enable and implement --mcount option on powerpc

2022-12-08 Thread Michael Ellerman
On Mon, 14 Nov 2022 23:27:38 +0530, Sathvika Vasireddy wrote:
> This patchset enables and implements objtool --mcount
> option on powerpc. This applies atop powerpc/merge branch.
> 
> Changelog:
> 
> 
> v6:
> 
> [...]

Applied to powerpc/next (and topic/objtool).

[01/16] powerpc: Fix __WARN_FLAGS() for use with Objtool

https://git.kernel.org/powerpc/c/93e3f45a26310e3f3f8558be40df411e23ab742c
[02/16] powerpc: Override __ALIGN and __ALIGN_STR macros

https://git.kernel.org/powerpc/c/01f2cf0b990e58ae89142f57c7e02d33621311d2
[03/16] powerpc: Fix objtool unannotated intra-function call warnings

https://git.kernel.org/powerpc/c/29a011fc79e625b2b02f25262657f7c4c59ae9f7
[04/16] powerpc: Curb objtool unannotated intra-function call warnings

https://git.kernel.org/powerpc/c/8d0c21b50655bfe136a76cf384495ba1f9c87224
[05/16] powerpc: Skip objtool from running on drivers/crypto/vmx/aesp8-ppc.o

https://git.kernel.org/powerpc/c/1c137323e9a2a970b4a5bf8cf3c50e0ea1cefbeb
[06/16] powerpc: Fix objtool unannotated intra-function call warnings on PPC32

https://git.kernel.org/powerpc/c/2da37761671b5bdedbe04e6469cfa57cd6b6ae45
[07/16] powerpc: Skip objtool from running on VDSO files

https://git.kernel.org/powerpc/c/d0160bd5d389da247fb5affb6a35ea393d22fedb
[08/16] objtool: Fix SEGFAULT

https://git.kernel.org/powerpc/c/efb11fdb3e1a9f694fa12b70b21e69e55ec59c36
[09/16] objtool: Use target file endianness instead of a compiled constant

https://git.kernel.org/powerpc/c/0646c28b417b7fe307c9da72ca1c508e43b57dc0
[10/16] objtool: Use target file class size instead of a compiled constant

https://git.kernel.org/powerpc/c/86ea7f361537f825a699e86fdc9e49be19f128d1
[11/16] objtool: Add --mnop as an option to --mcount

https://git.kernel.org/powerpc/c/280981d6994e0700abd36647b141e73059851e66
[12/16] objtool: Read special sections with alts only when specific options are 
selected

https://git.kernel.org/powerpc/c/de6fbcedf5abce4c321eeb15d7d286b79804b8b6
[13/16] objtool: Use macros to define arch specific reloc types

https://git.kernel.org/powerpc/c/c1449735211dd8c4c2d54fa0ece6890ecbd74e24
[14/16] objtool: Add arch specific function arch_ftrace_match()

https://git.kernel.org/powerpc/c/4ca993d498987332ceeedee5380101b84accaf35
[15/16] objtool/powerpc: Enable objtool to be built on ppc

https://git.kernel.org/powerpc/c/e52ec98c5ab18c0710ea22bf52f45e60a725adaf
[16/16] objtool/powerpc: Add --mcount specific implementation

https://git.kernel.org/powerpc/c/c984aef8c8326035570ff6e01d0ff9e79a5dfa76

cheers


[PATCH v6 00/16] objtool: Enable and implement --mcount option on powerpc

2022-11-14 Thread Sathvika Vasireddy
This patchset enables and implements objtool --mcount
option on powerpc. This applies atop powerpc/merge branch.

Changelog:


v6:

* Patch 06/16 - Add annotations to assembly files
arch/powerpc/kernel/cpu_setup_e500.S and 
arch/powerpc/kernel/head_85xx.S

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.

* 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 
before .
  - 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