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

Reply via email to