diff options
author | James Hogan <james.hogan@imgtec.com> | 2015-12-26 22:47:52 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2016-01-04 10:22:52 +0100 |
commit | d5ece1cb074b2c7082c9a2948ac598dd0ad40657 (patch) | |
tree | 9f37ac158922f2a22a65396e940923073b69fd6f /scripts/ld-version.sh | |
parent | 168309855a7d1e16db751e9c647119fe2d2dc878 (diff) | |
download | linux-d5ece1cb074b2c7082c9a2948ac598dd0ad40657.tar.gz linux-d5ece1cb074b2c7082c9a2948ac598dd0ad40657.tar.bz2 linux-d5ece1cb074b2c7082c9a2948ac598dd0ad40657.zip |
Fix ld-version.sh to handle large 3rd version part
The ld-version.sh script doesn't handle versions with large (>= 10) 3rd
version components, because the 2nd component is only multiplied by 10
times that of the 3rd component.
For example the following version string:
GNU ld (Codescape GNU Tools 2015.06-05 for MIPS MTI Linux) 2.24.90
gives a bogus version number:
20000000
+ 2400000
+ 900000 = 23300000
Breakage, confusion and mole-whacking ensues.
Increase the multipliers of the first two version components by a factor
of 10 to give space for a 3rd components of up to 99, and update the
sole user of ld-ifversion (MIPS VDSO) accordingly.
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/11931/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'scripts/ld-version.sh')
-rwxr-xr-x | scripts/ld-version.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/ld-version.sh b/scripts/ld-version.sh index 198580d245e0..0b67edc5bc6f 100755 --- a/scripts/ld-version.sh +++ b/scripts/ld-version.sh @@ -3,6 +3,6 @@ { gsub(".*)", ""); split($1,a, "."); - print a[1]*10000000 + a[2]*100000 + a[3]*10000 + a[4]*100 + a[5]; + print a[1]*100000000 + a[2]*1000000 + a[3]*10000 + a[4]*100 + a[5]; exit } |