[PATCH v3 0/2] objtool: Add option to fail build on vmlinux warnings

Brendan Jackman
2025-01-13T14:05:19Z

This adds an option to objtool to exit with an error when it enounters
warnings.

Then, it adds a config to enable that flag. This enables you to fail
the build e.g. when noinstr is violated.

When that happens, you also get a more verbose log, for example when
failing noisntr validation it dumps disassembly of the offending code.

Signed-off-by: Brendan Jackman <jackmanb@google.com>
---
Changes in v3:
- Added --verbose to objtool args (equivalent to OBJTOOL_VERBOSE=1, which
Josh Poimboeuf suggested).
- Link to v2: https://lore.kernel.org/r/20241218-objtool-strict-v2-0-a5297c961434@google.com

Changes in v2:
- Renamed flag/config to -Werror/CONFIG_*_WERROR
- Applied to all objool runs instead of just vmlinux.
- Link to v1: https://lore.kernel.org/r/20241213-objtool-strict-v1-0-fd388f9d971f@google.com

---
Brendan Jackman (2):
objtool: Add --Werror
kbuild: Add option to fail build on vmlinux objtool issues

lib/Kconfig.debug | 10 ++++++++++
scripts/Makefile.lib | 1 +
tools/objtool/builtin-check.c | 6 ++++++
tools/objtool/check.c | 7 ++-----
tools/objtool/include/objtool/builtin.h | 1 +
5 files changed, 20 insertions(+), 5 deletions(-)
---
base-commit: 5bc55a333a2f7316b58edc7573e8e893f7acb532
change-id: 20241213-objtool-strict-cb9a0a75139e

Best regards,
--
Brendan Jackman <jackmanb@google.com>