Gold: Fix mips.cc for GCC 4.2

GCC 4.2 fails to compile "(uint64_t) 0x800080008000" with

error: integer constant is too large for ‘long’ type

This patch adds "llu" suffix to 0x800080008000 for GCC 4.2.

	* mips.cc (Mips_relocate_functions): Add "llu" suffix to
	0x800080008000.
This commit is contained in:
H.J. Lu
2017-07-26 10:39:20 -07:00
parent 27d41eac62
commit 104f0515d0
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2017-07-26 H.J. Lu <hongjiu.lu@intel.com>
* mips.cc (Mips_relocate_functions): Add "llu" suffix to
0x800080008000.
2017-07-23 Alan Modra <amodra@gmail.com>
* powerpc.cc (glink_eh_frame_fde_64v2): Correct advance to

View File

@ -5664,7 +5664,7 @@ class Mips_relocate_functions : public Relocate_functions<size, big_endian>
: addend_a);
Valtype x = psymval->value(object, addend);
x = ((x + (uint64_t) 0x800080008000) >> 48) & 0xffff;
x = ((x + (uint64_t) 0x800080008000llu) >> 48) & 0xffff;
val = Bits<32>::bit_select32(val, x, 0xffff);
if (calculate_only)