From f945ba50bb7e11c03d850d1680b15da758300ad7 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 21 Jul 2015 12:10:27 +0930 Subject: [PATCH] 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. --- gold/ChangeLog | 4 ++++ gold/aarch64.cc | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index a74d96c..cd52db08 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,7 @@ +2015-07-22 Alan Modra + + * aarch64.cc (try_fix_erratum_843419_optimized): Warning fix. + 2015-07-21 Cary Coutant PR gold/18548 diff --git a/gold/aarch64.cc b/gold/aarch64.cc index 4153389..9f2ce74 100644 --- a/gold/aarch64.cc +++ b/gold/aarch64.cc @@ -2023,7 +2023,7 @@ AArch64_relobj::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); -- 2.7.4