[Buildroot] [PATCH RFC] linux: disable attribute alias with gcc >= 8.1
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Fri Jun 1 21:12:38 UTC 2018
Hello Romain,
On Thu, 31 May 2018 22:37:45 +0200, Romain Naour wrote:
> gcc-8 started warning about function aliases that have a non-matching
> prototype. This seems rather useful in general, but it causes tons of
> warnings in the Linux kernel, where we rely on abusing those aliases
> for system call entry points, in order to sanitze the arguments passed
> from user space in registers.
>
> See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82435
>
> Add a new conditional patch that disable the attribute-alias warning
> introduced by gcc-8 by adding -Wno-attribute-alias to KBUILD_CFLAGS.
>
> Signed-off-by: Romain Naour <romain.naour at gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> ---
>
> Fixes most of build errors reported by toolchains-builder on Gitlab.
> https://gitlab.com/free-electrons/toolchains-builder/pipelines/22921464
Thanks, but unfortunately, it doesn't fix a lot of those build errors,
because your patch doesn't apply as soon as the Linux kernel version is
a bit different.
For example, if you take qemu_mips32r2el_malta_defconfig, which builds
a 4.11.3 kernel, your patch doesn't apply, and so the bug appears.
So instead, I would like to suggest something like this:
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)
LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias
endif
which works without any patch, and therefore works with potentially all
kernel versions.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list