On Fri, Jan 6, 2023, at 21:13, Kees Cook wrote: > On Fri, Jan 06, 2023 at 11:25:14PM +0900, Vincent MAILHOL wrote: >> On Fri. 6 Jan 2023 at 22:19, Jann Horn <jannh@xxxxxxxxxx> wrote: >> >> What are the minimum compiler requirements to build a program using >> the Linux UAPI? > > You're right -- we haven't explicitly documented this. C99 seems like > the defacto minimum, though. > >> And, after research, I could not find the answer. The requirements to >> build the kernel are well documented: >> >> https://docs.kernel.org/process/changes.html#changes >> >> But no clue for the uapi. I guess that at one point in 2006, people >> decided that it was time to set the minimum requirement to C99. Maybe >> this matches the end of life of the latest pre-C99 GCC version? The >> detailed answer must be hidden somewhere on lkml. > > I would make the argument that the requirements for building Linux UAPI > should match that of building the kernel... I think it's a bit more nuanced than that: glibc does not require C99 but does include some kernel headers from generic library headers, so I would not make the assumption that it's always safe to use C99 features. On the other hand, Linux specific device drivers whose header is only really used from one application are free to make assumptions about the toolchain. Arnd