Message ID | 20220202230515.2931333-1-nathan@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] Makefile.extrawarn: Move -Wunaligned-access to W=1 | expand |
On Wed, Feb 2, 2022 at 3:07 PM Nathan Chancellor <nathan@kernel.org> wrote: > > -Wunaligned-access is a new warning in clang that is default enabled for > arm and arm64 under certain circumstances within the clang frontend (see > LLVM commit below). On v5.17-rc2, an ARCH=arm allmodconfig build shows > 1284 total/70 unique instances of this warning (most of the instances > are in header files), which is quite noisy. > > To keep a normal build green through CONFIG_WERROR, only show this > warning with W=1, which will allow automated build systems to catch new > instances of the warning so that the total number can be driven down to > zero eventually since catching unaligned accesses at compile time would > be generally useful. > > Cc: stable@vger.kernel.org > Link: https://github.com/llvm/llvm-project/commit/35737df4dcd28534bd3090157c224c19b501278a > Link: https://github.com/ClangBuiltLinux/linux/issues/1569 > Link: https://github.com/ClangBuiltLinux/linux/issues/1576 > Signed-off-by: Nathan Chancellor <nathan@kernel.org> Thanks to you and Arnd for working out whether this is important to pursue. Sounds like it is. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > --- > > v1 -> v2: https://lore.kernel.org/r/20220201232229.2992968-1-nathan@kernel.org/ > > * Move to W=1 instead of W=2 so that new instances are caught (Arnd). > * Add links to the ClangBuiltLinux issue tracker. > > scripts/Makefile.extrawarn | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index d53825503874..8be892887d71 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -51,6 +51,7 @@ KBUILD_CFLAGS += -Wno-sign-compare > KBUILD_CFLAGS += -Wno-format-zero-length > KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast) > KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare > +KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access) > endif > > endif > > base-commit: 26291c54e111ff6ba87a164d85d4a4e134b7315c > -- > 2.35.1 >
On Thu, Feb 3, 2022 at 8:12 AM Nick Desaulniers <ndesaulniers@google.com> wrote: > > On Wed, Feb 2, 2022 at 3:07 PM Nathan Chancellor <nathan@kernel.org> wrote: > > > > -Wunaligned-access is a new warning in clang that is default enabled for > > arm and arm64 under certain circumstances within the clang frontend (see > > LLVM commit below). On v5.17-rc2, an ARCH=arm allmodconfig build shows > > 1284 total/70 unique instances of this warning (most of the instances > > are in header files), which is quite noisy. > > > > To keep a normal build green through CONFIG_WERROR, only show this > > warning with W=1, which will allow automated build systems to catch new > > instances of the warning so that the total number can be driven down to > > zero eventually since catching unaligned accesses at compile time would > > be generally useful. > > > > Cc: stable@vger.kernel.org > > Link: https://github.com/llvm/llvm-project/commit/35737df4dcd28534bd3090157c224c19b501278a > > Link: https://github.com/ClangBuiltLinux/linux/issues/1569 > > Link: https://github.com/ClangBuiltLinux/linux/issues/1576 > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > > Thanks to you and Arnd for working out whether this is important to > pursue. Sounds like it is. > Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > > > --- I assume this should be considered as a bug fix to avoid the error for the combination of CONFIG_WERROR=y and the latest Clang. Applied to linux-kbuild/fixes. Thanks. > > > > v1 -> v2: https://lore.kernel.org/r/20220201232229.2992968-1-nathan@kernel.org/ > > > > * Move to W=1 instead of W=2 so that new instances are caught (Arnd). > > * Add links to the ClangBuiltLinux issue tracker. > > > > scripts/Makefile.extrawarn | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > > index d53825503874..8be892887d71 100644 > > --- a/scripts/Makefile.extrawarn > > +++ b/scripts/Makefile.extrawarn > > @@ -51,6 +51,7 @@ KBUILD_CFLAGS += -Wno-sign-compare > > KBUILD_CFLAGS += -Wno-format-zero-length > > KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast) > > KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare > > +KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access) > > endif > > > > endif > > > > base-commit: 26291c54e111ff6ba87a164d85d4a4e134b7315c > > -- > > 2.35.1 > > > > > -- > Thanks, > ~Nick Desaulniers
On Tue, Feb 08, 2022 at 01:23:32PM +0900, Masahiro Yamada wrote: > On Thu, Feb 3, 2022 at 8:12 AM Nick Desaulniers <ndesaulniers@google.com> wrote: > > > > On Wed, Feb 2, 2022 at 3:07 PM Nathan Chancellor <nathan@kernel.org> wrote: > > > > > > -Wunaligned-access is a new warning in clang that is default enabled for > > > arm and arm64 under certain circumstances within the clang frontend (see > > > LLVM commit below). On v5.17-rc2, an ARCH=arm allmodconfig build shows > > > 1284 total/70 unique instances of this warning (most of the instances > > > are in header files), which is quite noisy. > > > > > > To keep a normal build green through CONFIG_WERROR, only show this > > > warning with W=1, which will allow automated build systems to catch new > > > instances of the warning so that the total number can be driven down to > > > zero eventually since catching unaligned accesses at compile time would > > > be generally useful. > > > > > > Cc: stable@vger.kernel.org > > > Link: https://github.com/llvm/llvm-project/commit/35737df4dcd28534bd3090157c224c19b501278a > > > Link: https://github.com/ClangBuiltLinux/linux/issues/1569 > > > Link: https://github.com/ClangBuiltLinux/linux/issues/1576 > > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > > > > Thanks to you and Arnd for working out whether this is important to > > pursue. Sounds like it is. > > Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > > > > > --- > > > I assume this should be considered as a bug fix > to avoid the error for the combination of CONFIG_WERROR=y > and the latest Clang. > > Applied to linux-kbuild/fixes. > Thanks. Yes, this is what I was hoping for! Thank you, I'll try to make that more clear in the future. Cheers, Nathan > > > > > > v1 -> v2: https://lore.kernel.org/r/20220201232229.2992968-1-nathan@kernel.org/ > > > > > > * Move to W=1 instead of W=2 so that new instances are caught (Arnd). > > > * Add links to the ClangBuiltLinux issue tracker. > > > > > > scripts/Makefile.extrawarn | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > > > index d53825503874..8be892887d71 100644 > > > --- a/scripts/Makefile.extrawarn > > > +++ b/scripts/Makefile.extrawarn > > > @@ -51,6 +51,7 @@ KBUILD_CFLAGS += -Wno-sign-compare > > > KBUILD_CFLAGS += -Wno-format-zero-length > > > KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast) > > > KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare > > > +KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access) > > > endif > > > > > > endif > > > > > > base-commit: 26291c54e111ff6ba87a164d85d4a4e134b7315c > > > -- > > > 2.35.1 > > > > > > > > > -- > > Thanks, > > ~Nick Desaulniers > > > > -- > Best Regards > Masahiro Yamada
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index d53825503874..8be892887d71 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -51,6 +51,7 @@ KBUILD_CFLAGS += -Wno-sign-compare KBUILD_CFLAGS += -Wno-format-zero-length KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast) KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare +KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access) endif endif
-Wunaligned-access is a new warning in clang that is default enabled for arm and arm64 under certain circumstances within the clang frontend (see LLVM commit below). On v5.17-rc2, an ARCH=arm allmodconfig build shows 1284 total/70 unique instances of this warning (most of the instances are in header files), which is quite noisy. To keep a normal build green through CONFIG_WERROR, only show this warning with W=1, which will allow automated build systems to catch new instances of the warning so that the total number can be driven down to zero eventually since catching unaligned accesses at compile time would be generally useful. Cc: stable@vger.kernel.org Link: https://github.com/llvm/llvm-project/commit/35737df4dcd28534bd3090157c224c19b501278a Link: https://github.com/ClangBuiltLinux/linux/issues/1569 Link: https://github.com/ClangBuiltLinux/linux/issues/1576 Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- v1 -> v2: https://lore.kernel.org/r/20220201232229.2992968-1-nathan@kernel.org/ * Move to W=1 instead of W=2 so that new instances are caught (Arnd). * Add links to the ClangBuiltLinux issue tracker. scripts/Makefile.extrawarn | 1 + 1 file changed, 1 insertion(+) base-commit: 26291c54e111ff6ba87a164d85d4a4e134b7315c