[U-Boot] [PATCH v2] Makefile: adopt --std=gnu11 for HOSTCFLAGS on Linux

Mark Kettenis mark.kettenis at xs4all.nl
Mon May 14 14:53:49 UTC 2018


> 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...

> 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
> https://lists.denx.de/listinfo/u-boot
> 


More information about the U-Boot mailing list