This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] GOLD aarch64 warning fix


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f945ba50bb7e11c03d850d1680b15da758300ad7

commit f945ba50bb7e11c03d850d1680b15da758300ad7
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 21 12:10:27 2015 +0930

    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.

Diff:
---
 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  <amodra@gmail.com>
+
+	* aarch64.cc (try_fix_erratum_843419_optimized): Warning fix.
+
 2015-07-21  Cary Coutant  <ccoutant@gmail.com>
 
 	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<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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]