From: Sathvika Vasireddy <sv@linux.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: jpoimboe@redhat.com, peterz@infradead.org,
	linux-kernel@vger.kernel.org, aik@ozlabs.ru, mpe@ellerman.id.au,
	mingo@redhat.com, christophe.leroy@csgroup.eu,
	rostedt@goodmis.org, mbenes@suse.cz, npiggin@gmail.com,
	chenzhongjin@huawei.com, naveen.n.rao@linux.vnet.ibm.com,
	sv@linux.ibm.com
Subject: [PATCH v2 00/16] objtool: Enable and implement --mcount option on powerpc
Date: Mon, 29 Aug 2022 11:22:07 +0530	[thread overview]
Message-ID: <20220829055223.24767-1-sv@linux.ibm.com> (raw)
This patchset enables and implements objtool --mcount
option on powerpc. This applies atop powerpc/merge branch.
Changelog:
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: Replace unreachable() with it's builtin variant in __WARN_FLAGS()
  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                |  3 +-
 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                |  9 +-
 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, 409 insertions(+), 106 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
next             reply	other threads:[~2022-08-29  5:53 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-29  5:52 Sathvika Vasireddy [this message]
2022-08-29  5:52 ` [PATCH v2 01/16] powerpc: Replace unreachable() with it's builtin variant in __WARN_FLAGS() Sathvika Vasireddy
2022-08-30  6:15   ` Christophe Leroy
2022-09-05 10:18     ` Naveen N. Rao
2022-08-29  5:52 ` [PATCH v2 02/16] powerpc: override __ALIGN() and __ALIGN_STR() macros Sathvika Vasireddy
2022-08-29 13:26   ` Christophe Leroy
2022-08-29 14:39     ` Sathvika Vasireddy
2022-08-31  3:24   ` Nicholas Piggin
2022-08-31  7:22     ` Michael Ellerman
2022-09-05 11:03   ` Peter Zijlstra
2022-08-29  5:52 ` [PATCH v2 03/16] powerpc: Fix objtool unannotated intra-function call warnings Sathvika Vasireddy
2022-08-30  6:16   ` Christophe Leroy
2022-08-30 12:42   ` Christophe Leroy
2022-09-05 11:02   ` Peter Zijlstra
2022-08-29  5:52 ` [PATCH v2 04/16] powerpc: Curb objtool unannotated intra-function warnings Sathvika Vasireddy
2022-08-30  6:26   ` Christophe Leroy
2022-08-29  5:52 ` [PATCH v2 05/16] powerpc: Skip objtool from running on drivers/crypto/vmx/aesp8-ppc.o Sathvika Vasireddy
2022-08-30  6:26   ` Christophe Leroy
2022-09-01 19:17   ` Peter Zijlstra
2022-09-05 10:47     ` Naveen N. Rao
2022-08-29  5:52 ` [PATCH v2 06/16] powerpc: Fix objtool unannotated intra-function call warnings on PPC32 Sathvika Vasireddy
2022-08-29  5:52 ` [PATCH v2 07/16] powerpc: Skip objtool from running on VDSO files Sathvika Vasireddy
2022-08-30  6:27   ` Christophe Leroy
2022-09-01 19:19   ` Peter Zijlstra
2022-09-02  7:40     ` Michael Ellerman
2022-08-29  5:52 ` [PATCH v2 08/16] objtool: Fix SEGFAULT Sathvika Vasireddy
2022-09-01 19:20   ` Peter Zijlstra
2022-09-02  8:06     ` Christophe Leroy
2022-09-02  8:42       ` Peter Zijlstra
2022-08-29  5:52 ` [PATCH v2 09/16] objtool: Use target file endianness instead of a compiled constant Sathvika Vasireddy
2022-09-01 19:22   ` Peter Zijlstra
2022-08-29  5:52 ` [PATCH v2 10/16] objtool: Use target file class size " Sathvika Vasireddy
2022-09-01 19:23   ` Peter Zijlstra
2022-08-29  5:52 ` [PATCH v2 11/16] objtool: Add --mnop as an option to --mcount Sathvika Vasireddy
2022-08-30  6:28   ` Christophe Leroy
2022-09-01 19:25   ` Peter Zijlstra
2022-09-05 10:55     ` Naveen N. Rao
2022-08-29  5:52 ` [PATCH v2 12/16] objtool: Read special sections with alts only when specific options are selected Sathvika Vasireddy
2022-08-30  6:31   ` Christophe Leroy
2022-08-29  5:52 ` [PATCH v2 13/16] objtool: Use macros to define arch specific reloc types Sathvika Vasireddy
2022-08-30  6:33   ` Christophe Leroy
2022-09-01 19:28   ` Peter Zijlstra
2022-08-29  5:52 ` [PATCH v2 14/16] objtool: Add arch specific function arch_ftrace_match() Sathvika Vasireddy
2022-08-30  6:36   ` Christophe Leroy
2022-08-29  5:52 ` [PATCH v2 15/16] objtool/powerpc: Enable objtool to be built on ppc Sathvika Vasireddy
2022-08-30  6:41   ` Christophe Leroy
2022-09-05 10:37     ` Naveen N. Rao
2023-02-04  8:19     ` Randy Dunlap
2023-02-04  8:21       ` Randy Dunlap
2023-02-04  8:30         ` Randy Dunlap
2023-02-04 11:55           ` Christophe Leroy
2023-02-04 13:10             ` Christophe Leroy
2023-02-04 15:47               ` Josh Poimboeuf
2022-09-01  9:32   ` Christophe Leroy
2022-09-01 15:11     ` Segher Boessenkool
2022-09-01 16:38       ` Christophe Leroy
2022-09-01 19:01         ` Peter Zijlstra
2022-08-29  5:52 ` [PATCH v2 16/16] objtool/powerpc: Add --mcount specific implementation Sathvika Vasireddy
2022-08-30  6:44   ` Christophe Leroy
2022-08-31 12:50   ` Christophe Leroy
2022-08-31 17:51     ` Segher Boessenkool
2022-09-05 10:45       ` Naveen N. Rao
2022-09-05 20:43         ` Segher Boessenkool
2022-09-06  6:22           ` Christophe Leroy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=20220829055223.24767-1-sv@linux.ibm.com \
    --to=sv@linux.ibm.com \
    --cc=aik@ozlabs.ru \
    --cc=chenzhongjin@huawei.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mbenes@suse.cz \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).