On Thu, Jul 29, 2021 at 6:50 PM 'Nick Desaulniers' via Clang Built Linux <clang-built-linux@xxxxxxxxxxxxxxxx> wrote: > > We get constant feedback that the command line invocation of make is too > long. CROSS_COMPILE is helpful when a toolchain has a prefix of the > target triple, or is an absolute path outside of $PATH, but it's mostly > redundant for a given SRCARCH. SRCARCH itself is derived from ARCH > (normalized for a few different targets). > > If CROSS_COMPILE is not set, simply set --target= for CLANG_FLAGS, > KBUILD_CFLAGS, and KBUILD_AFLAGS based on $SRCARCH. > > Previously, we'd cross compile via: > $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make LLVM=1 LLVM_IAS=1 > Now: > $ ARCH=arm64 make LLVM=1 LLVM_IAS=1 > > For native builds (not involving cross compilation) we now explicitly > specify a target triple rather than rely on the implicit host triple. > > Link: https://github.com/ClangBuiltLinux/linux/issues/1399 > Suggested-by: Arnd Bergmann <arnd@xxxxxxxxxx> > Suggested-by: Nathan Chancellor <nathan@xxxxxxxxxx> > Suggested-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Looks good to me, Acked-by: Arnd Bergmann <arnd@xxxxxxxx> > +else > +$(error Specify CROSS_COMPILE or add '--target=' option to scripts/Makefile.clang) > +endif # SRCARCH > +endif # LLVM_IAS Now in theory I suppose we could just have the fallback use --target="$(SRCARCH)-linux-gnu" to avoid having to change this for every new architecture. I think in most cases, this would just work, even though a lot of the one you listed have different patterns. Arnd