diff --git a/aarch32-8167027.patch b/aarch32-8167027.patch new file mode 100644 index 0000000..a1fdce0 --- /dev/null +++ b/aarch32-8167027.patch @@ -0,0 +1,28 @@ +--- openjdk/hotspot/src/cpu/aarch32/vm/macroAssembler_aarch32.cpp 2016-10-03 17:06:18.000000000 +0300 ++++ openjdk/hotspot/src/cpu/aarch32/vm/macroAssembler_aarch32.cpp 2016-10-03 17:06:18.000000000 +0300 +@@ -863,11 +863,7 @@ + RegisterOrConstant vtable_index, + Register method_result) { + const int base = InstanceKlass::vtable_start_offset() * wordSize; +- //assert(vtableEntry::size() * wordSize == 8, +- // "adjust the scaling in the code below"); +- // FIXME What scaling needs changing as indexes address by one word + int vtable_offset_in_bytes = base + vtableEntry::method_offset_in_bytes(); +- + if (vtable_index.is_register()) { + lea(method_result, Address(recv_klass, + vtable_index.as_register(), +@@ -875,7 +871,12 @@ + ldr(method_result, Address(method_result, vtable_offset_in_bytes)); + } else { + vtable_offset_in_bytes += vtable_index.as_constant() * wordSize; +- ldr(method_result, Address(recv_klass, vtable_offset_in_bytes)); ++ if(is_valid_for_offset_imm(vtable_offset_in_bytes, 12)) { ++ ldr(method_result, Address(recv_klass, vtable_offset_in_bytes)); ++ } else { ++ mov(method_result, vtable_offset_in_bytes); ++ ldr(method_result, Address(recv_klass, method_result)); ++ } + } + } + diff --git a/java-1.8.0-openjdk-aarch32.spec b/java-1.8.0-openjdk-aarch32.spec index c7ee464..0230f9c 100644 --- a/java-1.8.0-openjdk-aarch32.spec +++ b/java-1.8.0-openjdk-aarch32.spec @@ -783,7 +783,7 @@ Obsoletes: java-1.7.0-openjdk-accessibility%1 Name: java-%{javaver}-%{origin}-aarch32 Version: %{javaver}.%{updatever} -Release: 5.%{buildver}%{?dist} +Release: 6.%{buildver}%{?dist} # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -929,6 +929,8 @@ Patch1004: aarch32-8164652.patch Patch1005: aarch32-8164652-jdk.patch # report "arm" as os.arch Patch1006: aarch32-archname.patch +# fix scala crash, RHBZ#1379061 +Patch1007: aarch32-8167027.patch BuildRequires: autoconf @@ -1251,6 +1253,7 @@ sh %{SOURCE12} %patch1004 %patch1005 %patch1006 +%patch1007 # Extract systemtap tapsets %if %{with_systemtap} @@ -1844,6 +1847,10 @@ require "copy_jdk_configs.lua" %endif %changelog +* Mon Oct 03 2016 Alex Kashchenko - 1:1.8.0.102-6.160812 +- added aarch32-8167027.patch +- fixes RHBZ#1379061 + * Fri Sep 30 2016 Alex Kashchenko - 1:1.8.0.102-5.160812 - added aarch32-archname.patch