Re: [PATCH] Makefile: reuse CC_VERSION_TEXT
From: Nathan Chancellor <nathan@kernel.org>
Date: 2021-02-24 17:18:39
Also in:
lkml
On Wed, Feb 24, 2021 at 12:14:04PM +0900, Masahiro Yamada wrote:
On Sat, Feb 6, 2021 at 12:46 PM Sedat Dilek [off-list ref] wrote:quoted
On Sat, Feb 6, 2021 at 2:49 AM Masahiro Yamada [off-list ref] wrote:quoted
On Sat, Feb 6, 2021 at 7:01 AM 'Nick Desaulniers' via Clang Built Linux [off-list ref] wrote:quoted
I noticed we're invoking $(CC) via $(shell) more than once to check the version. Let's reuse the first string captured in $CC_VERSION_TEXT. Fixes: 315bab4e972d ("kbuild: fix endless syncconfig in case arch Makefile sets CROSS_COMPILE")I did not touch this hunk because I have a plan for different refactoring, but I have never got around to do it. Anyway, you beat me, and I will pick this up. But, the Fixes tag is questionable because this is code refactoring.When I see this... and hear refactoring... As a suggestion/improvement... Can we have LD_VERSION_TEXT analogue to CC_VERSION_TEXT? Both are shown when doing a `cat /proc/version` (and IIRC in file include/generated/compile.h).Sorry, I had forgotten to answer this question. Probably, we should do so. Feeding it to Kconfig allows us to re-evaluate config settings when tools are upgraded. One question is where we should draw a line. If we record the version text of CC, LD, we should do that for more tools? For LD, I will be probably OK because some features rely on LD_VERSION or $(ld-option ). -- Best Regards Masahiro Yamada
It probably makes sense to do this for tools that we depend on in Kconfig, like CC and LD. Those will usually paint a good enough picture for what tools were used on a whole since CC will tell us about the GCC or LLVM version used (as well as distribution usually) and LD will tell us about the binutils or LLVM version. LTO does check $(AR) and $(NM) but it also depends on LLVM=1 LLVM_IAS=1, which would get covered by the $(CC) and $(LD) print outs. Cheers, Nathan