[PATCH RFC next 16/18] scripts/Makefile.extrawarn: Respect CONFIG_WERROR / W=e for hostprogs
Ilias Apalodimas
ilias.apalodimas at linaro.org
Tue May 5 07:49:51 CEST 2026
On Mon, 4 May 2026 at 16:21, Quentin Schulz <foss+uboot at 0leil.net> wrote:
>
> From: Quentin Schulz <quentin.schulz at cherry.de>
>
> [ Upstream commit 7ded7d37e5f5b36b4acd74380156cf07b6640c5b ]
>
> Original commit log:
>
> Commit 27758d8c2583 ("kbuild: enable -Werror for hostprogs")
> unconditionally enabled -Werror for the compiler, assembler, and linker
> when building the host programs, as the build footprint of the host
> programs is small (thus risk of build failures from warnings are low)
> and that stage of the build may not have Kconfig values (thus
> CONFIG_WERROR could not be used as a precondition).
>
> While turning warnings into errors unconditionally happens in a few
> places within the kernel, it can be disruptive to people who may be
> building with newer compilers, such as while doing a bisect. While it is
> possible to avoid this behavior by passing HOSTCFLAGS=-w or
> HOSTCFLAGS=-Wno-error, it may not be the most intuitive for regular
> users not intimately familiar with Kbuild.
>
> Avoid being disruptive to the entire build by depending on the explicit
> opt-in of CONFIG_WERROR or W=e to enable -Werror and the like while
> building the host programs. While this means there is a small portion of
> the build that does not have -Werror enabled (namely scripts/kconfig/*
> and scripts/basic/fixdep), it is better than not having it altogether.
>
> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
> ---
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> scripts/Makefile.extrawarn | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
> index 8988308cc36..9fdc38a40af 100644
> --- a/scripts/Makefile.extrawarn
> +++ b/scripts/Makefile.extrawarn
> @@ -108,9 +108,11 @@ KBUILD_AFLAGS += -Wa,--fatal-warnings
> KBUILD_LDFLAGS += --fatal-warnings
> KBUILD_RUSTFLAGS += -Dwarnings
>
> -endif
> -
> -# Hostprog flags are used during build bootstrapping and can not rely on CONFIG_ symbols.
> +# While hostprog flags are used during build bootstrapping (thus should not
> +# depend on CONFIG_ symbols), -Werror is disruptive and should be opted into.
> +# Only apply -Werror to hostprogs built after the initial Kconfig stage.
> KBUILD_HOSTCFLAGS += -Werror
> KBUILD_HOSTLDFLAGS += -Wl,--fatal-warnings
> KBUILD_HOSTRUSTFLAGS += -Dwarnings
> +
> +endif
>
> --
> 2.54.0
>
More information about the U-Boot
mailing list