On Mon, May 04, 2020 at 09:11:12AM +0200, Geert Uytterhoeven wrote: > On Mon, Mar 30, 2020 at 1:42 PM Amit Daniel Kachhap > <amit.kach...@arm.com> wrote: > > This option can be used in Kconfig files to compare the ld version > > and enable/disable incompatible config options if required. > > > > This option is used in the subsequent patch along with GCC_VERSION to > > filter out an incompatible feature. > > > > Signed-off-by: Amit Daniel Kachhap <amit.kach...@arm.com> > > > --- a/init/Kconfig > > +++ b/init/Kconfig > > @@ -17,6 +17,10 @@ config GCC_VERSION > > default $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) if > > CC_IS_GCC > > default 0 > > > > +config LD_VERSION > > + int > > + default $(shell,$(LD) --version | $(srctree)/scripts/ld-version.sh) > > + > > config CC_IS_CLANG > > def_bool $(success,$(CC) --version | head -n 1 | grep -q clang) > > .config: warning: symbol value '2.01827e+11' invalid for LD_VERSION > > Seen with the or32 compiler on kisskb, e.g. > http://kisskb.ellerman.id.au/kisskb/buildresult/14226173/
Hmm. The binutils version there is '2.26.20160125', but I think scripts/ld-version.sh is expecting that to be '2.26.0.20160125' as it would then ignore the date suffix as of commit 0d61ed17dd30 ("ld-version: Drop the 4th and 5th version components"). On a 32-bit host architecture, the awk expression ends up printing the version using exponential notation, but even on a 64-bit arch the number would still be bogus. Will