[8u] RFR: Fix trivial errors in aarch32: signed vs unsigned compare, constant not fit

Anton Kozlov akozlov at azul.com
Fri Jul 22 16:55:47 UTC 2016


Hi, All!

Could you review next patch, which fixes trivial build errors found when
compiling with gcc 4.4?

It's in attach, for review convinience it's inlined here too.

Thanks,
Anton

=== PATCH START ===
diff -r d37140bc27f3 -r 7adc56f3c2e3 src/cpu/aarch32/vm/nativeInst_aarch32.cpp
--- a/src/cpu/aarch32/vm/nativeInst_aarch32.cpp Wed Jul 20 18:57:34 2016 +0300
+++ b/src/cpu/aarch32/vm/nativeInst_aarch32.cpp Fri Jul 22 04:27:03 2016 +0300
@@ -492,7 +492,7 @@
   bool a2 = Instruction_aarch32::extract(uint_at(0), 15, 12) == (unsigned)dst;
   bool a3 = Instruction_aarch32::extract(uint_at(0), 11, 0) == ((unsigned)imm & 0xfff);
   bool a4 = Instruction_aarch32::extract(uint_at(0), 19, 16) == ((unsigned)imm >> 12);
-  bool a5 = Instruction_aarch32::extract(uint_at(0), 31, 28) == cond;
+  bool a5 = Instruction_aarch32::extract(uint_at(0), 31, 28) == (unsigned)cond;
 
   return a1 && a2 && a3 && a4 && a5;
 }
@@ -502,7 +502,7 @@
   bool a2 = Instruction_aarch32::extract(uint_at(0), 15, 12) == (unsigned)dst;
   bool a3 = Instruction_aarch32::extract(uint_at(0), 11, 0) == ((unsigned)imm & 0xfff);
   bool a4 = Instruction_aarch32::extract(uint_at(0), 19, 16) == ((unsigned)imm >> 12);
-  bool a5 = Instruction_aarch32::extract(uint_at(0), 31, 28) == cond;
+  bool a5 = Instruction_aarch32::extract(uint_at(0), 31, 28) == (unsigned)cond;
 
   return a1 && a2 && a3 && a4 && a5;
 }
@@ -525,7 +525,7 @@
     bool a3 = Instruction_aarch32::extract(uint_at(0), 20, 20) == 1;
     bool a4 = Instruction_aarch32::extract(uint_at(0), 22, 22) == 0;
     bool a5 = Instruction_aarch32::extract(uint_at(0), 27, 25) == 0b010;
-    bool a6 = Instruction_aarch32::extract(uint_at(0), 31, 28) == cond;
+    bool a6 = Instruction_aarch32::extract(uint_at(0), 31, 28) == (unsigned)cond;
 
     return a1 && a2 && a3 && a4 && a5 && a6;
 }
diff -r d37140bc27f3 -r 7adc56f3c2e3 src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp
--- a/src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp  Wed Jul 20 18:57:34 2016 +0300
+++ b/src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp  Fri Jul 22 04:27:03 2016 +0300
@@ -94,7 +94,7 @@
   // even in its subfields (as defined by the CPU immediate fields,
   // if the CPU splits constants across multiple instructions).
 
-  return (char*) 0xffffffffffff;
+  return (char*) 0xfffffffful;
 }
 
 void os::initialize_thread(Thread *thr) {
=== PATCH END ===

-------------- next part --------------
A non-text attachment was scrubbed...
Name: trivial_build_errors.patch
Type: text/x-patch
Size: 2450 bytes
Desc: trivial_build_errors.patch
URL: <http://mail.openjdk.java.net/pipermail/aarch32-port-dev/attachments/20160722/ec3263d4/trivial_build_errors.patch>


More information about the aarch32-port-dev mailing list