12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- From 40337d6f3d677aee7ad3052ae662d3f53dd4d5cb Mon Sep 17 00:00:00 2001
- From: Arnd Bergmann <[email protected]>
- Date: Tue, 8 Mar 2022 22:56:15 +0100
- Subject: [PATCH 3/3] Kbuild: use -std=gnu11 for KBUILD_USERCFLAGS
- As we change the C language standard for the kernel from gnu89 to
- gnu11, it makes sense to also update the version for user space
- compilation.
- Some users have older native compilers than what they use for
- kernel builds, so I considered using gnu99 as the default version
- for wider compatibility with gcc-4.6 and earlier.
- However, testing with older compilers showed that we already require
- HOSTCC version 5.1 as well because a lot of host tools include
- linux/compiler.h that uses __has_attribute():
- CC tools/objtool/exec-cmd.o
- In file included from tools/include/linux/compiler_types.h:36:0,
- from tools/include/linux/compiler.h:5,
- from exec-cmd.c:2:
- tools/include/linux/compiler-gcc.h:19:5: error: "__has_attribute" is not defined [-Werror=undef]
- Signed-off-by: Arnd Bergmann <[email protected]>
- Reviewed-by: Nathan Chancellor <[email protected]>
- Reviewed-by: Nick Desaulniers <[email protected]>
- Tested-by: Sedat Dilek <[email protected]>
- Signed-off-by: Masahiro Yamada <[email protected]>
- ---
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- --- a/Makefile
- +++ b/Makefile
- @@ -440,7 +440,7 @@ endif
- HOSTPKG_CONFIG = pkg-config
-
- export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
- - -O2 -fomit-frame-pointer -std=gnu89 \
- + -O2 -fomit-frame-pointer -std=gnu11 \
- -Wdeclaration-after-statement
- export KBUILD_USERLDFLAGS :=
-
|