summaryrefslogtreecommitdiffstats
path: root/scripts/ld-version.sh
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2015-12-26 22:47:52 +0000
committerRalf Baechle <ralf@linux-mips.org>2016-01-04 10:22:52 +0100
commitd5ece1cb074b2c7082c9a2948ac598dd0ad40657 (patch)
tree9f37ac158922f2a22a65396e940923073b69fd6f /scripts/ld-version.sh
parent168309855a7d1e16db751e9c647119fe2d2dc878 (diff)
downloadlinux-stable-d5ece1cb074b2c7082c9a2948ac598dd0ad40657.tar.gz
linux-stable-d5ece1cb074b2c7082c9a2948ac598dd0ad40657.tar.bz2
linux-stable-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-xscripts/ld-version.sh2
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
}