RE: [PATCH] ld-version: fix it on Fedora

From: Daniel Sanders
Date: Wed Jan 13 2016 - 12:30:31 EST


Hi,

The version number that's giving me problems is 2.24.51.20140217 which ld-version.sh converts to 2036931700 (20000000+2400000+510000+2014021700).

At the moment, I'm wondering whether we really need to handle more than three version number components. Another thought is that the comparison could be inside ld-version.sh (or a replacement) so that it can compare the array of version components directly instead of using a constructed integer as a proxy.

> -----Original Message-----
> From: james@xxxxxxxxxxxxx [mailto:james@xxxxxxxxxxxxx] On Behalf Of
> James Hogan
> Sent: 13 January 2016 17:06
> To: Michael S. Tsirkin
> Cc: LKML; Michal Marek; linux-kbuild@xxxxxxxxxxxxxxx; Linux MIPS Mailing
> List; Ralf Baechle; Daniel Sanders
> Subject: Re: [PATCH] ld-version: fix it on Fedora
>
> Cc'ing Daniel, who has hit further breakage due to unusual version numbers.
>
> On 7 January 2016 at 17:55, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
> > On Fedora 23, ld --version outputs:
> > GNU ld version 2.25-15.fc23
> >
> > But ld-version.sh fails to parse this, so e.g. mips build fails to
> > enable VDSO, printing a warning that binutils >= 2.24 is required.
> >
> > To fix, teach ld-version to parse this format.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> > ---
> >
> > Which tree should this be merged through? Mine? MIPS?
> >
> > scripts/ld-version.sh | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/scripts/ld-version.sh b/scripts/ld-version.sh
> > index 198580d..25d23c8 100755
> > --- a/scripts/ld-version.sh
> > +++ b/scripts/ld-version.sh
> > @@ -2,6 +2,8 @@
> > # extract linker version number from stdin and turn into single number
> > {
> > gsub(".*)", "");
> > + gsub(".*version ", "");
> > + gsub("-.*", "");
> > split($1,a, ".");
> > print a[1]*10000000 + a[2]*100000 + a[3]*10000 + a[4]*100 + a[5];
> > exit
> > --
> > MST
> >