Message ID | 1515662549-58933-1-git-send-email-wangxiongfeng2@huawei.com |
---|---|
State | New |
Headers | show |
Series | Kbuild: suppress packed-not-aligned warning for default setting only | expand |
2018-01-11 18:22 GMT+09:00 Xiongfeng Wang <wangxiongfeng2@huawei.com>: > From: Xiongfeng Wang <xiongfeng.wang@linaro.org> > > gcc-8 reports many -Wpacked-not-aligned warnings. The below are some > examples. > > ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct > ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] > } __attribute__ ((packed)); > > ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct > ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] > } __attribute__ ((packed)); > > ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct > ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] > } __attribute__ ((packed)); > > This patch suppress this kind of warnings for default setting. > > Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org> > --- > scripts/Makefile.extrawarn | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index c6ebf42..8d53570 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -11,6 +11,8 @@ > # are not supported by all versions of the compiler > # ========================================================================== > > +KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) > + > ifeq ("$(origin W)", "command line") > export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W) > endif > @@ -26,6 +28,7 @@ warning-1 += -Wold-style-definition > warning-1 += $(call cc-option, -Wmissing-include-dirs) > warning-1 += $(call cc-option, -Wunused-but-set-variable) > warning-1 += $(call cc-option, -Wunused-const-variable) > +warning-1 += $(call cc-option, -Wpacked-not-aligned) > warning-1 += $(call cc-disable-warning, missing-field-initializers) > warning-1 += $(call cc-disable-warning, sign-compare) Applied to linux-kbuild/kbuild. Thanks! -- Best Regards Masahiro Yamada
2018-01-11 18:22 GMT+09:00 Xiongfeng Wang <wangxiongfeng2@huawei.com>: > From: Xiongfeng Wang <xiongfeng.wang@linaro.org> > > gcc-8 reports many -Wpacked-not-aligned warnings. The below are some > examples. > > ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct > ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] > } __attribute__ ((packed)); > > ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct > ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] > } __attribute__ ((packed)); > > ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct > ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] > } __attribute__ ((packed)); > > This patch suppress this kind of warnings for default setting. > > Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org> > --- > scripts/Makefile.extrawarn | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index c6ebf42..8d53570 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -11,6 +11,8 @@ > # are not supported by all versions of the compiler > # ========================================================================== > > +KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) > + I moved this to else case of KBUILD_ENABLE_EXTRA_GCC_CHECKS Please let me know if you see a problem. -- Best Regards Masahiro Yamada
On Wed, Jan 17, 2018 at 5:12 PM, Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > 2018-01-11 18:22 GMT+09:00 Xiongfeng Wang <wangxiongfeng2@huawei.com>: >> From: Xiongfeng Wang <xiongfeng.wang@linaro.org> >> >> gcc-8 reports many -Wpacked-not-aligned warnings. The below are some >> examples. >> >> ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct >> ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] >> } __attribute__ ((packed)); >> >> ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct >> ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] >> } __attribute__ ((packed)); >> >> ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct >> ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] >> } __attribute__ ((packed)); >> >> This patch suppress this kind of warnings for default setting. >> >> Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org> >> --- >> scripts/Makefile.extrawarn | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn >> index c6ebf42..8d53570 100644 >> --- a/scripts/Makefile.extrawarn >> +++ b/scripts/Makefile.extrawarn >> @@ -11,6 +11,8 @@ >> # are not supported by all versions of the compiler >> # ========================================================================== >> >> +KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) >> + > > I moved this to else case of KBUILD_ENABLE_EXTRA_GCC_CHECKS > > Please let me know if you see a problem. It means we get the warning for any argument to W=, not just W=1, but that's probably fine. I'd like to one day clean up the clang warnings and those that we disable unconditionally in the top-level Makefile so that each warning gets enabled at a specific level. For the time being, I'm happy with the packed-not-aligned disabled by default. Arnd
Hi Arnd, 2018-01-18 4:40 GMT+09:00 Arnd Bergmann <arnd@arndb.de>: > On Wed, Jan 17, 2018 at 5:12 PM, Masahiro Yamada > <yamada.masahiro@socionext.com> wrote: >> 2018-01-11 18:22 GMT+09:00 Xiongfeng Wang <wangxiongfeng2@huawei.com>: >>> From: Xiongfeng Wang <xiongfeng.wang@linaro.org> >>> >>> gcc-8 reports many -Wpacked-not-aligned warnings. The below are some >>> examples. >>> >>> ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct >>> ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] >>> } __attribute__ ((packed)); >>> >>> ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct >>> ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] >>> } __attribute__ ((packed)); >>> >>> ./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct >>> ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] >>> } __attribute__ ((packed)); >>> >>> This patch suppress this kind of warnings for default setting. >>> >>> Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org> >>> --- >>> scripts/Makefile.extrawarn | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn >>> index c6ebf42..8d53570 100644 >>> --- a/scripts/Makefile.extrawarn >>> +++ b/scripts/Makefile.extrawarn >>> @@ -11,6 +11,8 @@ >>> # are not supported by all versions of the compiler >>> # ========================================================================== >>> >>> +KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) >>> + >> >> I moved this to else case of KBUILD_ENABLE_EXTRA_GCC_CHECKS >> >> Please let me know if you see a problem. > > It means we get the warning for any argument to W=, not just W=1, but > that's probably fine. Oops, you are right. I retrace it. > I'd like to one day clean up the clang warnings > and those that we disable unconditionally in the top-level Makefile > so that each warning gets enabled at a specific level. Yup. As a loosely related item, I see some confusion for DTC extra warning checks. I have sent a patch. > For the time > being, I'm happy with the packed-not-aligned disabled by default. > > Arnd Anyway, I picked the original patch. You may move it to the top-level Makefile when you work on it. -- Best Regards Masahiro Yamada
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index c6ebf42..8d53570 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -11,6 +11,8 @@ # are not supported by all versions of the compiler # ========================================================================== +KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) + ifeq ("$(origin W)", "command line") export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W) endif @@ -26,6 +28,7 @@ warning-1 += -Wold-style-definition warning-1 += $(call cc-option, -Wmissing-include-dirs) warning-1 += $(call cc-option, -Wunused-but-set-variable) warning-1 += $(call cc-option, -Wunused-const-variable) +warning-1 += $(call cc-option, -Wpacked-not-aligned) warning-1 += $(call cc-disable-warning, missing-field-initializers) warning-1 += $(call cc-disable-warning, sign-compare)