From c2d920bf1fffc3a61cb77db24464caf39496b32d Mon Sep 17 00:00:00 2001 From: Vincenzo Frascino Date: Fri, 13 Mar 2020 14:35:02 +0530 Subject: kconfig: Add support for 'as-option' Currently kconfig does not have a feature that allows to detect if the used assembler supports a specific compilation option. Introduce 'as-option' to serve this purpose in the context of Kconfig: config X def_bool $(as-option,...) Signed-off-by: Amit Daniel Kachhap Signed-off-by: Vincenzo Frascino Acked-by: Masahiro Yamada Cc: linux-kbuild@vger.kernel.org Cc: Masahiro Yamada Signed-off-by: Catalin Marinas --- scripts/Kconfig.include | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'scripts/Kconfig.include') diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include index 85334dc8c997..a1c19255a030 100644 --- a/scripts/Kconfig.include +++ b/scripts/Kconfig.include @@ -31,6 +31,12 @@ cc-option = $(success,$(CC) -Werror $(CLANG_FLAGS) $(1) -S -x c /dev/null -o /de # Return y if the linker supports , n otherwise ld-option = $(success,$(LD) -v $(1)) +# $(as-option,) +# /dev/zero is used as output instead of /dev/null as some assembler cribs when +# both input and output are same. Also both of them have same write behaviour so +# can be easily substituted. +as-option = $(success, $(CC) $(CLANG_FLAGS) $(1) -c -x assembler /dev/null -o /dev/zero) + # $(as-instr,) # Return y if the assembler supports , n otherwise as-instr = $(success,printf "%b\n" "$(1)" | $(CC) $(CLANG_FLAGS) -c -x assembler -o /dev/null -) -- cgit v1.2.3 From 77342a02ff6e14645916d85c8550dd1011c4f7d7 Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Sun, 29 Mar 2020 20:08:32 +0900 Subject: gcc-plugins: drop support for GCC <= 4.7 Nobody was opposed to raising minimum GCC version to 4.8 [1] So, we will drop GCC <= 4.7 support sooner or later. We always use C++ compiler for building plugins for GCC >= 4.8. This commit drops the plugin support for GCC <= 4.7 a bit earlier, which allows us to dump lots of code. [1] https://lkml.org/lkml/2020/1/23/545 Signed-off-by: Masahiro Yamada Acked-by: Kees Cook --- scripts/Kconfig.include | 3 --- 1 file changed, 3 deletions(-) (limited to 'scripts/Kconfig.include') diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include index 8074f14d9d0d..c264da2b9b30 100644 --- a/scripts/Kconfig.include +++ b/scripts/Kconfig.include @@ -48,9 +48,6 @@ $(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found) # Fail if the linker is gold as it's not capable of linking the kernel proper $(error-if,$(success, $(LD) -v | grep -q gold), gold linker '$(LD)' not supported) -# gcc version including patch level -gcc-version := $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) - # machine bit flags # $(m32-flag): -m32 if the compiler supports it, or an empty string otherwise. # $(m64-flag): -m64 if the compiler supports it, or an empty string otherwise. -- cgit v1.2.3