[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201027014219.GA4058050@ubuntu-m3-large-x86>
Date: Mon, 26 Oct 2020 18:42:19 -0700
From: Nathan Chancellor <natechancellor@...il.com>
To: Arnd Bergmann <arnd@...nel.org>
Cc: Masahiro Yamada <masahiroy@...nel.org>,
Michal Marek <michal.lkml@...kovi.net>,
Arnd Bergmann <arnd@...db.de>,
Nick Desaulniers <ndesaulniers@...gle.com>,
linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
clang-built-linux@...glegroups.com
Subject: Re: [PATCH 1/2] Makefile.extrawarn: move -Wcast-align to W=3
On Mon, Oct 26, 2020 at 11:03:13PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> 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@...db.de>
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@...il.com>
> ---
> 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
>
Powered by blists - more mailing lists