[java-1.8.0-openjdk] build fixes for s390
Dan Horák
sharkcz at fedoraproject.org
Thu May 2 15:05:13 UTC 2013
commit 337e4b1b973806a312e6b1169464e70351d8c982
Author: Dan Horák <dan at danny.cz>
Date: Thu May 2 17:04:03 2013 +0200
build fixes for s390
- let configure recognize s390/s390x as supported platform
- rebase the size_t patch
java-1.8.0-openjdk-s390.patch | 22 ++++++++
java-1.8.0-openjdk-size_t.patch | 104 +++++++++++++++++++-------------------
java-1.8.0-openjdk.spec | 3 +
3 files changed, 77 insertions(+), 52 deletions(-)
---
diff --git a/java-1.8.0-openjdk-s390.patch b/java-1.8.0-openjdk-s390.patch
new file mode 100644
index 0000000..29ad02f
--- /dev/null
+++ b/java-1.8.0-openjdk-s390.patch
@@ -0,0 +1,22 @@
+diff -up jdk8/common/autoconf/platform.m4.s390 jdk8/common/autoconf/platform.m4
+--- jdk8/common/autoconf/platform.m4.s390 2013-04-30 07:30:55.368691627 -0400
++++ jdk8/common/autoconf/platform.m4 2013-04-30 07:31:51.168692356 -0400
+@@ -60,6 +60,18 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU
+ VAR_CPU_BITS=64
+ VAR_CPU_ENDIAN=big
+ ;;
++ s390)
++ VAR_CPU=s390
++ VAR_CPU_ARCH=s390
++ VAR_CPU_BITS=32
++ VAR_CPU_ENDIAN=big
++ ;;
++ s390x)
++ VAR_CPU=s390x
++ VAR_CPU_ARCH=s390x
++ VAR_CPU_BITS=64
++ VAR_CPU_ENDIAN=big
++ ;;
+ sparc)
+ VAR_CPU=sparc
+ VAR_CPU_ARCH=sparc
diff --git a/java-1.8.0-openjdk-size_t.patch b/java-1.8.0-openjdk-size_t.patch
index 38ab45f..98c5e2e 100644
--- a/java-1.8.0-openjdk-size_t.patch
+++ b/java-1.8.0-openjdk-size_t.patch
@@ -1,7 +1,7 @@
-diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
---- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
-+++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
-@@ -2677,7 +2677,7 @@
+diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+--- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2013-04-30 06:14:21.908623274 -0400
+@@ -2667,7 +2667,7 @@ void CFLS_LAB::get_from_global_pool(size
if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
n_blks += CMSOldPLABReactivityFactor*multiple*n_blks;
@@ -10,10 +10,10 @@ diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeL
}
assert(n_blks > 0, "Error");
_cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
-diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/src/share/vm/gc_implementation/g1/concurrentMark.cpp
---- jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
-+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
-@@ -3538,7 +3538,7 @@
+diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
+--- jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2013-04-30 06:14:21.918623275 -0400
+@@ -3735,7 +3735,7 @@ void CMTask::drain_local_queue(bool part
// of things to do) or totally (at the very end).
size_t target_size;
if (partially) {
@@ -22,7 +22,7 @@ diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/src/share/vm
} else {
target_size = 0;
}
-@@ -4318,7 +4318,7 @@
+@@ -4566,7 +4566,7 @@ size_t G1PrintRegionLivenessInfoClosure:
// The > 0 check is to deal with the prev and next live bytes which
// could be 0.
if (*hum_bytes > 0) {
@@ -31,10 +31,10 @@ diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/src/share/vm
*hum_bytes -= bytes;
}
return bytes;
-diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
---- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
-+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
-@@ -1700,7 +1700,7 @@
+diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2013-04-30 06:14:21.918623275 -0400
+@@ -1735,7 +1735,7 @@ HeapWord* G1CollectedHeap::expand_and_al
verify_region_sets_optional();
@@ -43,10 +43,10 @@ diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/src/share/v
ergo_verbose1(ErgoHeapSizing,
"attempt heap expansion",
ergo_format_reason("allocation request failed")
-diff --git a/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp b/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
---- jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
-+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
-@@ -840,7 +840,7 @@
+diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
+--- jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp 2013-04-30 06:14:21.928623276 -0400
+@@ -840,7 +840,7 @@ OtherRegionsTable::do_cleanup_work(HRRSC
// This can be done by either mutator threads together with the
// concurrent refinement threads or GC threads.
int HeapRegionRemSet::num_par_rem_sets() {
@@ -55,22 +55,10 @@ diff --git a/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp b/src/share/
}
HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa,
-diff --git a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
---- jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
-+++ jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
-@@ -188,7 +188,7 @@
- const size_t num_overflow_elems = of_stack->size();
- const size_t space_available = queue->max_elems() - queue->size();
- const size_t num_take_elems = MIN3(space_available / 4,
-- ParGCDesiredObjsFromOverflowList,
-+ (size_t)ParGCDesiredObjsFromOverflowList,
- num_overflow_elems);
- // Transfer the most recent num_take_elems from the overflow
- // stack to our work queue.
-diff --git a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
---- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
-+++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
-@@ -69,7 +69,7 @@
+diff -up jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
+--- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp 2013-04-30 06:14:21.928623276 -0400
+@@ -69,7 +69,7 @@ ParMarkBitMap::initialize(MemRegion cove
if (_virtual_space != NULL && _virtual_space->expand_by(bytes)) {
_region_start = covered_region.start();
_region_size = covered_region.word_size();
@@ -79,10 +67,22 @@ diff --git a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp b
_beg_bits.set_map(map);
_beg_bits.set_size(bits / 2);
_end_bits.set_map(map + words / 2);
-diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/collectorPolicy.cpp
---- jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp
-+++ jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp
-@@ -357,7 +357,7 @@
+diff -up jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
+--- jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2013-04-30 06:14:21.928623276 -0400
+@@ -188,7 +188,7 @@ bool ParScanThreadState::take_from_overf
+ const size_t num_overflow_elems = of_stack->size();
+ const size_t space_available = queue->max_elems() - queue->size();
+ const size_t num_take_elems = MIN3(space_available / 4,
+- ParGCDesiredObjsFromOverflowList,
++ (size_t)ParGCDesiredObjsFromOverflowList,
+ num_overflow_elems);
+ // Transfer the most recent num_take_elems from the overflow
+ // stack to our work queue.
+diff -up jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp
+--- jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp 2013-04-30 06:17:08.068624622 -0400
+@@ -340,7 +340,7 @@ void GenCollectorPolicy::initialize_size
// generally small compared to the NewRatio calculation.
_min_gen0_size = NewSize;
desired_new_size = NewSize;
@@ -91,7 +91,7 @@ diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/colle
} else {
// For the case where NewSize is the default, use NewRatio
// to size the minimum and initial generation sizes.
-@@ -365,10 +365,10 @@
+@@ -348,10 +348,10 @@ void GenCollectorPolicy::initialize_size
// NewRatio is overly large, the resulting sizes can be too
// small.
_min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()),
@@ -104,9 +104,9 @@ diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/colle
}
assert(_min_gen0_size > 0, "Sanity check");
-@@ -423,14 +423,14 @@
- // Adjust gen0 down to accomodate OldSize
- *gen0_size_ptr = heap_size - min_gen0_size;
+@@ -407,14 +407,14 @@ bool TwoGenerationCollectorPolicy::adjus
+ // Adjust gen0 down to accommodate min_gen1_size
+ *gen0_size_ptr = heap_size - min_gen1_size;
*gen0_size_ptr =
- MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()),
+ MAX2((size_t)align_size_down(*gen0_size_ptr, min_alignment()),
@@ -121,7 +121,7 @@ diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/colle
min_alignment());
}
}
-@@ -454,7 +454,7 @@
+@@ -438,7 +438,7 @@ void TwoGenerationCollectorPolicy::initi
// for setting the gen1 maximum.
_max_gen1_size = max_heap_byte_size() - _max_gen0_size;
_max_gen1_size =
@@ -130,7 +130,7 @@ diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/colle
min_alignment());
// If no explicit command line flag has been set for the
// gen1 size, use what is left for gen1.
-@@ -468,11 +468,11 @@
+@@ -452,11 +452,11 @@ void TwoGenerationCollectorPolicy::initi
"gen0 has an unexpected minimum size");
set_min_gen1_size(min_heap_byte_size() - min_gen0_size());
set_min_gen1_size(
@@ -144,10 +144,10 @@ diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/colle
min_alignment()));
} else {
-diff --git a/src/share/vm/oops/objArrayKlass.inline.hpp b/src/share/vm/oops/objArrayKlass.inline.hpp
---- jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
-+++ jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
-@@ -46,7 +46,7 @@
+diff -up jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
+--- jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2013-04-30 06:14:21.928623276 -0400
+@@ -48,7 +48,7 @@ void ObjArrayKlass::objarray_follow_cont
const size_t beg_index = size_t(index);
assert(beg_index < len || len == 0, "index too large");
@@ -156,7 +156,7 @@ diff --git a/src/share/vm/oops/objArrayKlass.inline.hpp b/src/share/vm/oops/objA
const size_t end_index = beg_index + stride;
T* const base = (T*)a->base();
T* const beg = base + beg_index;
-@@ -80,7 +80,7 @@
+@@ -82,7 +82,7 @@ void ObjArrayKlass::objarray_follow_cont
const size_t beg_index = size_t(index);
assert(beg_index < len || len == 0, "index too large");
@@ -165,10 +165,10 @@ diff --git a/src/share/vm/oops/objArrayKlass.inline.hpp b/src/share/vm/oops/objA
const size_t end_index = beg_index + stride;
T* const base = (T*)a->base();
T* const beg = base + beg_index;
-diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp
---- jdk8/hotspot/src/share/vm/runtime/arguments.cpp
-+++ jdk8/hotspot/src/share/vm/runtime/arguments.cpp
-@@ -1209,7 +1209,7 @@
+diff -up jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t jdk8/hotspot/src/share/vm/runtime/arguments.cpp
+--- jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t 2013-04-23 12:27:07.000000000 -0400
++++ jdk8/hotspot/src/share/vm/runtime/arguments.cpp 2013-04-30 06:14:21.938623277 -0400
+@@ -1233,7 +1233,7 @@ void Arguments::set_cms_and_parnew_gc_fl
// so it's NewRatio x of NewSize.
if (FLAG_IS_DEFAULT(OldSize)) {
if (max_heap > NewSize) {
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index 8058d13..bcb2bea 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -187,6 +187,8 @@ Patch1: %{name}-accessible-toolkit.patch
# OpenJDK specific patches
#
+# Recognize s390/s390x
+Patch100: %{name}-s390.patch
# Type fixing for s390
Patch101: %{name}-bitmap.patch
Patch102: %{name}-size_t.patch
@@ -357,6 +359,7 @@ sh %{SOURCE12}
# Type fixes for s390
%ifarch s390 s390x
+%patch100
%patch101
%patch102
%endif
More information about the scm-commits
mailing list