Reinstate JIT builds on x86_32.
Add JDK-8282231 to fix missing CALL effects on x86_32.
This commit is contained in:
parent
edb63206cd
commit
7e5331a512
@ -100,9 +100,9 @@
|
||||
# Set of architectures for which we build fastdebug builds
|
||||
%global fastdebug_arches x86_64 ppc64le aarch64
|
||||
# Set of architectures with a Just-In-Time (JIT) compiler
|
||||
%global jit_arches %{aarch64} %{power64} sparcv9 sparc64 x86_64
|
||||
%global jit_arches %{aarch64} %{ix86} %{power64} sparcv9 sparc64 x86_64
|
||||
# Set of architectures which use the Zero assembler port (!jit_arches)
|
||||
%global zero_arches %{arm} %{ix86} ppc s390 s390x
|
||||
%global zero_arches %{arm} ppc s390 s390x
|
||||
# Set of architectures which run a full bootstrap cycle
|
||||
%global bootstrap_arches %{jit_arches} %{zero_arches}
|
||||
# Set of architectures which support SystemTap tapsets
|
||||
@ -344,7 +344,7 @@
|
||||
%global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u})
|
||||
# eg jdk8u60-b27 -> b27
|
||||
%global buildver %(VERSION=%{version_tag}; echo ${VERSION##*-})
|
||||
%global rpmrelease 6
|
||||
%global rpmrelease 7
|
||||
# Define milestone (EA for pre-releases, GA ("fcs") for releases)
|
||||
# Release will be (where N is usually a number starting at 1):
|
||||
# - 0.N%%{?extraver}%%{?dist} for EA releases,
|
||||
@ -1524,6 +1524,8 @@ Patch204: jdk8042159-allow_using_system_installed_lcms2-jdk.patch
|
||||
Patch580: jdk8195607-pr3776-rh1760437-nss_sqlite_db_config.patch
|
||||
# JDK-8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32
|
||||
Patch581: jdk8257794-remove_broken_assert.patch
|
||||
# JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
|
||||
Patch582: jdk8282231-x86_32-missing_call_effects.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -1959,6 +1961,7 @@ sh %{SOURCE12}
|
||||
%patch112
|
||||
%patch580
|
||||
%patch581
|
||||
%patch582
|
||||
|
||||
# RPM-only fixes
|
||||
%patch539
|
||||
@ -2778,6 +2781,10 @@ cjc.mainProgram(args)
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Mar 16 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.322.b06-7
|
||||
- Reinstate JIT builds on x86_32.
|
||||
- Add JDK-8282231 to fix missing CALL effects on x86_32.
|
||||
|
||||
* Sat Feb 26 2022 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.322.b06-6
|
||||
- Storing and restoring alterntives during update manually
|
||||
- Fixing Bug 2001567 - update of JDK/JRE is removing its manually selected alterantives and select (as auto) system JDK/JRE
|
||||
|
35
jdk8282231-x86_32-missing_call_effects.patch
Normal file
35
jdk8282231-x86_32-missing_call_effects.patch
Normal file
@ -0,0 +1,35 @@
|
||||
diff --git openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad openjdk/hotspot/src/cpu/x86/vm/x86_32.ad
|
||||
index c8f4ee1613..cc0f4eef14 100644
|
||||
--- openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad
|
||||
+++ openjdk/hotspot/src/cpu/x86/vm/x86_32.ad
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
-// Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
+// Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
//
|
||||
// This code is free software; you can redistribute it and/or modify it
|
||||
@@ -7665,9 +7665,9 @@ instruct divI_eReg(eAXRegI rax, eDXRegI rdx, eCXRegI div, eFlagsReg cr) %{
|
||||
%}
|
||||
|
||||
// Divide Register Long
|
||||
-instruct divL_eReg( eADXRegL dst, eRegL src1, eRegL src2, eFlagsReg cr, eCXRegI cx, eBXRegI bx ) %{
|
||||
+instruct divL_eReg(eADXRegL dst, eRegL src1, eRegL src2) %{
|
||||
match(Set dst (DivL src1 src2));
|
||||
- effect( KILL cr, KILL cx, KILL bx );
|
||||
+ effect(CALL);
|
||||
ins_cost(10000);
|
||||
format %{ "PUSH $src1.hi\n\t"
|
||||
"PUSH $src1.lo\n\t"
|
||||
@@ -7713,9 +7713,9 @@ instruct modI_eReg(eDXRegI rdx, eAXRegI rax, eCXRegI div, eFlagsReg cr) %{
|
||||
%}
|
||||
|
||||
// Remainder Register Long
|
||||
-instruct modL_eReg( eADXRegL dst, eRegL src1, eRegL src2, eFlagsReg cr, eCXRegI cx, eBXRegI bx ) %{
|
||||
+instruct modL_eReg(eADXRegL dst, eRegL src1, eRegL src2) %{
|
||||
match(Set dst (ModL src1 src2));
|
||||
- effect( KILL cr, KILL cx, KILL bx );
|
||||
+ effect(CALL);
|
||||
ins_cost(10000);
|
||||
format %{ "PUSH $src1.hi\n\t"
|
||||
"PUSH $src1.lo\n\t"
|
Loading…
Reference in New Issue
Block a user