On Tue, Apr 18, 2023, at 14:06, Marco Elver wrote: > On Fri, 14 Apr 2023 at 18:26, Nathan Chancellor <nathan@xxxxxxxxxx> wrote: >> On Fri, Apr 14, 2023 at 10:29:27AM +0200, Arnd Bergmann wrote: > It errors as expected. But with: > >> clang -Werror -mllvm -hwasan-does-not-exist -c -x c /dev/null -o /dev/null > > It ends up printing _help_ text, because anything "-h..." (if it > doesn't recognize it as a long-form argument), will make it produce > the help text. Ah, that explains a lot. I think I actually tried a few other options, but probably only edited part of the option name, and not the beginning, so I always saw the help text. >> > # Instrument memcpy/memset/memmove calls by using instrumented __hwasan_mem*(). >> > +ifeq ($(call clang-min-version, 150000),y) >> > CFLAGS_KASAN += $(call cc-param,hwasan-kernel-mem-intrinsic-prefix=1) >> > +endif >> > +ifeq ($(call gcc-min-version, 130000),y) >> > +CFLAGS_KASAN += $(call cc-param,hwasan-kernel-mem-intrinsic-prefix=1) >> > +endif >> >> I do not think you need to duplicate this block, I think >> >> ifeq ($(call clang-min-version, 150000)$(call gcc-min-version, 130000),y) >> CFLAGS_KASAN += $(call cc-param,hwasan-kernel-mem-intrinsic-prefix=1) >> endif > > We just need the clang version check. If the compiler is gcc, it'll do > the "right thing" (i.e. not print help text). So at a minimum, we need > if "clang version >= 15 or gcc". Checking if gcc is 13 or later > doesn't hurt though, so I don't mind either way. I've sent a v2 now, with an updated help text and the simplified version check. It might be possible to change the cc-option check in a way that parses the output, this variant should do that, if we care: echo "char *str = \"check that assembler works\";" | clang -Werror -mllvm -hwasan-does-not-exist -S -x c - -o - | grep -q "check that assembler works" Arnd