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 v1 [2]: - Remove redundant check in create_orc pointed out by Miroslav [1] https://www.spinics.net/lists/kernel/msg3510844.html [2] https://lkml.org/lkml/2020/6/4/675 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: orc_gen: Move orc_entry out of instruction structure tools/objtool/builtin-check.c | 7 ++- tools/objtool/builtin-orc.c | 24 +++++++++- tools/objtool/check.c | 45 ++++--------------- tools/objtool/check.h | 1 - tools/objtool/objtool.c | 30 +++++++++++++ tools/objtool/objtool.h | 5 ++- tools/objtool/orc_gen.c | 83 ++++++++++++++++++++--------------- tools/objtool/weak.c | 4 +- 8 files changed, 119 insertions(+), 80 deletions(-) -- 2.21.1