kumquat-buildroot/package/uboot-tools/0004-tools-Makefile-build-host-tools-with-std-gnu99.patch
Thomas Petazzoni f27b9667b5 package/uboot-tools: fix build on hosts with old compilers
The U-Boot tools code uses some C99 constructs, but old compilers such
as gcc 4.7 don't default to -std=c99. This commit adds a patch,
submitted upstream, that makes sure host tools are built with
-std=gnu99 (because the U-Boot code uses GNU extensions).

Fixes:

  http://autobuild.buildroot.net/results/5cc55f5eabd5005e071ad4eabab8202604ac7b66/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-30 15:43:40 +01:00

43 lines
1.3 KiB
Diff

From aaabed350ec51f7bb9a07290ffb3ce6e794c8f22 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Tue, 19 Mar 2019 23:01:50 +0100
Subject: [PATCH] tools/Makefile: build host tools with -std=gnu99
Parts of the code are using C99 constructs (such as variables declared
inside loops), but also GNU extensions (such as typeof), so using
-std=gnu99 is necessary to build with older versions of gcc that don't
default to building with gnu99.
It fixes the following build failure:
./tools/../lib/crc16.c: In function "crc16_ccitt":
./tools/../lib/crc16.c:70:2: error: "for" loop initial declarations are only allowed in C99 mode
for (int i = 0; i < len; i++)
^
./tools/../lib/crc16.c:70:2: note: use option -std=c99 or -std=gnu99 to compile your code
when building the host tools with gcc 4.7.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
tools/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile
index 081383d7a7..d377d85f74 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -254,7 +254,8 @@ HOST_EXTRACFLAGS += -include $(srctree)/include/compiler.h \
-I$(srctree)/tools \
-DUSE_HOSTCC \
-D__KERNEL_STRICT_NAMES \
- -D_GNU_SOURCE
+ -D_GNU_SOURCE \
+ -std=gnu99
__build: $(LOGO-y)
--
2.20.1