On Thu, Jul 29, 2021 at 2:00 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > While I understand that the LLVM=1 LLVM_IAS=1 case works perfectly fine > with this series, I am of the belief that making it work for CC=clang > LLVM_IAS=1 is a mistake because there is no way for that configuration > to work for cross compiling without CROSS_COMPILE. So with v3 of this change, rather than: $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CC=clang -j72 If you wanted to omit CROSS_COMPILE, you'd need: $ ARCH=arm64 make CC=clang LLVM_IAS=1 LD=ld.lld OBJCOPY=llvm-objcopy STRIP=llvm-strip or $ ARCH=arm64 make CC=clang LLVM_IAS=1 LD=aarch64-linux-gnu-ld OBJCOPY=aarch64-linux-gnu-objcopy STRIP=aarch64-linux-gnu-strip That's straight up worse IMO and defeats the purpose of "shortening the command line," which should be the goal. Not "making CC=clang maximally flexible." We don't want folks generally using CC=clang; preferably they'd use LLVM=1. I need to rewrite our docs to make that more explicit and straightforward. And if folks would prefer to use CC=clang for whatever reason, let them explicitly state CROSS_COMPILE then. So I agree with Nathan, and hope Masahiro will reconsider that perhaps the v2 variant that required LLVM=1 maybe makes more sense. Either way, I need to fix the comment in the new script, commit message, and docs, so v4 is necessary. I'm tempted to add a rewrite of our docs to say "just use LLVM=1" front and center, then get into finer grain details below, moving this second patch to be the third in a series. Let's see what Masahiro's thoughts are though first. (I do appreciate them, even when I disagree). -- Thanks, ~Nick Desaulniers