Hi,
Matt Helsley's change[1] provided a base framework to opt-in/out
objtool subcommands at compile time. This makes it easier for
architectures to port objtool, one subcommand at a time.
Orc generation relies on the check operation implementation. However,
the way this is done causes the check implementation to depend on the
implementation of orc generation functions to call if orc generation is
requested. This means that in order to implement check subcmd, orc
subcmd also need to be implemented.
These patches aim at removing that dependency, having orc subcmd
being built on top of the check subcmd.
Changes since v3 [2]:
- Rebased on v5.9-rc1
- Renamed objtool_setup_file() to objtool_open_read()
- Fixed misplaced elf_write() when file->elf->changed is true
- Avoid additional allocation for orc data and compile out orc
definition when not needed instead
[1] https://www.spinics.net/lists/kernel/msg3510844.html
[2] https://lkml.org/lkml/2020/7/30/415
Cheers,
Julien
-->
Julien Thierry (4):
objtool: Move object file loading out of check
objtool: Move orc outside of check
objtool: orc: Skip setting orc_entry for non-text sections
objtool: check: Use orc definition only when needed
tools/objtool/Makefile | 4 +++
tools/objtool/arch.h | 2 ++
tools/objtool/builtin-check.c | 15 ++++++++++-
tools/objtool/builtin-orc.c | 27 +++++++++++++++++++-
tools/objtool/check.c | 47 ++++++-----------------------------
tools/objtool/check.h | 2 ++
tools/objtool/objtool.c | 29 +++++++++++++++++++++
tools/objtool/objtool.h | 4 ++-
tools/objtool/orc_gen.c | 3 +++
tools/objtool/weak.c | 4 +--
10 files changed, 92 insertions(+), 45 deletions(-)
--
2.21.3