Re: [PATCH 1/2] Makefile.extrawarn: move -Wcast-align to W=3
From: Nathan Chancellor
Date: Mon Oct 26 2020 - 21:42:25 EST
On Mon, Oct 26, 2020 at 11:03:13PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> This warning behaves differently depending on the architecture
> and compiler. Using x86 gcc, we get no output at all because
> gcc knows the architecture can handle unaligned accesses.
>
> Using x86 clang, or gcc on an architecture that needs to
> manually deal with unaligned accesses, the build log is
> completely flooded with these warnings, as they are commonly
> invoked by inline functions of networking headers, e.g.
>
> include/linux/skbuff.h:1426:26: warning: cast increases required alignment of target type [-Wcast-align]
>
> The compiler is correct to point this out, as we are dealing
> with undefined behavior that does cause problems in practice,
> but there is also no good way to rewrite the code in commonly
> included headers to a safer method.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Always sad to see a warning move further down the list but noisy headers
are rough to deal with. This seems okay.
Reviewed-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
> ---
> scripts/Makefile.extrawarn | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
> index 95e4cdb94fe9..6baee1200615 100644
> --- a/scripts/Makefile.extrawarn
> +++ b/scripts/Makefile.extrawarn
> @@ -60,7 +60,6 @@ endif
> #
> ifneq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
>
> -KBUILD_CFLAGS += -Wcast-align
> KBUILD_CFLAGS += -Wdisabled-optimization
> KBUILD_CFLAGS += -Wnested-externs
> KBUILD_CFLAGS += -Wshadow
> @@ -80,6 +79,7 @@ endif
> ifneq ($(findstring 3, $(KBUILD_EXTRA_WARN)),)
>
> KBUILD_CFLAGS += -Wbad-function-cast
> +KBUILD_CFLAGS += -Wcast-align
> KBUILD_CFLAGS += -Wcast-qual
> KBUILD_CFLAGS += -Wconversion
> KBUILD_CFLAGS += -Wpacked
> --
> 2.27.0
>