tools/Makefile: build host tools with -std=gnu99
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 30 Mar 2019 14:29:23 +0000 (15:29 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 3 Apr 2019 14:26:46 +0000 (10:26 -0400)
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>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
tools/Makefile

index 081383d7a790fde91699b532d962cc6ee9849f8f..d377d85f74e7ae08a992df3ef5a05acb44e0b2a1 100644 (file)
@@ -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)