On Mon, Oct 26, 2020 at 11:03:13PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <a...@arndb.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 <a...@arndb.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 <natechancel...@gmail.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
> 

Reply via email to