GOLD aarch64 warning fix

aarch64.cc:2026:50: error: integer overflow in expression [-Werror=overflow]
       Insntype adr_insn = adrp_insn & ((1 << 31) - 1);

	* aarch64.cc (try_fix_erratum_843419_optimized): Warning fix.
This commit is contained in:
Alan Modra 2015-07-21 12:10:27 +09:30
parent 6dca8d51d5
commit f945ba50bb
2 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2015-07-22 Alan Modra <amodra@gmail.com>
* aarch64.cc (try_fix_erratum_843419_optimized): Warning fix.
2015-07-21 Cary Coutant <ccoutant@gmail.com>
PR gold/18548

View File

@ -2023,7 +2023,7 @@ AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized(
if (-(1 << 20) <= adr_imm && adr_imm < (1 << 20))
{
// Convert 'adrp' into 'adr'.
Insntype adr_insn = adrp_insn & ((1 << 31) - 1);
Insntype adr_insn = adrp_insn & ((1u << 31) - 1);
adr_insn = Insn_utilities::
aarch64_adr_encode_imm(adr_insn, adr_imm);
elfcpp::Swap<32, big_endian>::writeval(adrp_view, adr_insn);