Message ID | 20191211184027.20130-3-catalin.marinas@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: Memory Tagging Extension user-space support | expand |
On Thu, Dec 12, 2019 at 3:40 AM Catalin Marinas <catalin.marinas@arm.com> wrote: > > Similar to 'cc-option' or 'ld-option', it is occasionally necessary to > check whether the assembler supports certain ISA extensions. In the > arm64 code we currently do this in Makefile with an additional define: > > lseinstr := $(call as-instr,.arch_extension lse,-DCONFIG_AS_LSE=1) > > Add the 'as-instr' option so that it can be used in Kconfig directly: > > def_bool $(as-instr,.arch_extension lse) > > Cc: Masahiro Yamada <yamada.masahiro@socionext.com> > Cc: linux-kbuild@vger.kernel.org > Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> > --- Please feel fee to apply this to arm64 tree. Acked-by: Masahiro Yamada <masahiroy@kernel.org> > scripts/Kconfig.include | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include > index d4adfbe42690..9d07e59cbdf7 100644 > --- a/scripts/Kconfig.include > +++ b/scripts/Kconfig.include > @@ -31,6 +31,10 @@ cc-option = $(success,$(CC) -Werror $(CLANG_FLAGS) $(1) -E -x c /dev/null -o /de > # Return y if the linker supports <flag>, n otherwise > ld-option = $(success,$(LD) -v $(1)) > > +# $(as-instr,<instr>) > +# Return y if the assembler supports <instr>, n otherwise > +as-instr = $(success,printf "%b\n" "$(1)" | $(CC) $(CLANG_FLAGS) -c -x assembler -o /dev/null -) > + > # check if $(CC) and $(LD) exist > $(error-if,$(failure,command -v $(CC)),compiler '$(CC)' not found) > $(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found)
diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include index d4adfbe42690..9d07e59cbdf7 100644 --- a/scripts/Kconfig.include +++ b/scripts/Kconfig.include @@ -31,6 +31,10 @@ cc-option = $(success,$(CC) -Werror $(CLANG_FLAGS) $(1) -E -x c /dev/null -o /de # Return y if the linker supports <flag>, n otherwise ld-option = $(success,$(LD) -v $(1)) +# $(as-instr,<instr>) +# Return y if the assembler supports <instr>, n otherwise +as-instr = $(success,printf "%b\n" "$(1)" | $(CC) $(CLANG_FLAGS) -c -x assembler -o /dev/null -) + # check if $(CC) and $(LD) exist $(error-if,$(failure,command -v $(CC)),compiler '$(CC)' not found) $(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found)