public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Josh Poimboeuf <jpoimboe@kernel.org>
To: x86@kernel.org
Cc: linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Brendan Jackman <jackmanb@google.com>,
	Nathan Chancellor <nathan@kernel.org>
Subject: [PATCH 00/13] Fail the build on objtool warnings
Date: Fri, 14 Mar 2025 12:28:58 -0700	[thread overview]
Message-ID: <cover.1741975349.git.jpoimboe@kernel.org> (raw)

Add an option to fail the build on objtool warnings, and enable it by
default except for CONFIG_COMPILE_TEST.

This is long overdue, probably the only reason we didn't do it before
(other than lack of time) was because there are still some obscure
warnings out there, especially once KCOV and sanitizers get added to the
mix.

But those are mostly bot issues, the main concern for objtool warnings
is actual real live kernels.  Hopefully the !COMPILE_TEST guard will
avoid too much wreckage for now.


Josh Poimboeuf (13):
  x86/traps: Make exc_double_fault() consistently noreturn
  objtool: Fix error handling inconsistencies in check()
  objtool: Improve __noreturn annotation warning
  objtool: Update documentation
  objtool: Increase per-function WARN_FUNC() rate limit
  objtool: Remove --unret dependency on --rethunk
  objtool: Consolidate option validation
  objtool: Upgrade "Linked object detected" warning to error
  objtool: Add --output option
  objtool: Add --Werror option
  objtool: Change "warning:" to "error:" for --Werror
  objtool: Create backup on error and print args
  objtool: Add CONFIG_OBJTOOL_WERROR

 arch/x86/kernel/traps.c                 |  18 +-
 lib/Kconfig.debug                       |  12 ++
 scripts/Makefile.lib                    |   1 +
 tools/objtool/Documentation/objtool.txt | 105 ++++++------
 tools/objtool/builtin-check.c           | 212 ++++++++++++++++++------
 tools/objtool/check.c                   |  60 +++----
 tools/objtool/elf.c                     |   3 -
 tools/objtool/include/objtool/builtin.h |   3 +-
 tools/objtool/include/objtool/elf.h     |   2 +-
 tools/objtool/include/objtool/warn.h    |  20 ++-
 tools/objtool/objtool.c                 |  78 +--------
 tools/objtool/orc_dump.c                |   7 +-
 12 files changed, 290 insertions(+), 231 deletions(-)

-- 
2.48.1


             reply	other threads:[~2025-03-14 19:29 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-14 19:28 Josh Poimboeuf [this message]
2025-03-14 19:28 ` [PATCH 01/13] x86/traps: Make exc_double_fault() consistently noreturn Josh Poimboeuf
2025-03-17  8:26   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 10:47   ` [PATCH 01/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 02/13] objtool: Fix error handling inconsistencies in check() Josh Poimboeuf
2025-03-17  8:29   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 10:47   ` [PATCH 02/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 03/13] objtool: Improve __noreturn annotation warning Josh Poimboeuf
2025-03-17  8:31   ` Brendan Jackman
2025-03-17 10:36     ` Miroslav Benes
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-14 19:29 ` [PATCH 04/13] objtool: Update documentation Josh Poimboeuf
2025-03-17  8:47   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 10:46   ` [PATCH 04/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 05/13] objtool: Increase per-function WARN_FUNC() rate limit Josh Poimboeuf
2025-03-17  9:15   ` Brendan Jackman
2025-03-17 12:29     ` Miroslav Benes
2025-03-18 10:59       ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-14 19:29 ` [PATCH 06/13] objtool: Remove --unret dependency on --rethunk Josh Poimboeuf
2025-03-14 19:38   ` Peter Zijlstra
2025-03-14 19:52     ` Josh Poimboeuf
2025-03-14 19:58       ` Peter Zijlstra
2025-03-17 12:33       ` Miroslav Benes
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-14 19:29 ` [PATCH 07/13] objtool: Consolidate option validation Josh Poimboeuf
2025-03-17  9:19   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 12:35   ` [PATCH 07/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 08/13] objtool: Upgrade "Linked object detected" warning to error Josh Poimboeuf
2025-03-17  9:21   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 12:38   ` [PATCH 08/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 09/13] objtool: Add --output option Josh Poimboeuf
2025-03-17  9:40   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 12:48   ` [PATCH 09/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 10/13] objtool: Add --Werror option Josh Poimboeuf
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 12:53   ` [PATCH 10/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 11/13] objtool: Change "warning:" to "error:" for --Werror Josh Poimboeuf
2025-03-17  9:42   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 13:04   ` [PATCH 11/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 12/13] objtool: Create backup on error and print args Josh Poimboeuf
2025-03-17  9:53   ` Brendan Jackman
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 14:09   ` [PATCH 12/13] " Miroslav Benes
2025-03-14 19:29 ` [PATCH 13/13] objtool: Add CONFIG_OBJTOOL_WERROR Josh Poimboeuf
2025-03-16  0:41   ` Ingo Molnar
2025-03-16  1:49     ` Josh Poimboeuf
2025-03-16 11:56       ` Ingo Molnar
2025-03-18  4:55         ` Josh Poimboeuf
2025-03-17 10:46   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2025-03-17 11:07   ` tip-bot2 for Josh Poimboeuf
2025-03-17 21:27     ` Ingo Molnar
2025-03-18  0:05       ` Josh Poimboeuf
2025-03-20 17:10         ` Steven Rostedt
2025-03-18 11:51       ` Ingo Molnar
2025-03-18 14:26         ` Josh Poimboeuf
2025-03-20  8:51         ` Ingo Molnar
2025-03-18  0:27     ` Josh Poimboeuf
2025-03-18  4:59       ` Josh Poimboeuf
2025-03-17 14:14   ` [PATCH 13/13] " Miroslav Benes
2025-03-23  7:50     ` Josh Poimboeuf

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=cover.1741975349.git.jpoimboe@kernel.org \
    --to=jpoimboe@kernel.org \
    --cc=jackmanb@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nathan@kernel.org \
    --cc=peterz@infradead.org \
    --cc=x86@kernel.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