mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
168309855a
commit
d5ece1cb07
|
@ -26,7 +26,7 @@ aflags-vdso := $(ccflags-vdso) \
|
|||
# the comments on that file.
|
||||
#
|
||||
ifndef CONFIG_CPU_MIPSR6
|
||||
ifeq ($(call ld-ifversion, -lt, 22500000, y),y)
|
||||
ifeq ($(call ld-ifversion, -lt, 225000000, y),y)
|
||||
$(warning MIPS VDSO requires binutils >= 2.25)
|
||||
obj-vdso-y := $(filter-out gettimeofday.o, $(obj-vdso-y))
|
||||
ccflags-vdso += -DDISABLE_MIPS_VDSO
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue