aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-xlnx/3.14/kernel-use-the-gnu89-standard-explicitly.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-xlnx/3.14/kernel-use-the-gnu89-standard-explicitly.patch')
-rw-r--r--recipes-kernel/linux/linux-xlnx/3.14/kernel-use-the-gnu89-standard-explicitly.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-xlnx/3.14/kernel-use-the-gnu89-standard-explicitly.patch b/recipes-kernel/linux/linux-xlnx/3.14/kernel-use-the-gnu89-standard-explicitly.patch
new file mode 100644
index 00000000..9f7b3b8e
--- /dev/null
+++ b/recipes-kernel/linux/linux-xlnx/3.14/kernel-use-the-gnu89-standard-explicitly.patch
@@ -0,0 +1,66 @@
+From: "Kirill A. Shutemov" <kirill@shutemov.name>
+Date: Mon, 20 Oct 2014 12:23:12 +0300
+Subject: [PATCH] kernel: use the gnu89 standard explicitly
+
+Sasha Levin reports:
+ "gcc5 changes the default standard to c11, which makes kernel build
+ unhappy
+
+ Explicitly define the kernel standard to be gnu89 which should keep
+ everything working exactly like it was before gcc5"
+
+There are multiple small issues with the new default, but the biggest
+issue seems to be that the old - and very useful - GNU extension to
+allow a cast in front of an initializer has gone away.
+
+Patch updated by Kirill:
+ "I'm pretty sure all gcc versions you can build kernel with supports
+ -std=gnu89. cc-option is redunrant.
+
+ We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me"
+
+Note by Andrew Pinski:
+ "Yes it was reported and both problems relating to this extension has
+ been added to gnu99 and gnu11. Though there are other issues with the
+ kernel dealing with extern inline have different semantics between
+ gnu89 and gnu99/11"
+
+End result: we may be able to move up to a newer stdc model eventually,
+but right now the newer models have some annoying deficiencies, so the
+traditional "gnu89" model ends up being the preferred one.
+
+Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
+Singed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Upstream-Status: Backport [Minor merge conflict resolution]
+---
+ Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b2f7de8..6af4c22 100644
+--- a/Makefile
++++ b/Makefile
+@@ -244,7 +244,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
+
+ HOSTCC = gcc
+ HOSTCXX = g++
+-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
++HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
+ HOSTCXXFLAGS = -O2
+
+ # Decide whether to build built-in, modular, or both.
+@@ -382,7 +382,9 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
+ -fno-strict-aliasing -fno-common \
+ -Werror-implicit-function-declaration \
+ -Wno-format-security \
+- -fno-delete-null-pointer-checks
++ -fno-delete-null-pointer-checks \
++ -std=gnu89
++
+ KBUILD_AFLAGS_KERNEL :=
+ KBUILD_CFLAGS_KERNEL :=
+ KBUILD_AFLAGS := -D__ASSEMBLY__
+--
+2.5.1
+