kernel: backport a change to 4.9 which disables overly aggressive warnings on gcc 8
authorFelix Fietkau <nbd@nbd.name>
Sun, 22 Jul 2018 15:05:09 +0000 (17:05 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sun, 22 Jul 2018 15:16:35 +0000 (17:16 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/generic/backport-4.9/014-Kbuild-suppress-packed-not-aligned-warning-for-defau.patch [new file with mode: 0644]

diff --git a/target/linux/generic/backport-4.9/014-Kbuild-suppress-packed-not-aligned-warning-for-defau.patch b/target/linux/generic/backport-4.9/014-Kbuild-suppress-packed-not-aligned-warning-for-defau.patch
new file mode 100644 (file)
index 0000000..a6e312a
--- /dev/null
@@ -0,0 +1,45 @@
+From: Xiongfeng Wang <xiongfeng.wang@linaro.org>
+Date: Thu, 11 Jan 2018 17:22:29 +0800
+Subject: [PATCH] Kbuild: suppress packed-not-aligned warning for default
+ setting only
+
+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 suppresses this kind of warnings for default setting.
+
+Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org>
+Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
+---
+
+--- a/scripts/Makefile.extrawarn
++++ b/scripts/Makefile.extrawarn
+@@ -10,6 +10,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
+@@ -25,6 +27,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)