On Fri, Mar 6, 2020 at 3:36 PM Amit Daniel Kachhap <amit.kachhap@xxxxxxx> wrote: > > From: Vincenzo Frascino <vincenzo.frascino@xxxxxxx> > > 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,...) > > Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > Cc: linux-kbuild@xxxxxxxxxxxxxxx > Acked-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx> > Signed-off-by: Amit Daniel Kachhap <amit.kachhap@xxxxxxx> > --- > Changes since v5: > * More descriptions for using /dev/zero. FYI: This has been fixed: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3c968de5c7d1719b2f9b538f2f7f5f5922e5f311 So, this will not be a problem for the future release of binutils. Anyway, we need to take care of the released ones, so I am fine with /dev/zero. > scripts/Kconfig.include | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include > index 85334dc..a1c1925 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 <flag>, n otherwise > ld-option = $(success,$(LD) -v $(1)) > > +# $(as-option,<flag>) > +# /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,<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 -) > -- > 2.7.4 > -- Best Regards Masahiro Yamada