diff mbox series

Kbuild: suppress packed-not-aligned warning for default setting only

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

Commit Message

Xiongfeng Wang Jan. 11, 2018, 9:22 a.m. UTC
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(+)

-- 
1.8.3.1

Comments

Masahiro Yamada Jan. 16, 2018, 4:38 p.m. UTC | #1
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
Masahiro Yamada Jan. 17, 2018, 4:12 p.m. UTC | #2
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
Arnd Bergmann Jan. 17, 2018, 7:40 p.m. UTC | #3
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
Masahiro Yamada Jan. 18, 2018, 3:33 a.m. UTC | #4
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 mbox series

Patch

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)