From 1cd817df237f94f6c9b32101a9856fc4497ef700 Mon Sep 17 00:00:00 2001 From: Severin Gehwolf Date: Fri, 31 Aug 2018 18:00:19 +0200 Subject: [PATCH] Update patches with latest upstream status. - Update(s) from upstreamed patches: - 8036003-dont-add-unnecessary-debug-links.patch => 8036003-add-with-native-debug-symbols-configure-flag.patch - rh1176206-jdk.patch => 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch => Deleted rh1176206-root.patch as thats no longer needed with upstream 8150954. - Refreshed 8165852-pr3468.patch from upstream. - Refreshed 8201495-s390-java-opts.patch from upstream. - 8207057-pr3613-hotspot-assembler-debuginfo.patch => 8207057-pr3613-assembler-debuginfo-hotspot.patch and 8207057-pr3613-assembler-debuginfo-root.patch. From JDK 8u backport. - Renamed spec-only patch: pr3183.patch => pr3183-rh1340845-system-crypto-policy.patch - Renamed java-1.8.0-openjdk-size_t.patch => 8201495-s390-java-opts.patch - Moved SunEC provider via system NSS to RPM specific patches section. - Moved upstream 8u patches to appropriate sections (8u192/8u202). - Removed rh1214835.patch since it's invalid. See: https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2304#c3 - Use --with-native-debug-symbols=internal which JDK-8036003 adds. --- pr2842-01.patch => 8031668-pr2842-01.patch | 0 ...-native-debug-symbols-configure-flag.patch | 249 ++++++++++++++++++ pr2842-02.patch => 8148351-pr2842-02.patch | 0 ...-rh1176206-screenshot-xcomposite-jdk.patch | 160 +++++++++++ 8165852-pr3468.patch | 87 ++++++ 8201495-s390-java-opts.patch | 21 ++ ...size_t.patch => 8203030-size_t-fixes.patch | 0 ...75.patch => 8205104-pr3539-rh1548475.patch | 0 ...7-pr3613-assembler-debuginfo-hotspot.patch | 13 + ...7-pr3613-hotspot-assembler-debuginfo.patch | 27 -- ...234-dont-add-unnecessary-debug-links.patch | 77 ------ java-1.8.0-openjdk-s390-java-opts.patch | 46 ---- java-1.8.0-openjdk.spec | 122 +++++---- ...r3183-rh1340845-system-crypto-policy.patch | 0 rh1176206-jdk.patch | 67 ----- rh1176206-root.patch | 31 --- rh1214835.patch | 20 -- 17 files changed, 602 insertions(+), 318 deletions(-) rename pr2842-01.patch => 8031668-pr2842-01.patch (100%) create mode 100644 8036003-add-with-native-debug-symbols-configure-flag.patch rename pr2842-02.patch => 8148351-pr2842-02.patch (100%) create mode 100644 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch create mode 100644 8165852-pr3468.patch create mode 100644 8201495-s390-java-opts.patch rename java-1.8.0-openjdk-size_t.patch => 8203030-size_t-fixes.patch (100%) rename pr3539-rh1548475.patch => 8205104-pr3539-rh1548475.patch (100%) create mode 100644 8207057-pr3613-assembler-debuginfo-hotspot.patch delete mode 100644 8207057-pr3613-hotspot-assembler-debuginfo.patch delete mode 100644 8207234-dont-add-unnecessary-debug-links.patch delete mode 100644 java-1.8.0-openjdk-s390-java-opts.patch rename pr3183.patch => pr3183-rh1340845-system-crypto-policy.patch (100%) delete mode 100644 rh1176206-jdk.patch delete mode 100644 rh1176206-root.patch delete mode 100644 rh1214835.patch diff --git a/pr2842-01.patch b/8031668-pr2842-01.patch similarity index 100% rename from pr2842-01.patch rename to 8031668-pr2842-01.patch diff --git a/8036003-add-with-native-debug-symbols-configure-flag.patch b/8036003-add-with-native-debug-symbols-configure-flag.patch new file mode 100644 index 0000000..b7b8a05 --- /dev/null +++ b/8036003-add-with-native-debug-symbols-configure-flag.patch @@ -0,0 +1,249 @@ + +# HG changeset patch +# User sgehwolf +# Date 1531824954 -7200 +# Node ID 19e8754f5415cdda79904b9f21a4b8981505cb78 +# Parent 1380ce862bbd0b65c619bfcea454d612b240e332 +8036003: Add --with-native-debug-symbols=[none|internal|external|zipped] +Reviewed-by: erikj + +diff -r 1380ce862bbd -r 19e8754f5415 common/autoconf/jdk-options.m4 +--- openjdk/common/autoconf/jdk-options.m4 Mon Jul 16 15:37:08 2018 +0100 ++++ openjdk/common/autoconf/jdk-options.m4 Tue Jul 17 12:55:54 2018 +0200 +@@ -1,5 +1,5 @@ + # +-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2011, 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 +@@ -606,11 +606,88 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS], + + if test "x${enable_zip_debug_info}" = "xno"; then + ZIP_DEBUGINFO_FILES=false ++ elif test "x${enable_zip_debug_info}" = "xyes"; then ++ ZIP_DEBUGINFO_FILES=true ++ fi ++ ++ # ++ # NATIVE_DEBUG_SYMBOLS ++ # This must be done after the toolchain is setup, since we're looking at objcopy. ++ # In addition, this must be done after ENABLE_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES ++ # checking in order to preserve backwards compatibility post JDK-8207234. ++ # ++ AC_MSG_CHECKING([what type of native debug symbols to use (this will override previous settings)]) ++ AC_ARG_WITH([native-debug-symbols], ++ [AS_HELP_STRING([--with-native-debug-symbols], ++ [set the native debug symbol configuration (none, internal, external, zipped) @<:@varying@:>@])], ++ [ ++ if test "x$OPENJDK_TARGET_OS" = xaix; then ++ if test "x$with_native_debug_symbols" = xexternal || test "x$with_native_debug_symbols" = xzipped; then ++ AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols]) ++ fi ++ fi ++ ], ++ [ ++ # Default to unset for backwards compatibility ++ with_native_debug_symbols="" ++ ]) ++ NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols ++ if test "x$NATIVE_DEBUG_SYMBOLS" = x; then ++ AC_MSG_RESULT([not specified]) + else ++ AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS]) ++ fi ++ # Default is empty ++ DEBUG_BINARIES= ++ # Default is min_strip. Possible values are min_strip, all_strip, no_strip ++ STRIP_POLICY=min_strip ++ ++ if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then ++ ++ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then ++ if test "x$OBJCOPY" = x; then ++ # enabling of enable-debug-symbols and can't find objcopy ++ # this is an error ++ AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols]) ++ fi ++ fi ++ ++ ENABLE_DEBUG_SYMBOLS=true ++ STRIP_POLICY=min_strip + ZIP_DEBUGINFO_FILES=true ++ elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then ++ ENABLE_DEBUG_SYMBOLS=false ++ STRIP_POLICY=min_strip ++ ZIP_DEBUGINFO_FILES=false ++ elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then ++ ENABLE_DEBUG_SYMBOLS=true ++ STRIP_POLICY=no_strip ++ ZIP_DEBUGINFO_FILES=false ++ POST_STRIP_CMD= ++ DEBUG_BINARIES=true ++ elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then ++ ++ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then ++ if test "x$OBJCOPY" = x; then ++ # enabling of enable-debug-symbols and can't find objcopy ++ # this is an error ++ AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols]) ++ fi ++ fi ++ ++ ENABLE_DEBUG_SYMBOLS=true ++ STRIP_POLICY=min_strip ++ ZIP_DEBUGINFO_FILES=false ++ elif test "x$NATIVE_DEBUG_SYMBOLS" != x; then ++ AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped]) ++ else ++ AC_MSG_NOTICE([--with-native-debug-symbols not specified. Using values from --disable-debug-symbols and --disable-zip-debug-info]) + fi + + AC_SUBST(ENABLE_DEBUG_SYMBOLS) ++ AC_SUBST(STRIP_POLICY) ++ AC_SUBST(POST_STRIP_CMD) ++ AC_SUBST(DEBUG_BINARIES) + AC_SUBST(ZIP_DEBUGINFO_FILES) + AC_SUBST(CFLAGS_DEBUG_SYMBOLS) + AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS) +diff -r 1380ce862bbd -r 19e8754f5415 common/autoconf/spec.gmk.in +--- openjdk/common/autoconf/spec.gmk.in Mon Jul 16 15:37:08 2018 +0100 ++++ openjdk/common/autoconf/spec.gmk.in Tue Jul 17 12:55:54 2018 +0200 +@@ -416,6 +416,8 @@ + CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@ + CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@ + ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@ ++STRIP_POLICY:=@STRIP_POLICY@ ++DEBUG_BINARIES:=@DEBUG_BINARIES@ + + # + # Compress (or not) jars +diff -r 1380ce862bbd -r 19e8754f5415 make/common/NativeCompilation.gmk +--- openjdk/make/common/NativeCompilation.gmk Mon Jul 16 15:37:08 2018 +0100 ++++ openjdk/make/common/NativeCompilation.gmk Tue Jul 17 12:55:54 2018 +0200 +@@ -260,6 +260,10 @@ + $1_CC:=$(CC) + endif + ++ ifeq ($$($1_STRIP_POLICY),) ++ $1_STRIP_POLICY:=$$(STRIP_POLICY) ++ endif ++ + # Make sure the dirs exist. + $$(eval $$(call MakeDir,$$($1_OBJECT_DIR) $$($1_OUTPUT_DIR))) + $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d))) +@@ -455,28 +459,34 @@ + ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X + ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows + ifeq ($(OPENJDK_TARGET_OS), solaris) +- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. +- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from +- # empty section headers until a fixed $(OBJCOPY) is available. +- # An empty section header has sh_addr == 0 and sh_size == 0. +- # This problem has only been seen on Solaris X64, but we call this tool +- # on all Solaris builds just in case. +- # +- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. +- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. +- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \ ++ ifneq ($$($1_STRIP_POLICY), no_strip) ++ # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. ++ # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from ++ # empty section headers until a fixed $(OBJCOPY) is available. ++ # An empty section header has sh_addr == 0 and sh_size == 0. ++ # This problem has only been seen on Solaris X64, but we call this tool ++ # on all Solaris builds just in case. ++ # ++ # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. ++ # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. ++ $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) + $(RM) $$@ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< + $(OBJCOPY) --only-keep-debug $$< $$@ + $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< ++ endif + else # not solaris +- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) ++ ifneq ($$($1_STRIP_POLICY), no_strip) ++ $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) + $(RM) $$@ + $(OBJCOPY) --only-keep-debug $$< $$@ + $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< ++ endif + endif # Touch to not retrigger rule on rebuild ++ ifneq ($$($1_STRIP_POLICY), no_strip) + $(TOUCH) $$@ ++ endif + endif # !windows + endif # !macosx + +@@ -500,7 +510,9 @@ + $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \ + $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb + else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files +- $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo ++ ifneq ($$($1_STRIP_POLICY), no_strip) ++ $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo ++ endif + endif + endif + endif +@@ -539,28 +551,34 @@ + ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X + ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows + ifeq ($(OPENJDK_TARGET_OS), solaris) +- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. +- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from +- # empty section headers until a fixed $(OBJCOPY) is available. +- # An empty section header has sh_addr == 0 and sh_size == 0. +- # This problem has only been seen on Solaris X64, but we call this tool +- # on all Solaris builds just in case. +- # +- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. +- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. +- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \ ++ ifneq ($$($1_STRIP_POLICY), no_strip) ++ # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. ++ # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from ++ # empty section headers until a fixed $(OBJCOPY) is available. ++ # An empty section header has sh_addr == 0 and sh_size == 0. ++ # This problem has only been seen on Solaris X64, but we call this tool ++ # on all Solaris builds just in case. ++ # ++ # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. ++ # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. ++ $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) + $(RM) $$@ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< + $(OBJCOPY) --only-keep-debug $$< $$@ + $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< ++ endif + else # not solaris +- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) ++ ifneq ($$($1_STRIP_POLICY), no_strip) ++ $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) + $(RM) $$@ + $(OBJCOPY) --only-keep-debug $$< $$@ + $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< ++ endif + endif ++ ifneq ($$($1_STRIP_POLICY), no_strip) + $(TOUCH) $$@ ++ endif + endif # !windows + endif # !macosx + +@@ -584,7 +602,9 @@ + $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \ + $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb + else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files +- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo ++ ifneq ($$($1_STRIP_POLICY), no_strip) ++ $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo ++ endif + endif + endif + endif + diff --git a/pr2842-02.patch b/8148351-pr2842-02.patch similarity index 100% rename from pr2842-02.patch rename to 8148351-pr2842-02.patch diff --git a/8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch b/8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch new file mode 100644 index 0000000..8b62ae6 --- /dev/null +++ b/8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch @@ -0,0 +1,160 @@ + +# HG changeset patch +# User neugens +# Date 1532089120 -7200 +# Node ID 7b30bb9b05bd2e8045bc693ea5be353ce6326396 +# Parent 3d8011a1e02179e5658110981e30274c605ceac8 +8150954: Taking screenshots on x11 composite desktop produce wrong result +Summary: The AWT Robot X11 code that takes screenshots uses the default root window, which may not contain the final composited desktop. +Reviewed-by: alexsch, ssadetsky, prr, dbuck + +diff -r 3d8011a1e021 -r 7b30bb9b05bd make/mapfiles/libawt_xawt/mapfile-vers +--- openjdk/jdk/make/mapfiles/libawt_xawt/mapfile-vers Thu Jul 19 03:31:37 2018 +0100 ++++ openjdk/jdk/make/mapfiles/libawt_xawt/mapfile-vers Fri Jul 20 14:18:40 2018 +0200 +@@ -158,6 +158,7 @@ + Java_sun_awt_X11_XRobotPeer_mouseReleaseImpl; + Java_sun_awt_X11_XRobotPeer_mouseWheelImpl; + Java_sun_awt_X11_XRobotPeer_setup; ++ Java_sun_awt_X11_XRobotPeer_loadNativeLibraries; + Java_sun_awt_X11_XToolkit_getNumberOfButtonsImpl; + Java_java_awt_Component_initIDs; + Java_java_awt_Container_initIDs; +diff -r 3d8011a1e021 -r 7b30bb9b05bd src/solaris/classes/sun/awt/X11/XRobotPeer.java +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java Thu Jul 19 03:31:37 2018 +0100 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java Fri Jul 20 14:18:40 2018 +0200 +@@ -34,6 +34,10 @@ + + class XRobotPeer implements RobotPeer { + ++ static { ++ loadNativeLibraries(); ++ } ++ + private X11GraphicsConfig xgc = null; + /* + * native implementation uses some static shared data (pipes, processes) +@@ -98,4 +102,5 @@ + private static native synchronized void keyReleaseImpl(int keycode); + + private static native synchronized void getRGBPixelsImpl(X11GraphicsConfig xgc, int x, int y, int width, int height, int pixelArray[]); ++ private static native void loadNativeLibraries(); + } +diff -r 3d8011a1e021 -r 7b30bb9b05bd src/solaris/native/sun/awt/awt_Robot.c +--- openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c Thu Jul 19 03:31:37 2018 +0100 ++++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c Fri Jul 20 14:18:40 2018 +0200 +@@ -27,6 +27,9 @@ + #error This file should not be included in headless library + #endif + ++#include "jvm_md.h" ++#include ++ + #include "awt_p.h" + #include "awt_GraphicsEnv.h" + #define XK_MISCELLANY +@@ -49,11 +52,46 @@ + #include + #endif + ++static Bool (*compositeQueryExtension) (Display*, int*, int*); ++static Status (*compositeQueryVersion) (Display*, int*, int*); ++static Window (*compositeGetOverlayWindow) (Display *, Window); ++ + extern struct X11GraphicsConfigIDs x11GraphicsConfigIDs; + + static jint * masks; + static jint num_buttons; + ++static void *xCompositeHandle; ++ ++static const char* XCOMPOSITE = JNI_LIB_NAME("Xcomposite"); ++static const char* XCOMPOSITE_VERSIONED = VERSIONED_JNI_LIB_NAME("Xcomposite", "1"); ++ ++static Bool checkXCompositeFunctions(void) { ++ return (compositeQueryExtension != NULL && ++ compositeQueryVersion != NULL && ++ compositeGetOverlayWindow != NULL); ++} ++ ++static void initXCompositeFunctions(void) { ++ ++ if (xCompositeHandle == NULL) { ++ xCompositeHandle = dlopen(XCOMPOSITE, RTLD_LAZY | RTLD_GLOBAL); ++ if (xCompositeHandle == NULL) { ++ xCompositeHandle = dlopen(XCOMPOSITE_VERSIONED, RTLD_LAZY | RTLD_GLOBAL); ++ } ++ } ++ //*(void **)(&asyncGetCallTraceFunction) ++ if (xCompositeHandle != NULL) { ++ *(void **)(&compositeQueryExtension) = dlsym(xCompositeHandle, "XCompositeQueryExtension"); ++ *(void **)(&compositeQueryVersion) = dlsym(xCompositeHandle, "XCompositeQueryVersion"); ++ *(void **)(&compositeGetOverlayWindow) = dlsym(xCompositeHandle, "XCompositeGetOverlayWindow"); ++ } ++ ++ if (xCompositeHandle && !checkXCompositeFunctions()) { ++ dlclose(xCompositeHandle); ++ } ++} ++ + static int32_t isXTestAvailable() { + int32_t major_opcode, first_event, first_error; + int32_t event_basep, error_basep, majorp, minorp; +@@ -88,6 +126,35 @@ + return isXTestAvailable; + } + ++static Bool hasXCompositeOverlayExtension(Display *display) { ++ ++ int xoverlay = False; ++ int eventBase, errorBase; ++ if (checkXCompositeFunctions() && ++ compositeQueryExtension(display, &eventBase, &errorBase)) ++ { ++ int major = 0; ++ int minor = 0; ++ ++ compositeQueryVersion(display, &major, &minor); ++ if (major > 0 || minor >= 3) { ++ xoverlay = True; ++ } ++ } ++ ++ return xoverlay; ++} ++ ++static jboolean isXCompositeDisplay(Display *display, int screenNumber) { ++ ++ char NET_WM_CM_Sn[25]; ++ snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber); ++ ++ Atom managerSelection = XInternAtom(display, NET_WM_CM_Sn, 0); ++ Window owner = XGetSelectionOwner(display, managerSelection); ++ ++ return owner != 0; ++} + + static XImage *getWindowImage(Display * display, Window window, + int32_t x, int32_t y, +@@ -232,6 +299,12 @@ + DASSERT(adata != NULL); + + rootWindow = XRootWindow(awt_display, adata->awt_visInfo.screen); ++ if (hasXCompositeOverlayExtension(awt_display) && ++ isXCompositeDisplay(awt_display, adata->awt_visInfo.screen)) ++ { ++ rootWindow = compositeGetOverlayWindow(awt_display, rootWindow); ++ } ++ + image = getWindowImage(awt_display, rootWindow, x, y, width, height); + + /* Array to use to crunch around the pixel values */ +@@ -412,3 +485,8 @@ + + AWT_UNLOCK(); + } ++ ++JNIEXPORT void JNICALL ++Java_sun_awt_X11_XRobotPeer_loadNativeLibraries (JNIEnv *env, jclass cls) { ++ initXCompositeFunctions(); ++} + diff --git a/8165852-pr3468.patch b/8165852-pr3468.patch new file mode 100644 index 0000000..6be87a7 --- /dev/null +++ b/8165852-pr3468.patch @@ -0,0 +1,87 @@ + +# HG changeset patch +# User bpb +# Date 1515783982 28800 +# Node ID b8843bca95b5e0eed5bbb4dc195c89c727c7aede +# Parent 61d7ce442d95f5f30c84037a50cf6361bf7c37e1 +8165852: (fs) Mount point not found for a file which is present in overlayfs +Summary: Check /proc/mounts when the device ID boundary is reached +Reviewed-by: alanb + +diff -r 61d7ce442d95 -r b8843bca95b5 src/solaris/classes/sun/nio/fs/LinuxFileStore.java +--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java Tue Jul 24 05:10:45 2018 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java Fri Jan 12 11:06:22 2018 -0800 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2008, 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 +@@ -66,6 +66,8 @@ + } + + // step 2: find mount point ++ List procMountsEntries = ++ fs.getMountEntries("/proc/mounts"); + UnixPath parent = path.getParent(); + while (parent != null) { + UnixFileAttributes attrs = null; +@@ -74,16 +76,23 @@ + } catch (UnixException x) { + x.rethrowAsIOException(parent); + } +- if (attrs.dev() != dev()) +- break; ++ if (attrs.dev() != dev()) { ++ // step 3: lookup mounted file systems (use /proc/mounts to ++ // ensure we find the file system even when not in /etc/mtab) ++ byte[] dir = path.asByteArray(); ++ for (UnixMountEntry entry : procMountsEntries) { ++ if (Arrays.equals(dir, entry.dir())) ++ return entry; ++ } ++ } + path = parent; + parent = parent.getParent(); + } + +- // step 3: lookup mounted file systems (use /proc/mounts to ensure we +- // find the file system even when not in /etc/mtab) ++ // step 3: lookup mounted file systems (use /proc/mounts to ++ // ensure we find the file system even when not in /etc/mtab) + byte[] dir = path.asByteArray(); +- for (UnixMountEntry entry: fs.getMountEntries("/proc/mounts")) { ++ for (UnixMountEntry entry : procMountsEntries) { + if (Arrays.equals(dir, entry.dir())) + return entry; + } +diff -r 61d7ce442d95 -r b8843bca95b5 src/solaris/classes/sun/nio/fs/LinuxFileSystem.java +--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Tue Jul 24 05:10:45 2018 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Fri Jan 12 11:06:22 2018 -0800 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2008, 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 +@@ -75,7 +75,7 @@ + /** + * Returns object to iterate over the mount entries in the given fstab file. + */ +- Iterable getMountEntries(String fstab) { ++ List getMountEntries(String fstab) { + ArrayList entries = new ArrayList<>(); + try { + long fp = setmntent(Util.toBytes(fstab), Util.toBytes("r")); +@@ -101,7 +101,7 @@ + * Returns object to iterate over the mount entries in /etc/mtab + */ + @Override +- Iterable getMountEntries() { ++ List getMountEntries() { + return getMountEntries("/etc/mtab"); + } + + diff --git a/8201495-s390-java-opts.patch b/8201495-s390-java-opts.patch new file mode 100644 index 0000000..d42d05b --- /dev/null +++ b/8201495-s390-java-opts.patch @@ -0,0 +1,21 @@ + +# HG changeset patch +# User sgehwolf +# Date 1525428026 -3600 +# Node ID 7129b977c4af021b1c9bbd7bbd334677213940d4 +# Parent 888144400d978e40a004dd8b908025a31135c092 +8201495: [Zero] Reduce limits of max heap size for boot JDK on s390 +Reviewed-by: andrew + +diff -r 888144400d97 -r 7129b977c4af common/autoconf/boot-jdk.m4 +--- openjdk.orig/common/autoconf/boot-jdk.m4 Thu Apr 19 03:58:58 2018 -0700 ++++ openjdk/common/autoconf/boot-jdk.m4 Fri May 04 11:00:26 2018 +0100 +@@ -334,7 +334,7 @@ + # Maximum amount of heap memory. + # Maximum stack size. + if test "x$BOOT_JDK_BITS" = x32; then +- JVM_MAX_HEAP=1100M ++ JVM_MAX_HEAP=768M + STACK_SIZE=768 + else + # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit diff --git a/java-1.8.0-openjdk-size_t.patch b/8203030-size_t-fixes.patch similarity index 100% rename from java-1.8.0-openjdk-size_t.patch rename to 8203030-size_t-fixes.patch diff --git a/pr3539-rh1548475.patch b/8205104-pr3539-rh1548475.patch similarity index 100% rename from pr3539-rh1548475.patch rename to 8205104-pr3539-rh1548475.patch diff --git a/8207057-pr3613-assembler-debuginfo-hotspot.patch b/8207057-pr3613-assembler-debuginfo-hotspot.patch new file mode 100644 index 0000000..c61d972 --- /dev/null +++ b/8207057-pr3613-assembler-debuginfo-hotspot.patch @@ -0,0 +1,13 @@ +--- openjdk/hotspot/make/linux/makefiles/gcc.make 2018-09-17 15:40:56.933127667 +0200 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2018-09-17 15:40:56.831127850 +0200 +@@ -184,6 +184,10 @@ + LFLAGS += $(ARCHFLAG) + ASFLAGS += $(ARCHFLAG) + ++ifeq ($(DEBUG_BINARIES), true) ++ ASFLAGS += $(ASFLAGS_DEBUG_SYMBOLS) ++endif ++ + # Use C++ Interpreter + ifdef CC_INTERP + CFLAGS += -DCC_INTERP diff --git a/8207057-pr3613-hotspot-assembler-debuginfo.patch b/8207057-pr3613-hotspot-assembler-debuginfo.patch deleted file mode 100644 index 61f493d..0000000 --- a/8207057-pr3613-hotspot-assembler-debuginfo.patch +++ /dev/null @@ -1,27 +0,0 @@ -Make the assembler generate whatever debuginfo it can ---- openjdk/hotspot/make/linux/makefiles/rules.make -+++ openjdk/hotspot/make/linux/makefiles/rules.make -@@ -34,7 +34,7 @@ - CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS) - CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS) - --AS.S = $(AS) $(ASFLAGS) -+AS.S = $(AS) -g $(ASFLAGS) - - COMPILE.CC = $(CC_COMPILE) -c - GENASM.CC = $(CC_COMPILE) -S -@@ -161,12 +161,12 @@ - %.o: %.s - @echo Assembling $< - $(QUIETLY) $(REMOVE_TARGET) -- $(QUIETLY) $(AS.S) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE) -+ $(QUIETLY) $(AS.S) -g $(DEPFLAGS) -o $@ $< $(COMPILE_DONE) - - %.o: %.S - @echo Assembling $< - $(QUIETLY) $(REMOVE_TARGET) -- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) -+ $(COMPILE.CC) -g -o $@ $< $(COMPILE_DONE) - - %.s: %.cpp - @echo Generating assembly for $< diff --git a/8207234-dont-add-unnecessary-debug-links.patch b/8207234-dont-add-unnecessary-debug-links.patch deleted file mode 100644 index 9c29e6b..0000000 --- a/8207234-dont-add-unnecessary-debug-links.patch +++ /dev/null @@ -1,77 +0,0 @@ ---- openjdk/make/common/NativeCompilation.gmk -+++ openjdk/make/common/NativeCompilation.gmk -@@ -437,29 +437,6 @@ - - ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X - ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows -- ifeq ($(OPENJDK_TARGET_OS), solaris) -- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. -- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from -- # empty section headers until a fixed $(OBJCOPY) is available. -- # An empty section header has sh_addr == 0 and sh_size == 0. -- # This problem has only been seen on Solaris X64, but we call this tool -- # on all Solaris builds just in case. -- # -- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. -- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. -- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \ -- $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) -- $(RM) $$@ -- $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< -- $(OBJCOPY) --only-keep-debug $$< $$@ -- $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< -- else # not solaris -- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) -- $(RM) $$@ -- $(OBJCOPY) --only-keep-debug $$< $$@ -- $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< -- endif # Touch to not retrigger rule on rebuild -- $(TOUCH) $$@ - endif # !windows - endif # !macosx - -@@ -483,7 +460,6 @@ - $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \ - $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb - else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files -- $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo - endif - endif - endif -@@ -522,28 +498,8 @@ - ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X - ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows - ifeq ($(OPENJDK_TARGET_OS), solaris) -- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. -- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from -- # empty section headers until a fixed $(OBJCOPY) is available. -- # An empty section header has sh_addr == 0 and sh_size == 0. -- # This problem has only been seen on Solaris X64, but we call this tool -- # on all Solaris builds just in case. -- # -- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. -- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. -- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \ -- $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) -- $(RM) $$@ -- $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< -- $(OBJCOPY) --only-keep-debug $$< $$@ -- $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< - else # not solaris -- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) -- $(RM) $$@ -- $(OBJCOPY) --only-keep-debug $$< $$@ -- $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< - endif -- $(TOUCH) $$@ - endif # !windows - endif # !macosx - -@@ -567,7 +523,6 @@ - $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \ - $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb - else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files -- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo - endif - endif - endif diff --git a/java-1.8.0-openjdk-s390-java-opts.patch b/java-1.8.0-openjdk-s390-java-opts.patch deleted file mode 100644 index e2a4313..0000000 --- a/java-1.8.0-openjdk-s390-java-opts.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- openjdk.orig/common/autoconf/boot-jdk.m4 2016-01-21 18:33:47.586288044 +0000 -+++ openjdk/common/autoconf/boot-jdk.m4 2016-02-05 15:56:09.012242707 +0000 -@@ -1,5 +1,6 @@ - # - # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. -+# Copyright 2014 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 -@@ -303,6 +323,9 @@ - - AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], - [ -+ # Ensure OPENJDK_TARGET_CPU_ARCH has been setup -+ AC_REQUIRE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET]) -+ - ############################################################################## - # - # Specify options for anything that is run with the Boot JDK. -@@ -325,16 +348,23 @@ - JAVA_FLAGS=$boot_jdk_jvmargs - AC_SUBST(JAVA_FLAGS) - -- - AC_MSG_CHECKING([flags for boot jdk java command for big workloads]) - - # Starting amount of heap memory. -- ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA]) -+ if test "x$OPENJDK_BUILD_CPU_ARCH" = "xs390"; then -+ ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs_big,[$JAVA]) -+ else -+ ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA]) -+ fi - - # Maximum amount of heap memory. - # Maximum stack size. - if test "x$BOOT_JDK_BITS" = x32; then -- JVM_MAX_HEAP=1100M -+ if test "x$OPENJDK_BUILD_CPU_ARCH" = "xs390"; then -+ JVM_MAX_HEAP=768M -+ else -+ JVM_MAX_HEAP=1100M -+ fi - STACK_SIZE=768 - else - # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 4d04da2..bf53628 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -961,7 +961,7 @@ Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{releas Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 1%{?dist} +Release: 2%{?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 @@ -1039,21 +1039,7 @@ Source101: config.sub # Ignore AWTError when assistive technologies are loaded Patch1: %{name}-accessible-toolkit.patch # Restrict access to java-atk-wrapper classes -Patch3: java-atk-wrapper-security.patch - -############################################# -# -# Upstreamable patches -# -############################################# -# PR2737: Allow multiple initialization of PKCS11 libraries -Patch5: multiple-pkcs11-library-init.patch -# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x) -Patch504: rh1163501.patch -# S4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option -Patch511: rh1214835.patch -# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions -Patch512: no_strict_overflow.patch +Patch3: java-atk-wrapper-security.patch # Support for building the SunEC provider with the system NSS installation # PR1983: Support using the system installation of NSS with the SunEC provider # PR2127: SunEC provider crashes when built using system NSS @@ -1068,10 +1054,20 @@ Patch516: pr2815.patch Patch517: pr2899.patch Patch518: pr2934.patch Patch519: pr3479-rh1486025.patch -# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result -# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html -Patch508: rh1176206-jdk.patch -Patch509: rh1176206-root.patch +# PR3183, RH1340845: Support Fedora/RHEL system crypto policy +Patch300: pr3183-rh1340845-system-crypto-policy.patch + +############################################# +# +# Upstreamable patches +# +############################################# +# PR2737: Allow multiple initialization of PKCS11 libraries +Patch5: multiple-pkcs11-library-init.patch +# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x) +Patch504: rh1163501.patch +# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions +Patch512: no_strict_overflow.patch # RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings Patch523: pr2974-rh1337583.patch # PR3083, RH1346460: Regression in SSL debug output without an ECC provider @@ -1080,23 +1076,9 @@ Patch528: pr3083-rh1346460.patch Patch529: rh1566890_embargoed20180521.patch # PR3601: Fix additional -Wreturn-type issues introduced by 8061651 Patch530: pr3601.patch -# PR3183: Support Fedora/RHEL system crypto policy -Patch300: pr3183.patch - -############################################# -# -# Upstreamable debugging patches -# -############################################# -# Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files -# 8207234: More libraries with .gnu_debuglink sections added unconditionally -Patch205: 8207234-dont-add-unnecessary-debug-links.patch # Arch-specific upstreamable patches -# s390: PR2415: JVM -Xmx requirement is too high on s390 -Patch100: %{name}-s390-java-opts.patch -# s390: Type fixing for s390 -Patch102: %{name}-size_t.patch + # s390: PR3593: Use "%z" for size_t on s390 as size_t != intptr_t Patch103: pr3593-s390-size_t_format_flags.patch # x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround) @@ -1115,10 +1097,6 @@ Patch602: %{name}-rh1191652-jdk.patch Patch603: %{name}-rh1191652-hotspot-aarch64.patch # Include all sources in src.zip Patch7: include-all-srcs.patch -# 8035341: Allow using a system installed libpng -Patch202: system-libpng.patch -# 8042159: Allow using a system-installed lcms2 -Patch203: system-lcms.patch # S8074839, PR2462: Resolve disabled warnings for libunpack and the unpack200 binary # This fixes printf warnings that lead to build failure with -Werror=format-security from optflags Patch502: pr2462.patch @@ -1146,8 +1124,8 @@ Patch575: 8197981-pr3548.patch Patch576: 8064786-pr3599.patch # 8062808, PR3548: Turn on the -Wreturn-type warning Patch577: 8062808-pr3548.patch -# 8207057, PR3613: Enable debug information for assembly code files -Patch206: 8207057-pr3613-hotspot-assembler-debuginfo.patch +# s390: JDK-8203030, Type fixing for s390 +Patch102: 8203030-size_t-fixes.patch ############################################# # @@ -1155,9 +1133,9 @@ Patch206: 8207057-pr3613-hotspot-assembler-debuginfo.patch # ############################################# # S8031668, PR2842: TOOLCHAIN_FIND_COMPILER unexpectedly resolves symbolic links -Patch506: pr2842-01.patch +Patch506: 8031668-pr2842-01.patch # S8148351, PR2842: Only display resolved symlink for compiler, do not change path -Patch507: pr2842-02.patch +Patch507: 8148351-pr2842-02.patch # S6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate Patch526: 6260348-pr3066.patch # 8061305, PR3335, RH1423421: Javadoc crashes when method name ends with "Property" @@ -1165,7 +1143,7 @@ Patch538: 8061305-pr3335-rh1423421.patch # 8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present Patch560: 8188030-pr3459-rh1484079.patch # 8205104, PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build -Patch562: pr3539-rh1548475.patch +Patch562: 8205104-pr3539-rh1548475.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 @@ -1180,8 +1158,26 @@ Patch579: 8203182-pr3603-rh1568033.patch Patch580: 8206406-pr3610-rh1597825.patch # 8146115, PR3508, RH1463098: Improve docker container detection and resource configuration usage Patch581: 8146115-pr3508-rh1463098.patch +# Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files # 8206425: .gnu_debuglink sections added unconditionally when no debuginfo is stripped Patch204: 8206425-hotspot-remove-debuglink.patch +# 8036003: Add --with-native-debug-symbols=[none|internal|external|zipped] +Patch205: 8036003-add-with-native-debug-symbols-configure-flag.patch +# s390: JDK-8201495, PR2415: JVM -Xmx requirement is too high on s390 +Patch100: 8201495-s390-java-opts.patch + +############################################# +# +# Patches appearing in 8u202 +# +############################################# +# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result +Patch508: 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch +# 8207057, PR3613: Enable debug information for assembly code files +Patch206: 8207057-pr3613-assembler-debuginfo-hotspot.patch +Patch207: 8207057-pr3613-assembler-debuginfo-root.patch +# 8165852, PR3468: (fs) Mount point not found for a file which is present in overlayfs +Patch210: 8165852-pr3468.patch ############################################# # @@ -1190,6 +1186,10 @@ Patch204: 8206425-hotspot-remove-debuglink.patch ############################################# # 8043805: Allow using a system-installed libjpeg Patch201: system-libjpeg.patch +# 8035341: Allow using a system installed libpng +Patch202: system-libpng.patch +# 8042159: Allow using a system-installed lcms2 +Patch203: system-lcms.patch ############################################# # @@ -1546,6 +1546,8 @@ sh %{SOURCE12} %patch204 %patch205 %patch206 +%patch207 +%patch210 %patch300 @@ -1576,8 +1578,6 @@ sh %{SOURCE12} %patch506 %patch507 %patch508 -%patch509 -%patch511 %patch512 %patch513 %patch514 @@ -1727,7 +1727,7 @@ bash ../../configure \ %ifnarch %{jit_arches} --with-jvm-variants=zero \ %endif - --disable-zip-debug-info \ + --with-native-debug-symbols=internal \ --with-milestone="fcs" \ --with-update-version=%{updatever} \ --with-build-number=%{buildver} \ @@ -1760,10 +1760,7 @@ cat hotspot-spec.gmk # ignore all the other logic about which debug options and just do '-g'. make \ - DEBUG_BINARIES=true \ JAVAC_FLAGS=-g \ - STRIP_POLICY=no_strip \ - POST_STRIP_CMD="" \ LOG=trace \ SCTP_WERROR= \ %{targets} || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false ) @@ -2271,6 +2268,31 @@ require "copy_jdk_configs.lua" %endif %changelog +* Tue Sep 18 2018 Severin Gehwolf - 1:1.8.0.181.b15-2 +- Update(s) from upstreamed patches: + - 8036003-dont-add-unnecessary-debug-links.patch => + 8036003-add-with-native-debug-symbols-configure-flag.patch + - rh1176206-jdk.patch => + 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch => + Deleted rh1176206-root.patch as thats no longer needed with + upstream 8150954. + - Refreshed 8165852-pr3468.patch from upstream. + - Refreshed 8201495-s390-java-opts.patch from upstream. + - 8207057-pr3613-hotspot-assembler-debuginfo.patch => + 8207057-pr3613-assembler-debuginfo-hotspot.patch and + 8207057-pr3613-assembler-debuginfo-root.patch. From JDK 8u + review. +- Renamed pr2842-02.patch => 8148351-pr2842-02.patch. +- Renamed spec-only patch: + pr3183.patch => pr3183-rh1340845-system-crypto-policy.patch +- Renamed java-1.8.0-openjdk-size_t.patch => + 8201495-s390-java-opts.patch +- Moved SunEC provider via system NSS to RPM specific patches section. +- Moved upstream 8u patches to appropriate sections (8u192/8u202). +- Removed rh1214835.patch since it's invalid. See: + https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2304#c3 +- Use --with-native-debug-symbols=internal which JDK-8036003 adds. + * Tue Sep 11 2018 Jiri Vanek - 1:1.8.0.181.b15-1 - fixed unexpanded arch in policy tool desktop file - fixed versions (8->1.8.0) of images used in desktop files diff --git a/pr3183.patch b/pr3183-rh1340845-system-crypto-policy.patch similarity index 100% rename from pr3183.patch rename to pr3183-rh1340845-system-crypto-policy.patch diff --git a/rh1176206-jdk.patch b/rh1176206-jdk.patch deleted file mode 100644 index 23b8e52..0000000 --- a/rh1176206-jdk.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- openjdk/jdk/make/lib/Awt2dLibraries.gmk 2016-02-29 17:11:00.497484904 +0100 -+++ openjdk/jdk/make/lib/Awt2dLibraries.gmk 2016-02-29 17:11:00.402486574 +0100 -@@ -618,7 +618,7 @@ - XRSurfaceData.c \ - XRBackendNative.c - -- LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc -+ LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender -lXcomposite $(LIBDL) -lXtst -lXi -ljava -ljvm -lc - - ifeq ($(OPENJDK_TARGET_OS), linux) - # To match old build, add this to LDFLAGS instead of suffix. ---- openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c 2016-02-29 17:11:00.777479982 +0100 -+++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c 2016-02-29 17:11:00.677481740 +0100 -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #include - #include - #include "robot_common.h" -@@ -88,6 +89,32 @@ - return isXTestAvailable; - } - -+static Bool hasXCompositeOverlayExtension(Display *display) { -+ -+ int xoverlay = False; -+ int eventBase, errorBase; -+ if (XCompositeQueryExtension(display, &eventBase, &errorBase)) { -+ int major = 0; -+ int minor = 0; -+ -+ XCompositeQueryVersion(display, &major, &minor); -+ if (major > 0 || minor >= 3) -+ xoverlay = True; -+ } -+ -+ return xoverlay; -+} -+ -+static jboolean isXCompositeDisplay(Display *display, int screenNumber) { -+ -+ char NET_WM_CM_Sn[25]; -+ snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber); -+ -+ Atom managerSelection = XInternAtom(display, NET_WM_CM_Sn, 0); -+ Window owner = XGetSelectionOwner(display, managerSelection); -+ -+ return owner != 0; -+} - - static XImage *getWindowImage(Display * display, Window window, - int32_t x, int32_t y, -@@ -232,6 +259,12 @@ - DASSERT(adata != NULL); - - rootWindow = XRootWindow(awt_display, adata->awt_visInfo.screen); -+ if (isXCompositeDisplay(awt_display, adata->awt_visInfo.screen) && -+ hasXCompositeOverlayExtension(awt_display)) -+ { -+ rootWindow = XCompositeGetOverlayWindow(awt_display, rootWindow); -+ } -+ - image = getWindowImage(awt_display, rootWindow, x, y, width, height); - - /* Array to use to crunch around the pixel values */ diff --git a/rh1176206-root.patch b/rh1176206-root.patch deleted file mode 100644 index db1061c..0000000 --- a/rh1176206-root.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- openjdk/common/autoconf/help.m4 2016-02-29 17:10:45.542747800 +0100 -+++ openjdk/common/autoconf/help.m4 2016-02-29 17:10:45.500748539 +0100 -@@ -112,7 +112,7 @@ - pulse) - PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;; - x11) -- PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;; -+ PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libXcomposite-dev" ;; - ccache) - PKGHANDLER_COMMAND="sudo apt-get install ccache" ;; - esac ---- openjdk/common/autoconf/libraries.m4 2016-02-29 17:10:45.716744742 +0100 -+++ openjdk/common/autoconf/libraries.m4 2016-02-29 17:10:45.675745462 +0100 -@@ -153,7 +153,7 @@ - CFLAGS="$CFLAGS $X_CFLAGS" - - # Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10 -- AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h], -+ AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h X11/extensions/Xcomposite.h], - [X11_A_OK=yes], - [X11_A_OK=no; break], - [ -@@ -167,7 +167,7 @@ - - if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then - HELP_MSG_MISSING_DEPENDENCY([x11]) -- AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h). $HELP_MSG]) -+ AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h Xcomposite.h). $HELP_MSG]) - fi - - AC_SUBST(X_CFLAGS) diff --git a/rh1214835.patch b/rh1214835.patch deleted file mode 100644 index eba79a6..0000000 --- a/rh1214835.patch +++ /dev/null @@ -1,20 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1429893959 -3600 -# Fri Apr 24 17:45:59 2015 +0100 -# Node ID 6e3f4784affc0de360d763ad69979690b2650a98 -# Parent 75acb9c0991bc118463debed137d38ce40358bc0 -4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option - -diff -r 75acb9c0991b -r 6e3f4784affc src/share/demo/jvmti/hprof/hprof_init.c ---- openjdk/jdk/src/share/demo/jvmti/hprof/hprof_init.c Thu Jun 04 18:00:35 2015 +0100 -+++ openjdk/jdk/src/share/demo/jvmti/hprof/hprof_init.c Fri Apr 24 17:45:59 2015 +0100 -@@ -1361,7 +1361,7 @@ - } rawMonitorExit(gdata->dump_lock); - - /* Dump everything if we need to */ -- if (gdata->dump_on_exit && need_to_dump) { -+ if (gdata->dump_on_exit || need_to_dump) { - - dump_all_data(env); - }