Merge pathces from rhel7
This commit is contained in:
parent
e1efe6b8af
commit
0b5ec94011
123
8165489-pr3589.patch
Normal file
123
8165489-pr3589.patch
Normal file
@ -0,0 +1,123 @@
|
||||
# HG changeset patch
|
||||
# User mdoerr
|
||||
# Date 1473159687 -7200
|
||||
# Tue Sep 06 13:01:27 2016 +0200
|
||||
# Node ID 7f6e1069a5719c8908b53774d3560ce851c7cd70
|
||||
# Parent b8fc1e640c4c7f38ca94131279cb67c4d3de6961
|
||||
8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile
|
||||
Summary: Add missing barrier, sharing code with Unsafe_GetObject.
|
||||
Reviewed-by: kbarrett, mgerdin, pliden, tschatzl
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/prims/unsafe.cpp openjdk/hotspot/src/share/vm/prims/unsafe.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/prims/unsafe.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/prims/unsafe.cpp
|
||||
@@ -199,37 +199,40 @@
|
||||
|
||||
// Get/SetObject must be special-cased, since it works with handles.
|
||||
|
||||
+// We could be accessing the referent field in a reference
|
||||
+// object. If G1 is enabled then we need to register non-null
|
||||
+// referent with the SATB barrier.
|
||||
+
|
||||
+#if INCLUDE_ALL_GCS
|
||||
+static bool is_java_lang_ref_Reference_access(oop o, jlong offset) {
|
||||
+ if (offset == java_lang_ref_Reference::referent_offset && o != NULL) {
|
||||
+ Klass* k = o->klass();
|
||||
+ if (InstanceKlass::cast(k)->reference_type() != REF_NONE) {
|
||||
+ assert(InstanceKlass::cast(k)->is_subclass_of(SystemDictionary::Reference_klass()), "sanity");
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static void ensure_satb_referent_alive(oop o, jlong offset, oop v) {
|
||||
+#if INCLUDE_ALL_GCS
|
||||
+ if (UseG1GC && v != NULL && is_java_lang_ref_Reference_access(o, offset)) {
|
||||
+ G1SATBCardTableModRefBS::enqueue(v);
|
||||
+ }
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
// The xxx140 variants for backward compatibility do not allow a full-width offset.
|
||||
UNSAFE_ENTRY(jobject, Unsafe_GetObject140(JNIEnv *env, jobject unsafe, jobject obj, jint offset))
|
||||
UnsafeWrapper("Unsafe_GetObject");
|
||||
if (obj == NULL) THROW_0(vmSymbols::java_lang_NullPointerException());
|
||||
GET_OOP_FIELD(obj, offset, v)
|
||||
- jobject ret = JNIHandles::make_local(env, v);
|
||||
-#if INCLUDE_ALL_GCS
|
||||
- // We could be accessing the referent field in a reference
|
||||
- // object. If G1 is enabled then we need to register a non-null
|
||||
- // referent with the SATB barrier.
|
||||
- if (UseG1GC) {
|
||||
- bool needs_barrier = false;
|
||||
|
||||
- if (ret != NULL) {
|
||||
- if (offset == java_lang_ref_Reference::referent_offset) {
|
||||
- oop o = JNIHandles::resolve_non_null(obj);
|
||||
- Klass* k = o->klass();
|
||||
- if (InstanceKlass::cast(k)->reference_type() != REF_NONE) {
|
||||
- assert(InstanceKlass::cast(k)->is_subclass_of(SystemDictionary::Reference_klass()), "sanity");
|
||||
- needs_barrier = true;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ ensure_satb_referent_alive(p, offset, v);
|
||||
|
||||
- if (needs_barrier) {
|
||||
- oop referent = JNIHandles::resolve(ret);
|
||||
- G1SATBCardTableModRefBS::enqueue(referent);
|
||||
- }
|
||||
- }
|
||||
-#endif // INCLUDE_ALL_GCS
|
||||
- return ret;
|
||||
+ return JNIHandles::make_local(env, v);
|
||||
UNSAFE_END
|
||||
|
||||
UNSAFE_ENTRY(void, Unsafe_SetObject140(JNIEnv *env, jobject unsafe, jobject obj, jint offset, jobject x_h))
|
||||
@@ -262,32 +265,10 @@
|
||||
UNSAFE_ENTRY(jobject, Unsafe_GetObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset))
|
||||
UnsafeWrapper("Unsafe_GetObject");
|
||||
GET_OOP_FIELD(obj, offset, v)
|
||||
- jobject ret = JNIHandles::make_local(env, v);
|
||||
-#if INCLUDE_ALL_GCS
|
||||
- // We could be accessing the referent field in a reference
|
||||
- // object. If G1 is enabled then we need to register non-null
|
||||
- // referent with the SATB barrier.
|
||||
- if (UseG1GC) {
|
||||
- bool needs_barrier = false;
|
||||
|
||||
- if (ret != NULL) {
|
||||
- if (offset == java_lang_ref_Reference::referent_offset && obj != NULL) {
|
||||
- oop o = JNIHandles::resolve(obj);
|
||||
- Klass* k = o->klass();
|
||||
- if (InstanceKlass::cast(k)->reference_type() != REF_NONE) {
|
||||
- assert(InstanceKlass::cast(k)->is_subclass_of(SystemDictionary::Reference_klass()), "sanity");
|
||||
- needs_barrier = true;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ ensure_satb_referent_alive(p, offset, v);
|
||||
|
||||
- if (needs_barrier) {
|
||||
- oop referent = JNIHandles::resolve(ret);
|
||||
- G1SATBCardTableModRefBS::enqueue(referent);
|
||||
- }
|
||||
- }
|
||||
-#endif // INCLUDE_ALL_GCS
|
||||
- return ret;
|
||||
+ return JNIHandles::make_local(env, v);
|
||||
UNSAFE_END
|
||||
|
||||
UNSAFE_ENTRY(void, Unsafe_SetObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject x_h))
|
||||
@@ -312,6 +293,9 @@
|
||||
} else {
|
||||
(void)const_cast<oop&>(v = *(volatile oop*) addr);
|
||||
}
|
||||
+
|
||||
+ ensure_satb_referent_alive(p, offset, v);
|
||||
+
|
||||
OrderAccess::acquire();
|
||||
return JNIHandles::make_local(env, v);
|
||||
UNSAFE_END
|
121
8171000-pr3542-rh1402819.patch
Normal file
121
8171000-pr3542-rh1402819.patch
Normal file
@ -0,0 +1,121 @@
|
||||
# HG changeset patch
|
||||
# User kaddepalli
|
||||
# Date 1517818481 -19800
|
||||
# Mon Feb 05 13:44:41 2018 +0530
|
||||
# Node ID b77308735540644d4710244e3c88865067f2905a
|
||||
# Parent 39bfc94b1f4265b645c2970a58389acc779dafe9
|
||||
8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode
|
||||
Reviewed-by: serb, mhalder
|
||||
|
||||
diff --git openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c openjdk/jdk/src/solaris/native/sun/awt/multiVis.c
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c
|
||||
+++ openjdk/jdk/src/solaris/native/sun/awt/multiVis.c
|
||||
@@ -394,77 +394,48 @@
|
||||
XRectangle bbox; /* bounding box of grabbed area */
|
||||
list_ptr regions;/* list of regions to read from */
|
||||
{
|
||||
- image_region_type *reg;
|
||||
- int32_t dst_x, dst_y; /* where in pixmap to write (UL) */
|
||||
- int32_t diff;
|
||||
-
|
||||
- XImage *reg_image,*ximage ;
|
||||
- int32_t srcRect_x,srcRect_y,srcRect_width,srcRect_height ;
|
||||
- int32_t rem ;
|
||||
- int32_t bytes_per_line;
|
||||
- int32_t bitmap_unit;
|
||||
-
|
||||
- bitmap_unit = sizeof (long);
|
||||
- if (format == ZPixmap)
|
||||
- bytes_per_line = width*depth/8;
|
||||
- else
|
||||
- bytes_per_line = width/8;
|
||||
-
|
||||
-
|
||||
- /* Find out how many more bytes are required for padding so that
|
||||
- ** bytes per scan line will be multiples of bitmap_unit bits */
|
||||
- if (format == ZPixmap) {
|
||||
- rem = (bytes_per_line*8)%bitmap_unit;
|
||||
- if (rem)
|
||||
- bytes_per_line += (rem/8 + 1);
|
||||
- }
|
||||
+ XImage *ximage ;
|
||||
|
||||
ximage = XCreateImage(disp,fakeVis,(uint32_t) depth,format,0,NULL,
|
||||
(uint32_t)width,(uint32_t)height,8,0);
|
||||
|
||||
- bytes_per_line = ximage->bytes_per_line;
|
||||
-
|
||||
- if (format == ZPixmap)
|
||||
- ximage->data = malloc(height*bytes_per_line);
|
||||
- else
|
||||
- ximage->data = malloc(height*bytes_per_line*depth);
|
||||
-
|
||||
+ ximage->data = calloc(ximage->bytes_per_line*height*((format==ZPixmap)? 1 : depth), sizeof(char));
|
||||
ximage->bits_per_pixel = depth; /** Valid only if format is ZPixmap ***/
|
||||
|
||||
- for (reg = (image_region_type *) first_in_list( regions); reg;
|
||||
+ for (image_region_type* reg = (image_region_type *) first_in_list( regions); reg;
|
||||
reg = (image_region_type *) next_in_list( regions))
|
||||
{
|
||||
- int32_t rect;
|
||||
- struct my_XRegion *vis_reg;
|
||||
- vis_reg = (struct my_XRegion *)(reg->visible_region);
|
||||
- for (rect = 0;
|
||||
- rect < vis_reg->numRects;
|
||||
- rect++)
|
||||
+ struct my_XRegion *vis_reg = (struct my_XRegion *)(reg->visible_region);
|
||||
+ for (int32_t rect = 0; rect < vis_reg->numRects; rect++)
|
||||
{
|
||||
- /** ------------------------------------------------------------------------
|
||||
- Intersect bbox with visible part of region giving src rect & output
|
||||
- location. Width is the min right side minus the max left side.
|
||||
- Similar for height. Offset src rect so x,y are relative to
|
||||
- origin of win, not the root-relative visible rect of win.
|
||||
- ------------------------------------------------------------------------ **/
|
||||
- srcRect_width = MIN( vis_reg->rects[rect].x2, bbox.width + bbox.x)
|
||||
- - MAX( vis_reg->rects[rect].x1, bbox.x);
|
||||
+ /** ------------------------------------------------------------------------
|
||||
+ Intersect bbox with visible part of region giving src rect & output
|
||||
+ location. Width is the min right side minus the max left side.
|
||||
+ Similar for height. Offset src rect so x,y are relative to
|
||||
+ origin of win, not the root-relative visible rect of win.
|
||||
+ ------------------------------------------------------------------------ **/
|
||||
+ int32_t srcRect_width = MIN( vis_reg->rects[rect].x2, bbox.width + bbox.x)
|
||||
+ - MAX( vis_reg->rects[rect].x1, bbox.x);
|
||||
+
|
||||
+ int32_t srcRect_height = MIN( vis_reg->rects[rect].y2, bbox.height + bbox.y)
|
||||
+ - MAX( vis_reg->rects[rect].y1, bbox.y);
|
||||
|
||||
- srcRect_height = MIN( vis_reg->rects[rect].y2, bbox.height + bbox.y)
|
||||
- - MAX( vis_reg->rects[rect].y1, bbox.y);
|
||||
+ int32_t diff = bbox.x - vis_reg->rects[rect].x1;
|
||||
+ int32_t srcRect_x = MAX( 0, diff) + (vis_reg->rects[rect].x1 - reg->x_rootrel - reg->border);
|
||||
+ int32_t dst_x = MAX( 0, -diff) ;
|
||||
|
||||
- diff = bbox.x - vis_reg->rects[rect].x1;
|
||||
- srcRect_x = MAX( 0, diff) + (vis_reg->rects[rect].x1 - reg->x_rootrel - reg->border);
|
||||
- dst_x = MAX( 0, -diff) ;
|
||||
- diff = bbox.y - vis_reg->rects[rect].y1;
|
||||
- srcRect_y = MAX( 0, diff) + (vis_reg->rects[rect].y1 - reg->y_rootrel - reg->border);
|
||||
- dst_y = MAX( 0, -diff) ;
|
||||
- reg_image = XGetImage(disp,reg->win,srcRect_x,srcRect_y,
|
||||
- (uint32_t) srcRect_width, (uint32_t) srcRect_height,AllPlanes,format) ;
|
||||
- TransferImage(disp,reg_image,srcRect_width,
|
||||
- srcRect_height,reg,ximage,dst_x,dst_y) ;
|
||||
- XDestroyImage(reg_image);
|
||||
- }
|
||||
+ diff = bbox.y - vis_reg->rects[rect].y1;
|
||||
+ int32_t srcRect_y = MAX( 0, diff) + (vis_reg->rects[rect].y1 - reg->y_rootrel - reg->border);
|
||||
+ int32_t dst_y = MAX( 0, -diff) ;
|
||||
+ XImage* reg_image = XGetImage(disp,reg->win,srcRect_x,srcRect_y,
|
||||
+ (uint32_t) srcRect_width, (uint32_t) srcRect_height,AllPlanes,format) ;
|
||||
+
|
||||
+ if (reg_image) {
|
||||
+ TransferImage(disp,reg_image,srcRect_width,
|
||||
+ srcRect_height,reg,ximage,dst_x,dst_y) ;
|
||||
+ XDestroyImage(reg_image);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
return ximage ;
|
||||
}
|
21
8184309-pr3596.patch
Normal file
21
8184309-pr3596.patch
Normal file
@ -0,0 +1,21 @@
|
||||
# HG changeset patch
|
||||
# User ysuenaga
|
||||
# Date 1527498573 -3600
|
||||
# Mon May 28 10:09:33 2018 +0100
|
||||
# Node ID ef176cb429c49d1c330d9575938f66b04e3fb730
|
||||
# Parent 6915dc9ae18cce5625d3a3fc74b37da70a5b4215
|
||||
8184309, PR3596: Build warnings from GCC 7.1 on Fedora 26
|
||||
Reviewed-by: kbarrett, vlivanov
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/code/dependencies.cpp openjdk/hotspot/src/share/vm/code/dependencies.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/code/dependencies.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/code/dependencies.cpp
|
||||
@@ -525,7 +525,7 @@
|
||||
xtty->object("x", arg.metadata_value());
|
||||
}
|
||||
} else {
|
||||
- char xn[10]; sprintf(xn, "x%d", j);
|
||||
+ char xn[12]; sprintf(xn, "x%d", j);
|
||||
if (arg.is_oop()) {
|
||||
xtty->object(xn, arg.oop_value());
|
||||
} else {
|
27
8185723-pr3553.patch
Normal file
27
8185723-pr3553.patch
Normal file
@ -0,0 +1,27 @@
|
||||
# HG changeset patch
|
||||
# User aph
|
||||
# Date 1501690960 -3600
|
||||
# Wed Aug 02 17:22:40 2017 +0100
|
||||
# Node ID 91ab2eac9856ec86c16c0bedd32e0b87974ead6f
|
||||
# Parent 4e2adbc3d2b512f6b2bf318d2db60f4d1903f8c7
|
||||
8185723, PR3553: Zero: segfaults on Power PC 32-bit
|
||||
Reviewed-by: roland
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
@@ -38,10 +38,10 @@
|
||||
static void atomic_copy64(volatile void *src, volatile void *dst) {
|
||||
#if defined(PPC32)
|
||||
double tmp;
|
||||
- asm volatile ("lfd %0, 0(%1)\n"
|
||||
- "stfd %0, 0(%2)\n"
|
||||
- : "=f"(tmp)
|
||||
- : "b"(src), "b"(dst));
|
||||
+ asm volatile ("lfd %0, %2\n"
|
||||
+ "stfd %0, %1\n"
|
||||
+ : "=&f"(tmp), "=Q"(*(volatile double*)dst)
|
||||
+ : "Q"(*(volatile double*)src));
|
||||
#elif defined(S390) && !defined(_LP64)
|
||||
double tmp;
|
||||
asm volatile ("ld %0, 0(%1)\n"
|
32
8186461-pr3557.patch
Normal file
32
8186461-pr3557.patch
Normal file
@ -0,0 +1,32 @@
|
||||
# HG changeset patch
|
||||
# User glaubitz
|
||||
# Date 1524889690 -3600
|
||||
# Sat Apr 28 05:28:10 2018 +0100
|
||||
# Node ID be1379a186ba527b32c93a83e04c9600735fe44b
|
||||
# Parent 91ab2eac9856ec86c16c0bedd32e0b87974ead6f
|
||||
8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
|
||||
Reviewed-by: aph
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
@@ -36,12 +36,18 @@
|
||||
|
||||
// Atomically copy 64 bits of data
|
||||
static void atomic_copy64(volatile void *src, volatile void *dst) {
|
||||
-#if defined(PPC32)
|
||||
+#if defined(PPC32) && !defined(__SPE__)
|
||||
double tmp;
|
||||
asm volatile ("lfd %0, %2\n"
|
||||
"stfd %0, %1\n"
|
||||
: "=&f"(tmp), "=Q"(*(volatile double*)dst)
|
||||
: "Q"(*(volatile double*)src));
|
||||
+#elif defined(PPC32) && defined(__SPE__)
|
||||
+ long tmp;
|
||||
+ asm volatile ("evldd %0, %2\n"
|
||||
+ "evstdd %0, %1\n"
|
||||
+ : "=&r"(tmp), "=Q"(*(volatile long*)dst)
|
||||
+ : "Q"(*(volatile long*)src));
|
||||
#elif defined(S390) && !defined(_LP64)
|
||||
double tmp;
|
||||
asm volatile ("ld %0, 0(%1)\n"
|
59
8187577-pr3578.patch
Normal file
59
8187577-pr3578.patch
Normal file
@ -0,0 +1,59 @@
|
||||
# HG changeset patch
|
||||
# User poonam
|
||||
# Date 1525279722 -3600
|
||||
# Wed May 02 17:48:42 2018 +0100
|
||||
# Node ID ffd5260fe5adcb26f87a14f1aaaf3e1a075d712a
|
||||
# Parent 5460c427c0dcb335f510cbc2ea1d76c6921b1aaa
|
||||
8187577, PR3578: JVM crash during gc doing concurrent marking
|
||||
Summary: Inform G1's SATB that a klass has been resurrected and it should not be unloaded
|
||||
Reviewed-by: coleenp, tschatzl, kbarrett
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp openjdk/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2003, 2018, 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
|
||||
@@ -27,6 +27,9 @@
|
||||
#include "memory/universe.inline.hpp"
|
||||
#include "prims/jvmtiGetLoadedClasses.hpp"
|
||||
#include "runtime/thread.hpp"
|
||||
+#if INCLUDE_ALL_GCS
|
||||
+#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
|
||||
+#endif
|
||||
|
||||
|
||||
// The closure for GetLoadedClasses
|
||||
@@ -35,6 +38,20 @@
|
||||
Stack<jclass, mtInternal> _classStack;
|
||||
JvmtiEnv* _env;
|
||||
|
||||
+// Tell the GC to keep this klass alive
|
||||
+static void ensure_klass_alive(oop o) {
|
||||
+ // A klass that was previously considered dead can be looked up in the
|
||||
+ // CLD/SD, and its _java_mirror or _class_loader can be stored in a root
|
||||
+ // or a reachable object making it alive again. The SATB part of G1 needs
|
||||
+ // to get notified about this potential resurrection, otherwise the marking
|
||||
+ // might not find the object.
|
||||
+#if INCLUDE_ALL_GCS
|
||||
+ if (UseG1GC && o != NULL) {
|
||||
+ G1SATBCardTableModRefBS::enqueue(o);
|
||||
+ }
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
public:
|
||||
LoadedClassesClosure(JvmtiEnv* env) {
|
||||
_env = env;
|
||||
@@ -43,6 +60,7 @@
|
||||
void do_klass(Klass* k) {
|
||||
// Collect all jclasses
|
||||
_classStack.push((jclass) _env->jni_reference(k->java_mirror()));
|
||||
+ ensure_klass_alive(k->java_mirror());
|
||||
}
|
||||
|
||||
int extract(jclass* result_list) {
|
35
8197546-pr3542-rh1402819.patch
Normal file
35
8197546-pr3542-rh1402819.patch
Normal file
@ -0,0 +1,35 @@
|
||||
# HG changeset patch
|
||||
# User prr
|
||||
# Date 1518454604 28800
|
||||
# Mon Feb 12 08:56:44 2018 -0800
|
||||
# Node ID 556adf3a76aa81bf3918d7d46554dae7cc1d5c5c
|
||||
# Parent b77308735540644d4710244e3c88865067f2905a
|
||||
8197546: Fix for 8171000 breaks Solaris + Linux builds
|
||||
Reviewed-by: serb, jdv
|
||||
|
||||
diff --git openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c openjdk/jdk/src/solaris/native/sun/awt/multiVis.c
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c
|
||||
+++ openjdk/jdk/src/solaris/native/sun/awt/multiVis.c
|
||||
@@ -395,6 +395,8 @@
|
||||
list_ptr regions;/* list of regions to read from */
|
||||
{
|
||||
XImage *ximage ;
|
||||
+ image_region_type* reg;
|
||||
+ int32_t rect;
|
||||
|
||||
ximage = XCreateImage(disp,fakeVis,(uint32_t) depth,format,0,NULL,
|
||||
(uint32_t)width,(uint32_t)height,8,0);
|
||||
@@ -402,11 +404,11 @@
|
||||
ximage->data = calloc(ximage->bytes_per_line*height*((format==ZPixmap)? 1 : depth), sizeof(char));
|
||||
ximage->bits_per_pixel = depth; /** Valid only if format is ZPixmap ***/
|
||||
|
||||
- for (image_region_type* reg = (image_region_type *) first_in_list( regions); reg;
|
||||
+ for (reg = (image_region_type *) first_in_list( regions); reg;
|
||||
reg = (image_region_type *) next_in_list( regions))
|
||||
{
|
||||
struct my_XRegion *vis_reg = (struct my_XRegion *)(reg->visible_region);
|
||||
- for (int32_t rect = 0; rect < vis_reg->numRects; rect++)
|
||||
+ for (rect = 0; rect < vis_reg->numRects; rect++)
|
||||
{
|
||||
/** ------------------------------------------------------------------------
|
||||
Intersect bbox with visible part of region giving src rect & output
|
65
8199936-pr3533-workaround.patch
Normal file
65
8199936-pr3533-workaround.patch
Normal file
@ -0,0 +1,65 @@
|
||||
# HG changeset patch
|
||||
# User andrew
|
||||
# Date 1526122977 -3600
|
||||
# Sat May 12 12:02:57 2018 +0100
|
||||
# Node ID 00ccc73498628a51a45301322e64ce2ad06e49be
|
||||
# Parent aecf9f48f7b5c6148b62713a6b746301435b57cc
|
||||
PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations
|
||||
Summary: Enable -mstackrealign on x86 Linux as well as x86 Mac OS X
|
||||
|
||||
diff --git openjdk.orig///common/autoconf/hotspot-spec.gmk.in openjdk///common/autoconf/hotspot-spec.gmk.in
|
||||
--- openjdk.orig///common/autoconf/hotspot-spec.gmk.in
|
||||
+++ openjdk///common/autoconf/hotspot-spec.gmk.in
|
||||
@@ -110,7 +110,8 @@
|
||||
RC:=@HOTSPOT_RC@
|
||||
|
||||
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ $(NO_DELETE_NULL_POINTER_CHECKS_CFLAG) \
|
||||
- $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG)
|
||||
+ $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG) \
|
||||
+ $(REALIGN_CFLAG)
|
||||
EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@
|
||||
EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@
|
||||
|
||||
diff --git openjdk.orig///common/autoconf/spec.gmk.in openjdk///common/autoconf/spec.gmk.in
|
||||
--- openjdk.orig///common/autoconf/spec.gmk.in
|
||||
+++ openjdk///common/autoconf/spec.gmk.in
|
||||
@@ -333,6 +333,7 @@
|
||||
|
||||
NO_DELETE_NULL_POINTER_CHECKS_CFLAG=@NO_DELETE_NULL_POINTER_CHECKS_CFLAG@
|
||||
NO_LIFETIME_DSE_CFLAG=@NO_LIFETIME_DSE_CFLAG@
|
||||
+REALIGN_CFLAG=@REALIGN_CFLAG@
|
||||
CXXSTD_CXXFLAG=@CXXSTD_CXXFLAG@
|
||||
|
||||
CXX:=@FIXPATH@ @CCACHE@ @CXX@
|
||||
diff --git openjdk.orig///common/autoconf/toolchain.m4 openjdk///common/autoconf/toolchain.m4
|
||||
--- openjdk.orig///common/autoconf/toolchain.m4
|
||||
+++ openjdk///common/autoconf/toolchain.m4
|
||||
@@ -796,20 +796,16 @@
|
||||
#
|
||||
# NOTE: check for -mstackrealign needs to be below potential addition of -m32
|
||||
#
|
||||
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
+ if test "x$OPENJDK_TARGET_CPU" = xx86 && test "x$OPENJDK_TARGET_OS" = xmacosx -o \
|
||||
+ "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
# On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned.
|
||||
- # While waiting for a better solution, the current workaround is to use -mstackrealign.
|
||||
- CFLAGS="$CFLAGS -mstackrealign"
|
||||
- AC_MSG_CHECKING([if 32-bit compiler supports -mstackrealign])
|
||||
- AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
|
||||
- [
|
||||
- AC_MSG_RESULT([yes])
|
||||
- ],
|
||||
- [
|
||||
- AC_MSG_RESULT([no])
|
||||
- AC_MSG_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.])
|
||||
- ]
|
||||
+ # While waiting for a better solution, the current workaround is to use -mstackrealign
|
||||
+ # This is also required on Linux systems which use libraries compiled with SSE instructions
|
||||
+ REALIGN_CFLAG="-mstackrealign"
|
||||
+ TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$REALIGN_CFLAG -Werror], [],
|
||||
+ AC_MSG_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.])
|
||||
)
|
||||
+ AC_SUBST([REALIGN_CFLAG])
|
||||
fi
|
||||
|
||||
C_FLAG_DEPS="-MMD -MF"
|
36
8201509-pr3579.patch
Normal file
36
8201509-pr3579.patch
Normal file
@ -0,0 +1,36 @@
|
||||
# HG changeset patch
|
||||
# User mbalao
|
||||
# Date 1525317412 -3600
|
||||
# Thu May 03 04:16:52 2018 +0100
|
||||
# Node ID de79964656fc652f2085dac4fe99bcc128b5a3b1
|
||||
# Parent ffd5260fe5adcb26f87a14f1aaaf3e1a075d712a
|
||||
8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong
|
||||
Summary: The inline assembler for the S390 (S390 and not _LP64) has src and dst reversed thereby corrupting data
|
||||
Reviewed-by: shade
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
- * Copyright 2007, 2008, 2010 Red Hat, Inc.
|
||||
+ * Copyright 2007, 2008, 2010, 2018, Red Hat, Inc.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -50,10 +50,10 @@
|
||||
: "Q"(*(volatile long*)src));
|
||||
#elif defined(S390) && !defined(_LP64)
|
||||
double tmp;
|
||||
- asm volatile ("ld %0, 0(%1)\n"
|
||||
- "std %0, 0(%2)\n"
|
||||
- : "=r"(tmp)
|
||||
- : "a"(src), "a"(dst));
|
||||
+ asm volatile ("ld %0, %2\n"
|
||||
+ "std %0, %1\n"
|
||||
+ : "=&f"(tmp), "=Q"(*(volatile double*)dst)
|
||||
+ : "Q"(*(volatile double*)src));
|
||||
#elif defined(__ARM_ARCH_7A__)
|
||||
jlong tmp;
|
||||
asm volatile ("ldrexd %0, [%1]\n"
|
@ -72,14 +72,22 @@
|
||||
%global targets all
|
||||
%endif
|
||||
|
||||
|
||||
%ifarch %{aarch64}
|
||||
# Disable hardened build on AArch64 as it didn't bootcycle
|
||||
%undefine _hardened_build
|
||||
%global ourcppflags "-fstack-protector-strong"
|
||||
%global ourldflags %{nil}
|
||||
%else
|
||||
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
|
||||
# We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2
|
||||
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
|
||||
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
|
||||
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
|
||||
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
|
||||
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
|
||||
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||') "-fstack-protector-strong"
|
||||
%global ourldflags %{__global_ldflags}
|
||||
%endif
|
||||
|
||||
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
|
||||
# the initialisation must be here. Later the pkg-config have buggy behaviour
|
||||
@ -919,7 +927,7 @@ Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{releas
|
||||
|
||||
Name: java-%{javaver}-%{origin}
|
||||
Version: %{javaver}.%{updatever}
|
||||
Release: 3.%{buildver}%{?dist}
|
||||
Release: 5.%{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
|
||||
@ -1035,9 +1043,11 @@ Patch509: rh1176206-root.patch
|
||||
Patch523: pr2974-rh1337583.patch
|
||||
# PR3083, RH1346460: Regression in SSL debug output without an ECC provider
|
||||
Patch528: pr3083-rh1346460.patch
|
||||
# RH1566890: CVE-2018-3639
|
||||
Patch529: rh1566890_embargoed20180521.patch
|
||||
# 8196516, RH1538767: libfontmanager.so needs to be built with LDFLAGS so as to allow
|
||||
# linking with unresolved symbols.
|
||||
Patch529: rhbz_1538767_fix_linking.patch
|
||||
Patch530: rhbz_1538767_fix_linking.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -1051,14 +1061,18 @@ Patch205: dont-add-unnecessary-debug-links.patch
|
||||
Patch206: hotspot-assembler-debuginfo.patch
|
||||
|
||||
# Arch-specific upstreamable patches
|
||||
# PR2415: JVM -Xmx requirement is too high on s390
|
||||
# s390: PR2415: JVM -Xmx requirement is too high on s390
|
||||
Patch100: %{name}-s390-java-opts.patch
|
||||
# Type fixing for s390
|
||||
# s390: Type fixing for s390
|
||||
Patch102: %{name}-size_t.patch
|
||||
# Use "%z" for size_t on s390 as size_t != intptr_t
|
||||
Patch103: s390-size_t_format_flags.patch
|
||||
# Fix more cases of missing return statements on AArch64
|
||||
Patch104: pr3458-rh1540242.patch
|
||||
# s390: PR3593: Use "%z" for size_t on s390 as size_t != intptr_t
|
||||
Patch103: pr3593-s390-size_t_format_flags.patch
|
||||
# AArch64: Fix more cases of missing return statements
|
||||
Patch104: pr3458-rh1540242-aarch64.patch
|
||||
# x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround)
|
||||
Patch105: 8199936-pr3533-workaround.patch
|
||||
# Zero: Fix more cases of missing return statements
|
||||
Patch106: pr3458-rh1540242-zero.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -1087,11 +1101,32 @@ Patch400: 8154313.patch
|
||||
Patch526: 6260348-pr3066.patch
|
||||
# 8061305, PR3335, RH1423421: Javadoc crashes when method name ends with "Property"
|
||||
Patch538: 8061305-pr3335-rh1423421.patch
|
||||
Patch540: rhbz1548475-LDFLAGSusage.patch
|
||||
# 8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present
|
||||
Patch560: 8188030-pr3459-rh1484079.patch
|
||||
# 8197429, PR3456, RH153662{2,3}: 32 bit java app started via JNI crashes with larger stack sizes
|
||||
Patch561: 8197429-pr3456-rh1536622.patch
|
||||
# 8197429, PR3546, RH153662{2,3}: 32 bit java app started via JNI crashes with larger stack sizes
|
||||
Patch561: 8197429-pr3546-rh1536622.patch
|
||||
# PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
|
||||
Patch562: pr3539-rh1548475.patch
|
||||
# 8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode
|
||||
Patch563: 8171000-pr3542-rh1402819.patch
|
||||
# 8197546, PR3542, RH1402819: Fix for 8171000 breaks Solaris + Linux builds
|
||||
Patch564: 8197546-pr3542-rh1402819.patch
|
||||
# 8185723, PR3553: Zero: segfaults on Power PC 32-bit
|
||||
Patch565: 8185723-pr3553.patch
|
||||
# 8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
|
||||
Patch566: 8186461-pr3557.patch
|
||||
# PR3559: Use ldrexd for atomic reads on ARMv7.
|
||||
Patch567: pr3559.patch
|
||||
# 8187577, PR3578: JVM crash during gc doing concurrent marking
|
||||
Patch568: 8187577-pr3578.patch
|
||||
# 8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong
|
||||
Patch569: 8201509-pr3579.patch
|
||||
# 8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile
|
||||
Patch570: 8165489-pr3589.patch
|
||||
# PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code
|
||||
Patch571: pr3591.patch
|
||||
# 8184309, PR3596: Build warnings from GCC 7.1 on Fedora 26
|
||||
Patch572: 8184309-pr3596.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -1116,13 +1151,15 @@ Patch525: pr1834-rh1022017.patch
|
||||
Patch534: always_assumemp.patch
|
||||
# PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts)
|
||||
Patch539: pr2888.patch
|
||||
# PR3575, RH1567204: System cacerts database handling should not affect jssecacerts
|
||||
Patch540: pr3575-rh1567204.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
# Non-OpenJDK fixes
|
||||
Patch1000: enableCommentedOutSystemNss.patch
|
||||
#
|
||||
#############################################
|
||||
Patch1000: enableCommentedOutSystemNss.patch
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
@ -1155,6 +1192,7 @@ BuildRequires: zip
|
||||
# Use OpenJDK 7 where available (on RHEL) to avoid
|
||||
# having to use the rhel-7.x-java-unsafe-candidate hack
|
||||
%if ! 0%{?fedora} && 0%{?rhel} <= 7
|
||||
# Require a boot JDK which doesn't fail due to RH1482244
|
||||
BuildRequires: java-1.7.0-openjdk-devel >= 1.7.0.151-2.6.11.3
|
||||
%else
|
||||
BuildRequires: java-1.8.0-openjdk-devel
|
||||
@ -1479,12 +1517,16 @@ sh %{SOURCE12}
|
||||
%patch104
|
||||
%endif
|
||||
|
||||
# x86 fixes
|
||||
%patch105
|
||||
|
||||
# ppc64le fixes
|
||||
%patch603
|
||||
%patch601
|
||||
%patch602
|
||||
|
||||
# Zero fixes.
|
||||
%patch106
|
||||
|
||||
# Upstreamable fixes
|
||||
%patch502
|
||||
@ -1506,23 +1548,40 @@ sh %{SOURCE12}
|
||||
%patch523
|
||||
%patch526
|
||||
%patch528
|
||||
%patch529
|
||||
%patch538
|
||||
%patch540
|
||||
%patch560
|
||||
pushd %{top_level_dir_name}/jdk
|
||||
%patch529 -p1
|
||||
popd # openjdk
|
||||
pushd openjdk/jdk
|
||||
%patch530 -p1
|
||||
popd
|
||||
%patch561
|
||||
%patch562
|
||||
%patch563
|
||||
%patch564
|
||||
%patch565
|
||||
%patch566
|
||||
%patch567
|
||||
%patch569
|
||||
%patch571
|
||||
%patch572
|
||||
|
||||
# RPM-only fixes
|
||||
%patch525
|
||||
%patch539
|
||||
%patch540
|
||||
|
||||
# RHEL-only patches
|
||||
%if ! 0%{?fedora} && 0%{?rhel} <= 7
|
||||
%patch534
|
||||
%endif
|
||||
|
||||
# Shenandoah-only patches
|
||||
%if %{use_shenandoah_hotspot}
|
||||
%else
|
||||
%patch568
|
||||
%patch570
|
||||
%endif
|
||||
|
||||
%patch1000
|
||||
|
||||
# Extract systemtap tapsets
|
||||
@ -2163,6 +2222,40 @@ require "copy_jdk_configs.lua"
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jun 11 2018 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.172-5.b11
|
||||
- Read jssecacerts file prior to trying either cacerts file (system or local) (PR3575)
|
||||
- Resolves: rhbz#1567204
|
||||
- Fix a number of bad bug identifiers (PR3546 should be PR3578, PR3456 should be PR3546)
|
||||
- Update Shenandoah tarball to include 2018-05-15 merge.
|
||||
- Split PR3458/RH1540242 fix into AArch64 & Zero sections, so former can be skipped on Shenandoah builds.
|
||||
- Drop PR3573 patch applied upstream.
|
||||
- Restrict 8187577 fix to non-Shenandoah builds, as it's included in the new tarball.
|
||||
- Sync with IcedTea 3.8.0.
|
||||
- Label architecture-specific fixes with architecture concerned
|
||||
- x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround)
|
||||
- PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
|
||||
- 8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode
|
||||
- 8197546, PR3542, RH1402819: Fix for 8171000 breaks Solaris + Linux builds
|
||||
- 8185723, PR3553: Zero: segfaults on Power PC 32-bit
|
||||
- 8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
|
||||
- PR3559: Use ldrexd for atomic reads on ARMv7.
|
||||
- 8187577, PR3578: JVM crash during gc doing concurrent marking
|
||||
- 8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong
|
||||
- 8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile
|
||||
- PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code
|
||||
- 8184309, PR3596: Build warnings from GCC 7.1 on Fedora 26
|
||||
|
||||
* Wed Jun 06 2018 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.172-1.b11
|
||||
- updated to u172-b11
|
||||
- removed patches:
|
||||
- patch207 8200556-pr3566.patch
|
||||
- patch104 pr3458-rh1540242.patch
|
||||
- patch209 8035496-hotspot.patch
|
||||
- patch700 pr3573.patch
|
||||
- fixed issue with atkwrapper wrongly palced broken symlink
|
||||
- fixed libjvm path for system tap
|
||||
- returned patch104 pr3458-rh1540242.patch
|
||||
|
||||
* Fri Jun 08 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:1.8.0.172-3.b11
|
||||
- Bump release and rebuild for fixed gdb. See RHBZ#1589118.
|
||||
|
||||
|
@ -9,15 +9,3 @@ diff --git a/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp b/src/os_cpu/linux
|
||||
}
|
||||
|
||||
void _Copy_conjoint_jshorts_atomic(jshort* from, jshort* to, size_t count) {
|
||||
diff --git a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
@@ -408,6 +408,7 @@
|
||||
|
||||
extern "C" {
|
||||
int SpinPause() {
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
||||
|
11
pr3458-rh1540242-zero.patch
Normal file
11
pr3458-rh1540242-zero.patch
Normal file
@ -0,0 +1,11 @@
|
||||
diff --git a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
@@ -408,6 +408,7 @@
|
||||
|
||||
extern "C" {
|
||||
int SpinPause() {
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
116
pr3539-rh1548475.patch
Normal file
116
pr3539-rh1548475.patch
Normal file
@ -0,0 +1,116 @@
|
||||
# HG changeset patch
|
||||
# User andrew
|
||||
# Date 1526065930 -3600
|
||||
# Fri May 11 20:12:10 2018 +0100
|
||||
# Node ID b8fc1e640c4c7f38ca94131279cb67c4d3de6961
|
||||
# Parent afb31413c73cbc06420fdb447aa90a7a38258904
|
||||
PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
|
||||
|
||||
diff --git openjdk.orig/hotspot/make/aix/makefiles/jsig.make openjdk/hotspot/make/aix/makefiles/jsig.make
|
||||
--- openjdk.orig/hotspot/make/aix/makefiles/jsig.make
|
||||
+++ openjdk/hotspot/make/aix/makefiles/jsig.make
|
||||
@@ -45,7 +45,7 @@
|
||||
# cause problems with interposing. See CR: 6466665
|
||||
# LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
|
||||
|
||||
-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE)
|
||||
+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
LFLAGS_JSIG += $(BIN_UTILS)
|
||||
|
||||
diff --git openjdk.orig/hotspot/make/aix/makefiles/saproc.make openjdk/hotspot/make/aix/makefiles/saproc.make
|
||||
--- openjdk.orig/hotspot/make/aix/makefiles/saproc.make
|
||||
+++ openjdk/hotspot/make/aix/makefiles/saproc.make
|
||||
@@ -66,7 +66,7 @@
|
||||
endif
|
||||
|
||||
|
||||
-SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
|
||||
+SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
$(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
|
||||
$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
|
||||
diff --git openjdk.orig/hotspot/make/aix/makefiles/vm.make openjdk/hotspot/make/aix/makefiles/vm.make
|
||||
--- openjdk.orig/hotspot/make/aix/makefiles/vm.make
|
||||
+++ openjdk/hotspot/make/aix/makefiles/vm.make
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
# Extra flags from gnumake's invocation or environment
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
-LFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
# Don't set excutable bit on stack segment
|
||||
# the same could be done by separate execstack command
|
||||
diff --git openjdk.orig/hotspot/make/bsd/makefiles/jsig.make openjdk/hotspot/make/bsd/makefiles/jsig.make
|
||||
--- openjdk.orig/hotspot/make/bsd/makefiles/jsig.make
|
||||
+++ openjdk/hotspot/make/bsd/makefiles/jsig.make
|
||||
@@ -52,7 +52,7 @@
|
||||
# cause problems with interposing. See CR: 6466665
|
||||
# LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
|
||||
|
||||
-LFLAGS_JSIG += -D_GNU_SOURCE -pthread $(LDFLAGS_HASH_STYLE)
|
||||
+LFLAGS_JSIG += -D_GNU_SOURCE -pthread $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
# DEBUG_BINARIES overrides everything, use full -g debug information
|
||||
ifeq ($(DEBUG_BINARIES), true)
|
||||
diff --git openjdk.orig/hotspot/make/bsd/makefiles/saproc.make openjdk/hotspot/make/bsd/makefiles/saproc.make
|
||||
--- openjdk.orig/hotspot/make/bsd/makefiles/saproc.make
|
||||
+++ openjdk/hotspot/make/bsd/makefiles/saproc.make
|
||||
@@ -114,7 +114,7 @@
|
||||
# bring in minimum version argument or we'll fail on OSX 10.10
|
||||
SA_LFLAGS = $(LFLAGS)
|
||||
endif
|
||||
-SA_LFLAGS += $(LDFLAGS_HASH_STYLE)
|
||||
+SA_LFLAGS += $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
BOOT_JAVA_INCLUDES = -I$(BOOT_JAVA_HOME)/include \
|
||||
-I$(BOOT_JAVA_HOME)/include/$(shell uname -s | tr "[:upper:]" "[:lower:]")
|
||||
diff --git openjdk.orig/hotspot/make/bsd/makefiles/vm.make openjdk/hotspot/make/bsd/makefiles/vm.make
|
||||
--- openjdk.orig/hotspot/make/bsd/makefiles/vm.make
|
||||
+++ openjdk/hotspot/make/bsd/makefiles/vm.make
|
||||
@@ -119,7 +119,7 @@
|
||||
|
||||
# Extra flags from gnumake's invocation or environment
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
-LFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
# Don't set excutable bit on stack segment
|
||||
# the same could be done by separate execstack command
|
||||
diff --git openjdk.orig/hotspot/make/linux/makefiles/jsig.make openjdk/hotspot/make/linux/makefiles/jsig.make
|
||||
--- openjdk.orig/hotspot/make/linux/makefiles/jsig.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/jsig.make
|
||||
@@ -44,7 +44,7 @@
|
||||
# cause problems with interposing. See CR: 6466665
|
||||
# LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
|
||||
|
||||
-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE)
|
||||
+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
# DEBUG_BINARIES overrides everything, use full -g debug information
|
||||
ifeq ($(DEBUG_BINARIES), true)
|
||||
diff --git openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot/make/linux/makefiles/saproc.make
|
||||
--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/saproc.make
|
||||
@@ -73,7 +73,7 @@
|
||||
else
|
||||
ALT_SAINCDIR=
|
||||
endif
|
||||
-SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
|
||||
+SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
SAARCH ?= $(BUILDARCH)
|
||||
|
||||
diff --git openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
|
||||
--- openjdk.orig/hotspot/make/linux/makefiles/vm.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/vm.make
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
# Extra flags from gnumake's invocation or environment
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
-LFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
# Don't set excutable bit on stack segment
|
||||
# the same could be done by separate execstack command
|
29
pr3559.patch
Normal file
29
pr3559.patch
Normal file
@ -0,0 +1,29 @@
|
||||
# HG changeset patch
|
||||
# User aph
|
||||
# Date 1338206478 14400
|
||||
# Mon May 28 08:01:18 2012 -0400
|
||||
# Node ID 6275d7b419091092752d5a1854194c98897892ba
|
||||
# Parent be1379a186ba527b32c93a83e04c9600735fe44b
|
||||
PR3559: Use ldrexd for atomic reads on ARMv7.
|
||||
|
||||
2012-05-28 Andrew Haley <aph@redhat.com>
|
||||
|
||||
* os_linux_zero.hpp (atomic_copy64): Use ldrexd for atomic reads
|
||||
on ARMv7.
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
|
||||
@@ -54,6 +54,12 @@
|
||||
"std %0, 0(%2)\n"
|
||||
: "=r"(tmp)
|
||||
: "a"(src), "a"(dst));
|
||||
+#elif defined(__ARM_ARCH_7A__)
|
||||
+ jlong tmp;
|
||||
+ asm volatile ("ldrexd %0, [%1]\n"
|
||||
+ : "=r"(tmp)
|
||||
+ : "r"(src), "m"(src));
|
||||
+ *(jlong *) dst = tmp;
|
||||
#else
|
||||
*(jlong *) dst = *(jlong *) src;
|
||||
#endif
|
25
pr3573.patch
Normal file
25
pr3573.patch
Normal file
@ -0,0 +1,25 @@
|
||||
# HG changeset patch
|
||||
# User roland
|
||||
# Date 1506520357 -7200
|
||||
# Wed Sep 27 15:52:37 2017 +0200
|
||||
# Node ID c307975d0800f8da5cc8e82cd8f1fdadbd745357
|
||||
# Parent ab0c101fa16e4cd97ac8ceff4f5ff72e2f4d5776
|
||||
[backport] fix TCK crash with shenandoah
|
||||
|
||||
diff --git a/src/share/vm/opto/shenandoahSupport.cpp b/src/share/vm/opto/shenandoahSupport.cpp
|
||||
--- openjdk/hotspot/src/share/vm/opto/shenandoahSupport.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/opto/shenandoahSupport.cpp
|
||||
@@ -472,9 +472,11 @@
|
||||
Node* input = in(Memory);
|
||||
if (input->Opcode() == Op_ShenandoahWBMemProj) {
|
||||
Node* wb = input->in(0);
|
||||
- if (wb->is_top()) return NULL; // Dead path.
|
||||
+ const Type* in_type = phase->type(wb);
|
||||
+ // is_top() test not sufficient here: we can come here after CCP
|
||||
+ // in a dead branch of the graph that has not yet been removed.
|
||||
+ if (in_type == Type::TOP) return NULL; // Dead path.
|
||||
assert(wb->Opcode() == Op_ShenandoahWriteBarrier, "expect write barrier");
|
||||
- const Type* in_type = phase->type(wb);
|
||||
if (is_independent(in_type, _type)) {
|
||||
if (phase->is_IterGVN()) {
|
||||
phase->is_IterGVN()->rehash_node_delayed(wb);
|
42
pr3575-rh1567204.patch
Normal file
42
pr3575-rh1567204.patch
Normal file
@ -0,0 +1,42 @@
|
||||
# HG changeset patch
|
||||
# User andrew
|
||||
# Date 1525111445 -3600
|
||||
# Mon Apr 30 19:04:05 2018 +0100
|
||||
# Node ID 388fc8da23044317c160678ffa8ff541c216a255
|
||||
# Parent 556adf3a76aa81bf3918d7d46554dae7cc1d5c5c
|
||||
PR3575: System cacerts database handling should not affect jssecacerts
|
||||
|
||||
diff --git openjdk.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java openjdk/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
|
||||
--- openjdk.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
|
||||
+++ openjdk/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
|
||||
@@ -162,7 +162,7 @@
|
||||
* Try:
|
||||
* javax.net.ssl.trustStore (if this variable exists, stop)
|
||||
* jssecacerts
|
||||
- * cacerts
|
||||
+ * cacerts (system and local)
|
||||
*
|
||||
* If none exists, we use an empty keystore.
|
||||
*/
|
||||
@@ -174,14 +174,14 @@
|
||||
storeFile = new File(storeFileName);
|
||||
fis = getFileInputStream(storeFile);
|
||||
} else {
|
||||
- /* Check system cacerts DB first; /etc/pki/java/cacerts */
|
||||
- storeFile = new File(sep + "etc" + sep + "pki" + sep
|
||||
- + "java" + sep + "cacerts");
|
||||
+ String javaHome = props.get("javaHome");
|
||||
+ storeFile = new File(javaHome + sep + "lib" + sep
|
||||
+ + "security" + sep +
|
||||
+ "jssecacerts");
|
||||
if ((fis = getFileInputStream(storeFile)) == null) {
|
||||
- String javaHome = props.get("javaHome");
|
||||
- storeFile = new File(javaHome + sep + "lib" + sep
|
||||
- + "security" + sep +
|
||||
- "jssecacerts");
|
||||
+ /* Check system cacerts DB first; /etc/pki/java/cacerts */
|
||||
+ storeFile = new File(sep + "etc" + sep + "pki" + sep
|
||||
+ + "java" + sep + "cacerts");
|
||||
if ((fis = getFileInputStream(storeFile)) == null) {
|
||||
storeFile = new File(javaHome + sep + "lib" + sep
|
||||
+ "security" + sep +
|
20
pr3591.patch
Normal file
20
pr3591.patch
Normal file
@ -0,0 +1,20 @@
|
||||
# HG changeset patch
|
||||
# User andrew
|
||||
# Date 1526489197 -3600
|
||||
# Wed May 16 17:46:37 2018 +0100
|
||||
# Node ID 64e87a408afd2b56d59dad73dee28d4b99463810
|
||||
# Parent 00ccc73498628a51a45301322e64ce2ad06e49be
|
||||
PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code
|
||||
|
||||
diff --git openjdk.orig///common/autoconf/toolchain.m4 openjdk///common/autoconf/toolchain.m4
|
||||
--- openjdk.orig///common/autoconf/toolchain.m4
|
||||
+++ openjdk///common/autoconf/toolchain.m4
|
||||
@@ -794,6 +794,8 @@
|
||||
TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$REALIGN_CFLAG -Werror], [],
|
||||
AC_MSG_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.])
|
||||
)
|
||||
+ CFLAGS_JDK="${CFLAGS_JDK} ${REALIGN_CFLAG}"
|
||||
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} ${REALIGN_CFLAG}"
|
||||
AC_SUBST([REALIGN_CFLAG])
|
||||
fi
|
||||
|
44
rh1566890_embargoed20180521.patch
Normal file
44
rh1566890_embargoed20180521.patch
Normal file
@ -0,0 +1,44 @@
|
||||
# ssbd2.patch
|
||||
--- ./openjdk/hotspot/src/os/linux/vm/os_linux.cpp~ 2018-05-02 13:02:51.924489199 -0400
|
||||
+++ ./openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2018-05-02 13:04:57.274216581 -0400
|
||||
@@ -102,6 +102,8 @@
|
||||
# include <inttypes.h>
|
||||
# include <sys/ioctl.h>
|
||||
|
||||
+#include <sys/prctl.h>
|
||||
+
|
||||
PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
@@ -4892,6 +4894,31 @@
|
||||
}
|
||||
}
|
||||
|
||||
+/* Per task speculation control */
|
||||
+#ifndef PR_GET_SPECULATION_CTRL
|
||||
+#define PR_GET_SPECULATION_CTRL 52
|
||||
+#endif
|
||||
+#ifndef PR_SET_SPECULATION_CTRL
|
||||
+#define PR_SET_SPECULATION_CTRL 53
|
||||
+#endif
|
||||
+/* Speculation control variants */
|
||||
+# undef PR_SPEC_STORE_BYPASS
|
||||
+# define PR_SPEC_STORE_BYPASS 0
|
||||
+/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
|
||||
+# undef PR_SPEC_NOT_AFFECTED
|
||||
+# undef PR_SPEC_PRCTL
|
||||
+# undef PR_SPEC_ENABLE
|
||||
+# undef PR_SPEC_DISABLE
|
||||
+# define PR_SPEC_NOT_AFFECTED 0
|
||||
+# define PR_SPEC_PRCTL (1UL << 0)
|
||||
+# define PR_SPEC_ENABLE (1UL << 1)
|
||||
+# define PR_SPEC_DISABLE (1UL << 2)
|
||||
+
|
||||
+static void set_speculation() __attribute__((constructor));
|
||||
+static void set_speculation() {
|
||||
+ prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
|
||||
+}
|
||||
+
|
||||
// this is called _before_ the most of global arguments have been parsed
|
||||
void os::init(void) {
|
||||
char dummy; /* used to get a guess on initial stack address */
|
@ -1,59 +0,0 @@
|
||||
# User jvanek
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1548475
|
||||
# java-1.8.0-openjdk: Partial build flags injection
|
||||
# LFLAGS += $(EXTRA_CFLAGS) corrected to LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
--- openjdk/hotspot/make/aix/makefiles/vm.make
|
||||
+++ openjdk/hotspot/make/aix/makefiles/vm.make
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
# Extra flags from gnumake's invocation or environment
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
-LFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
# Don't set excutable bit on stack segment
|
||||
# the same could be done by separate execstack command
|
||||
--- openjdk/hotspot/make/bsd/makefiles/vm.make
|
||||
+++ openjdk/hotspot/make/bsd/makefiles/vm.make
|
||||
@@ -119,7 +119,7 @@
|
||||
|
||||
# Extra flags from gnumake's invocation or environment
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
-LFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
# Don't set excutable bit on stack segment
|
||||
# the same could be done by separate execstack command
|
||||
--- openjdk/hotspot/make/linux/makefiles/vm.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/vm.make
|
||||
@@ -122,7 +122,7 @@
|
||||
|
||||
# Extra flags from gnumake's invocation or environment
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
-LFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
# Don't set excutable bit on stack segment
|
||||
# the same could be done by separate execstack command
|
||||
--- openjdk/hotspot/make/linux/makefiles/saproc.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/saproc.make
|
||||
@@ -73,7 +73,7 @@
|
||||
else
|
||||
ALT_SAINCDIR=
|
||||
endif
|
||||
-SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
|
||||
+SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
SAARCH ?= $(BUILDARCH)
|
||||
|
||||
--- openjdk/hotspot/make/linux/makefiles/jsig.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/jsig.make
|
||||
@@ -44,7 +44,7 @@ LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
|
||||
# cause problems with interposing. See CR: 6466665
|
||||
# LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
|
||||
|
||||
-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE)
|
||||
+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
|
||||
|
||||
# DEBUG_BINARIES overrides everything, use full -g debug information
|
||||
ifeq ($(DEBUG_BINARIES), true)
|
Loading…
Reference in New Issue
Block a user