[U-Boot] [PATCH v2] Makefile: adopt --std=gnu11 for HOSTCFLAGS on Linux
Dr. Philipp Tomsich
philipp.tomsich at theobroma-systems.com
Mon May 14 15:02:43 UTC 2018
> On 14 May 2018, at 16:53, Mark Kettenis <mark.kettenis at xs4all.nl> wrote:
>
>> From: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>> Date: Mon, 14 May 2018 15:22:06 +0200
>>
>> Following the conversion of the SPDX license tags, a number of files
>> compiled with -pedantic now generate warnings similar to the following
>> for using C99-style '//' comments in ISO C90 code:
>>
>> tools/gen_eth_addr.c:1:1: warning: C++ style comments are not allowed in ISO C90
>> // SPDX-License-Identifier: GPL-2.0+
>> ^
>>
>> The SPDX comment-style change means that these files have adopted C99,
>> so need to change the language-standard to --std=gnu99 or --std=gnu11
>> to let the compiler know this.
>>
>> As we now require GCC 6 or newer for the cross-compiler, the project has
>> implicitly moved the project to GNU11: let older GCC versions on various
>> Linux distros know to treat our host tools as GNU11 as well.
>
> Note that the requirement is on the cross-compiler, not the host
> compiler. On our "primary" architectures OpenBSD 6.3 ships with Clang
> 5.0.1 and the current development version uses Clang 6.0.0, which
> default to --std=gnu11. I do hope those will continue to be supported
> as the host compiler…
Many of the files in question (e.g. lib/sha{1,256}.c) are shared between
the target and the host tools.
>> References: commit 83d290c56fab ("SPDX: Convert all of our single license tags to Linux Kernel style")
>> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>> ---
>>
>> Changes in v2:
>> - Set '--std=gnu11' during compilation of host tools on Linux.
>>
>> Makefile | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/Makefile b/Makefile
>> index f31ee60..d08fb6a 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -258,6 +258,15 @@ HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer \
>> $(if $(CONFIG_TOOLS_DEBUG),-g)
>> HOSTCXXFLAGS = -O2
>>
>> +# With the move to GCC 6, we have implicitly upgraded our language
>> +# standard to GNU11 (see https://gcc.gnu.org/gcc-5/porting_to.html).
>> +# Some Linux distributions (including RHEL7, SLES13, Debian 8) still
>> +# have older compilers as their default, so we make it explicit for
>> +# these that our host tools are GNU11 (i.e. C11 w/ GNU extensions).
>> +ifeq ($(HOSTOS),linux)
>> +HOSTCFLAGS += --std=gnu11
>> +endif
>> +
>> ifeq ($(HOSTOS),cygwin)
>> HOSTCFLAGS += -ansi
>> endif
>> --
>> 2.1.4
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de <mailto:U-Boot at lists.denx.de>
>> https://lists.denx.de/listinfo/u-boot <https://lists.denx.de/listinfo/u-boot>
More information about the U-Boot
mailing list