Hi, On Mon, Feb 17, 2020 at 7:16 PM Vincenzo Frascino <vincenzo.frascino@xxxxxxx> wrote: > > Hi, > > On 17/02/2020 09:39, Masahiro Yamada wrote: > > Hi. > > > > On Mon, Feb 17, 2020 at 6:29 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> > >> --- > >> scripts/Kconfig.include | 4 ++++ > >> 1 file changed, 4 insertions(+) > >> > >> diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include > >> index 85334dc..374e251 100644 > >> --- a/scripts/Kconfig.include > >> +++ b/scripts/Kconfig.include > >> @@ -35,6 +35,10 @@ ld-option = $(success,$(LD) -v $(1)) > >> # 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 -) > >> > >> +# $(as-option,<flag>) > >> +# Return y if the assembler supports <flag>, n otherwise > >> +as-option =$(success, $(CC) $(CLANG_FLAGS) $(1) -c -x assembler /dev/null -o /dev/zero) > >> + > > > > > > I am still not convinced with using /dev/zero here. > > > > Could you please elaborate a bit more? I am just not familiar with this usage of /dev/zero. The behavior of /dev/null is clear. The read/write to /dev/null is described in the standard: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap10.html I just do not know whether the write to /dev/zero is the defined-behavior or not. Masahiro Yamada > > > > > Does this work? > > > > as-option = $(success, cat /dev/null | $(CC) $(CLANG_FLAGS) $(1) -c -x > > assembler -o /dev/null -) > > > > I will try and get back to you. Masahiro Yamada > > > > > [1] Could you insert as-option between ld-option and as-instr ? > > > > Sure, I will do it in the next version. > > > [2] Could you add some comments to explain why > > /dev/null -o /dev/null does not work? > > > > > > Comments are always a good think :) I will do in the next version. > > > > > > > > >> # 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) > >> -- > >> 2.7.4 > >> > > > > > > -- > Regards, > Vincenzo -- Best Regards Masahiro Yamada