[U-Boot] [PATCH v2] Makefile: adopt --std=gnu11 for HOSTCFLAGS on Linux
Mark Kettenis
mark.kettenis at xs4all.nl
Mon May 14 21:04:01 UTC 2018
> From: "Dr. Philipp Tomsich" <philipp.tomsich at theobroma-systems.com>
> Date: Mon, 14 May 2018 17:02:43 +0200
>
> > 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.
Sure. But these files are all supposed to be fairly high-level code
written in standard C. Ane decent C99 compiler shoul be able to
compile that code. The specific GCC 6 requirement for the cross
compiler was (mostly) introduced to be able to meet size constraints
nad I don't think it makes sense to enforce it for the host compiler.
More information about the U-Boot
mailing list