Update to aarch64-shenandoah-jdk8u192-b12.
Remove patches included upstream - JDK-8031668/PR2842 - JDK-8148351/PR2842 - JDK-6260348/PR3066 - JDK-8061305/PR3335/RH1423421 - JDK-8188030/PR3459/RH1484079 - JDK-8205104/PR3539/RH1548475 - JDK-8185723/PR3553 - JDK-8186461/PR3557 - JDK-8201509/PR3579 - JDK-8075942/PR3602 - JDK-8203182/PR3603 - JDK-8206406/PR3610/RH1597825 - JDK-8206425 - JDK-8036003 - JDK-8201495/PR2415 - JDK-8150954/PR2866/RH1176206 Re-generate patches (mostly due to upstream build changes) - JDK-8073139/PR1758/RH1191652 - JDK-8143245/PR3548 (due to JDK-8202600) - JDK-8197429/PR3546/RH1536622 (due to JDK-8189170) - JDK-8199936/PR3533 - JDK-8199936/PR3591 - JDK-8207057/PR3613 - JDK-8210761/RH1632174 (due to JDK-8207402) - PR3559 (due to JDK-8185723/JDK-8186461/JDK-8201509) - PR3593 (due to JDK-8081202) - RH1566890/CVE-2018-3639 (due to JDK-8189170) - RH1649664 (due to JDK-8196516)
This commit is contained in:
parent
77e1240af4
commit
e0121aeccf
1
.gitignore
vendored
1
.gitignore
vendored
@ -129,3 +129,4 @@
|
||||
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b12.tar.xz
|
||||
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b13.tar.xz
|
||||
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b14.tar.xz
|
||||
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u192-b12.tar.xz
|
||||
|
@ -226,7 +226,7 @@
|
||||
# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
|
||||
%global shenandoah_project aarch64-port
|
||||
%global shenandoah_repo jdk8u-shenandoah
|
||||
%global shenandoah_revision aarch64-shenandoah-jdk8u191-b14
|
||||
%global shenandoah_revision aarch64-shenandoah-jdk8u192-b12
|
||||
# Define old aarch64/jdk8u tree variables for compatibility
|
||||
%global project %{shenandoah_project}
|
||||
%global repo %{shenandoah_repo}
|
||||
@ -971,7 +971,7 @@ Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{releas
|
||||
|
||||
Name: java-%{javaver}-%{origin}
|
||||
Version: %{javaver}.%{updatever}.%{buildver}
|
||||
Release: 1%{?dist}
|
||||
Release: 0%{?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
|
||||
@ -1119,6 +1119,10 @@ Patch103: pr3593-s390_use_z_format_specifier_for_size_t_arguments_as_size_t_not_
|
||||
Patch105: jdk8199936-pr3533-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x.patch
|
||||
# AArch64: PR3519: Fix further functions with a missing return value (AArch64)
|
||||
Patch106: pr3519-fix_further_functions_with_a_missing_return_value.patch
|
||||
# AArch64: JDK-8160748: [AArch64] Inconsistent types for ideal_reg
|
||||
Patch107: jdk8160748-aarch64_ideal_reg.patch
|
||||
# AArch64: JDK-8189170: [AArch64] Add option to disable stack overflow checking in primordial thread for use with JNI_CreateJavaJVM
|
||||
Patch108: jdk8189170-aarch64_primordial_thread.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -1178,47 +1182,6 @@ Patch624: jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fd
|
||||
# Zero part of the fix for (arm/s390 arches)
|
||||
Patch625: jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
# Patches appearing in 8u192
|
||||
#
|
||||
# This section includes patches which are present
|
||||
# in the listed OpenJDK 8u release and should be
|
||||
# able to be removed once that release is out
|
||||
# and used by this RPM.
|
||||
#############################################
|
||||
# S8031668, PR2842: TOOLCHAIN_FIND_COMPILER unexpectedly resolves symbolic links
|
||||
Patch506: jdk8031668-pr2842-01-toolchain_find_compiler_unexpectedly_resolves_symbolic_links.patch
|
||||
# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
|
||||
Patch507: jdk8148351-pr2842-02-only_display_resolved_symlink_for_compiler_do_not_change_path.patch
|
||||
# S6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate
|
||||
Patch526: jdk6260348-pr3066-gtk_laf_jtextcomponent_not_respecting_desktop_caret_blink_rate.patch
|
||||
# 8061305, PR3335, RH1423421: Javadoc crashes when method name ends with "Property"
|
||||
Patch538: jdk8061305-pr3335-rh1423421-javadoc_crashes_when_method_name_ends_with_property.patch
|
||||
# 8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present
|
||||
Patch560: jdk8188030-pr3459-rh1484079-awt_java_apps_fail_to_start_when_some_minimal_fonts_are_present.patch
|
||||
# 8205104, PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
|
||||
Patch562: jdk8205104-pr3539-rh1548475-pass_extra_ldflags_to_hotspot_build.patch
|
||||
# 8185723, PR3553: Zero: segfaults on Power PC 32-bit
|
||||
Patch565: jdk8185723-pr3553-zero_segfaults_on_power_pc_32_bit.patch
|
||||
# 8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
|
||||
Patch566: jdk8186461-pr3557-zeros_atomic_copy64_should_use_spe_instructions_on_linux_powerpcspe.patch
|
||||
# 8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong
|
||||
Patch569: jdk8201509-pr3579-zero_S390_31bit_atomic_copy64_inline_assembler_is_wrong.patch
|
||||
# 8075942, PR3602: ArrayIndexOutOfBoundsException in sun.java2d.pisces.Dasher.goTo
|
||||
Patch578: jdk8075942-pr3602-rh1582032-arrayindexoutOfboundsException_in_sun_java2d_pisces_Dasher_goto.patch
|
||||
# 8203182, PR3603: Release session if initialization of SunPKCS11 Signature fails
|
||||
Patch579: jdk8203182-pr3603-rh1568033_release_session_if_initialization_of_sunpkcs11_signature_fails.patch
|
||||
# 8206406, PR3610, RH1597825: StubCodeDesc constructor publishes partially-constructed objects on StubCodeDesc::_list
|
||||
Patch580: jdk8206406-pr3610-rh1597825-tubcodedesc_constructor_publishes_partially_constructed_objects_on_stubCodeDesc_list.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: jdk8206425-gnu_debuglink_sections_added_unconditionally_when_no_debuginfo_is_stripped.patch
|
||||
# 8036003: Add --with-native-debug-symbols=[none|internal|external|zipped]
|
||||
Patch205: jdk8036003-add_with_native_debug_symbols_configure_flag.patch
|
||||
# s390: JDK-8201495, PR2415: JVM -Xmx requirement is too high on s390
|
||||
Patch100: jdk8201495-zero_reduce_limits_of_max_heap_size_for_boot_JDK_on_s390.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
# Patches appearing in 8u202
|
||||
@ -1228,8 +1191,6 @@ Patch100: jdk8201495-zero_reduce_limits_of_max_heap_size_for_boot_JDK_on_s390.pa
|
||||
# able to be removed once that release is out
|
||||
# and used by this RPM.
|
||||
#############################################
|
||||
# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
|
||||
Patch508: jdk8150954-pr2866-rh1176206-screenshot_xcomposite_jdk.patch
|
||||
# 8207057, PR3613: Enable debug information for assembly code files
|
||||
Patch206: jdk8207057-pr3613-no_debug_info_for_assembler_files_hotspot.patch
|
||||
Patch207: jdk8207057-pr3613-no_debug_info_for_assembler_files_root.patch
|
||||
@ -1611,8 +1572,6 @@ sh %{SOURCE12}
|
||||
%patch203
|
||||
|
||||
# Debugging fixes
|
||||
%patch204
|
||||
%patch205
|
||||
%patch206
|
||||
%patch207
|
||||
%patch210
|
||||
@ -1625,12 +1584,13 @@ sh %{SOURCE12}
|
||||
%patch7
|
||||
|
||||
# s390 build fixes
|
||||
%patch100
|
||||
%patch102
|
||||
%patch103
|
||||
|
||||
# AArch64 fixes
|
||||
%patch106
|
||||
%patch107
|
||||
%patch108
|
||||
|
||||
# x86 fixes
|
||||
%patch105
|
||||
@ -1643,9 +1603,6 @@ sh %{SOURCE12}
|
||||
# Upstreamable fixes
|
||||
%patch502
|
||||
%patch504
|
||||
%patch506
|
||||
%patch507
|
||||
%patch508
|
||||
%patch512
|
||||
%patch513
|
||||
%patch514
|
||||
@ -1656,20 +1613,13 @@ sh %{SOURCE12}
|
||||
%patch519
|
||||
%patch400
|
||||
%patch523
|
||||
%patch526
|
||||
%patch528
|
||||
%patch529
|
||||
%patch530
|
||||
%patch538
|
||||
%patch560
|
||||
%patch561
|
||||
%patch562
|
||||
%patch563
|
||||
%patch564
|
||||
%patch565
|
||||
%patch566
|
||||
%patch567
|
||||
%patch569
|
||||
%patch571
|
||||
%patch572
|
||||
%patch573
|
||||
@ -1677,9 +1627,6 @@ sh %{SOURCE12}
|
||||
%patch575
|
||||
%patch576
|
||||
%patch577
|
||||
%patch578
|
||||
%patch579
|
||||
%patch580
|
||||
%patch620
|
||||
%patch621
|
||||
%patch622
|
||||
@ -2340,7 +2287,41 @@ require "copy_jdk_configs.lua"
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jan 14 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.191.b14-1
|
||||
* Wed Jan 30 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.192.b12-0
|
||||
- Update to aarch64-shenandoah-jdk8u192-b12.
|
||||
- Remove patches included upstream
|
||||
- JDK-8031668/PR2842
|
||||
- JDK-8148351/PR2842
|
||||
- JDK-6260348/PR3066
|
||||
- JDK-8061305/PR3335/RH1423421
|
||||
- JDK-8188030/PR3459/RH1484079
|
||||
- JDK-8205104/PR3539/RH1548475
|
||||
- JDK-8185723/PR3553
|
||||
- JDK-8186461/PR3557
|
||||
- JDK-8201509/PR3579
|
||||
- JDK-8075942/PR3602
|
||||
- JDK-8203182/PR3603
|
||||
- JDK-8206406/PR3610/RH1597825
|
||||
- JDK-8206425
|
||||
- JDK-8036003
|
||||
- JDK-8201495/PR2415
|
||||
- JDK-8150954/PR2866/RH1176206
|
||||
- Re-generate patches (mostly due to upstream build changes)
|
||||
- JDK-8073139/PR1758/RH1191652
|
||||
- JDK-8143245/PR3548 (due to JDK-8202600)
|
||||
- JDK-8197429/PR3546/RH1536622 (due to JDK-8189170)
|
||||
- JDK-8199936/PR3533
|
||||
- JDK-8199936/PR3591
|
||||
- JDK-8207057/PR3613
|
||||
- JDK-8210761/RH1632174 (due to JDK-8207402)
|
||||
- PR3559 (due to JDK-8185723/JDK-8186461/JDK-8201509)
|
||||
- PR3593 (due to JDK-8081202)
|
||||
- RH1566890/CVE-2018-3639 (due to JDK-8189170)
|
||||
- RH1649664 (due to JDK-8196516)
|
||||
- Add 8160748 for AArch64 which is missing from upstream 8u version.
|
||||
- Add port of 8189170 to AArch64 which is missing from upstream 8u version.
|
||||
|
||||
* Mon Jan 28 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.191.b14-1
|
||||
- Add 8131048 & 8164920 (PR3574/RH1498936) to provide a CRC32 intrinsic for PPC64.
|
||||
|
||||
* Thu Jan 24 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.191.b14-0
|
||||
|
@ -1,150 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User ssadetsky
|
||||
# Date 1467220169 -3600
|
||||
# Wed Jun 29 18:09:29 2016 +0100
|
||||
# Node ID 9fffaa63c49d93bff70b96af9a86b7635bce44be
|
||||
# Parent d0462c26152fc8bd5f79db7f1670777e807ef2b3
|
||||
6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate
|
||||
Reviewed-by: alexsch, azvegint
|
||||
|
||||
diff -r d0462c26152f -r 9fffaa63c49d src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java
|
||||
--- openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java Tue Jun 28 19:44:50 2016 +0100
|
||||
+++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java Wed Jun 29 18:09:29 2016 +0100
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2005, 2015, 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
|
||||
@@ -93,7 +93,9 @@
|
||||
*/
|
||||
static enum Settings {
|
||||
GTK_FONT_NAME,
|
||||
- GTK_ICON_SIZES
|
||||
+ GTK_ICON_SIZES,
|
||||
+ GTK_CURSOR_BLINK,
|
||||
+ GTK_CURSOR_BLINK_TIME
|
||||
}
|
||||
|
||||
/* Custom regions are needed for representing regions that don't exist
|
||||
diff -r d0462c26152f -r 9fffaa63c49d src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java
|
||||
--- openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java Tue Jun 28 19:44:50 2016 +0100
|
||||
+++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java Wed Jun 29 18:09:29 2016 +0100
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2002, 2015, 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
|
||||
@@ -371,7 +371,17 @@
|
||||
int vProgWidth = 22 - (progXThickness * 2);
|
||||
int vProgHeight = 80 - (progYThickness * 2);
|
||||
|
||||
- Integer caretBlinkRate = Integer.valueOf(500);
|
||||
+ Integer caretBlinkRate;
|
||||
+ if (Boolean.FALSE.equals(GTKEngine.INSTANCE.getSetting(
|
||||
+ GTKEngine.Settings.GTK_CURSOR_BLINK))) {
|
||||
+ caretBlinkRate = Integer.valueOf(0);
|
||||
+ } else {
|
||||
+ caretBlinkRate = (Integer) GTKEngine.INSTANCE.getSetting(
|
||||
+ GTKEngine.Settings.GTK_CURSOR_BLINK_TIME);
|
||||
+ if (caretBlinkRate == null) {
|
||||
+ caretBlinkRate = Integer.valueOf(500);
|
||||
+ }
|
||||
+ }
|
||||
Insets zeroInsets = new InsetsUIResource(0, 0, 0, 0);
|
||||
|
||||
Double defaultCaretAspectRatio = new Double(0.025);
|
||||
diff -r d0462c26152f -r 9fffaa63c49d src/solaris/native/sun/awt/gtk2_interface.c
|
||||
--- openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.c Tue Jun 28 19:44:50 2016 +0100
|
||||
+++ openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.c Wed Jun 29 18:09:29 2016 +0100
|
||||
@@ -1316,9 +1316,6 @@
|
||||
{
|
||||
result = gtk2_widgets[_GTK_COMBO_BOX_TEXT_FIELD_TYPE] =
|
||||
(*fp_gtk_entry_new)();
|
||||
-
|
||||
- GtkSettings* settings = fp_gtk_widget_get_settings(result);
|
||||
- fp_g_object_set(settings, "gtk-cursor-blink", FALSE, NULL);
|
||||
}
|
||||
result = gtk2_widgets[_GTK_COMBO_BOX_TEXT_FIELD_TYPE];
|
||||
break;
|
||||
@@ -1363,10 +1360,6 @@
|
||||
{
|
||||
gtk2_widgets[_GTK_ENTRY_TYPE] =
|
||||
(*fp_gtk_entry_new)();
|
||||
-
|
||||
- GtkSettings* settings =
|
||||
- fp_gtk_widget_get_settings(gtk2_widgets[_GTK_ENTRY_TYPE]);
|
||||
- fp_g_object_set(settings, "gtk-cursor-blink", FALSE, NULL);
|
||||
}
|
||||
result = gtk2_widgets[_GTK_ENTRY_TYPE];
|
||||
break;
|
||||
@@ -1558,9 +1551,6 @@
|
||||
{
|
||||
result = gtk2_widgets[_GTK_SPIN_BUTTON_TYPE] =
|
||||
(*fp_gtk_spin_button_new)(NULL, 0, 0);
|
||||
-
|
||||
- GtkSettings* settings = fp_gtk_widget_get_settings(result);
|
||||
- fp_g_object_set(settings, "gtk-cursor-blink", FALSE, NULL);
|
||||
}
|
||||
result = gtk2_widgets[_GTK_SPIN_BUTTON_TYPE];
|
||||
break;
|
||||
@@ -2510,14 +2500,20 @@
|
||||
|
||||
return result;
|
||||
}
|
||||
-/*
|
||||
+
|
||||
jobject get_integer_property(JNIEnv *env, GtkSettings* settings, const gchar* key)
|
||||
{
|
||||
- gint intval = NULL;
|
||||
-
|
||||
+ gint intval = NULL;
|
||||
(*fp_g_object_get)(settings, key, &intval, NULL);
|
||||
return create_Integer(env, intval);
|
||||
-}*/
|
||||
+}
|
||||
+
|
||||
+jobject get_boolean_property(JNIEnv *env, GtkSettings* settings, const gchar* key)
|
||||
+{
|
||||
+ gint intval = NULL;
|
||||
+ (*fp_g_object_get)(settings, key, &intval, NULL);
|
||||
+ return create_Boolean(env, intval);
|
||||
+}
|
||||
|
||||
jobject gtk2_get_setting(JNIEnv *env, Setting property)
|
||||
{
|
||||
@@ -2529,6 +2525,10 @@
|
||||
return get_string_property(env, settings, "gtk-font-name");
|
||||
case GTK_ICON_SIZES:
|
||||
return get_string_property(env, settings, "gtk-icon-sizes");
|
||||
+ case GTK_CURSOR_BLINK:
|
||||
+ return get_boolean_property(env, settings, "gtk-cursor-blink");
|
||||
+ case GTK_CURSOR_BLINK_TIME:
|
||||
+ return get_integer_property(env, settings, "gtk-cursor-blink-time");
|
||||
}
|
||||
|
||||
return NULL;
|
||||
diff -r d0462c26152f -r 9fffaa63c49d src/solaris/native/sun/awt/gtk2_interface.h
|
||||
--- openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.h Tue Jun 28 19:44:50 2016 +0100
|
||||
+++ openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.h Wed Jun 29 18:09:29 2016 +0100
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2005, 2015, 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
|
||||
@@ -140,7 +140,9 @@
|
||||
typedef enum _Setting
|
||||
{
|
||||
GTK_FONT_NAME,
|
||||
- GTK_ICON_SIZES
|
||||
+ GTK_ICON_SIZES,
|
||||
+ GTK_CURSOR_BLINK,
|
||||
+ GTK_CURSOR_BLINK_TIME
|
||||
} Setting;
|
||||
|
||||
/* GTK types, here to eliminate need for GTK headers at compile time */
|
@ -1,22 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User mduigou
|
||||
# Date 1389723922 28800
|
||||
# Tue Jan 14 10:25:22 2014 -0800
|
||||
# Node ID 842cc183c9f6d29270ff002238248978c08f0a66
|
||||
# Parent f0635543beb309c4da1bb88c906a76ee4b75e16d
|
||||
8031668, PR2842: TOOLCHAIN_FIND_COMPILER unexpectedly resolves symbolic links
|
||||
Reviewed-by: erikj, ihse
|
||||
|
||||
diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
|
||||
--- openjdk///common/autoconf/toolchain.m4
|
||||
+++ openjdk///common/autoconf/toolchain.m4
|
||||
@@ -230,8 +230,8 @@
|
||||
$1="$PROPER_COMPILER_$1"
|
||||
else
|
||||
AC_MSG_RESULT([no, keeping $1])
|
||||
- $1="$TEST_COMPILER"
|
||||
fi
|
||||
+
|
||||
TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME])
|
||||
])
|
||||
|
@ -1,249 +0,0 @@
|
||||
|
||||
# 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
|
||||
|
@ -1,33 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User ksrini
|
||||
# Date 1414764176 25200
|
||||
# Fri Oct 31 07:02:56 2014 -0700
|
||||
# Node ID 9fd9a50e7994a9659c5ef21296d0baee4c2eecff
|
||||
# Parent fd59a2d4313440077fce3fbf39174755a15d285a
|
||||
8061305: Javadoc crashes when method name ends with "Property"
|
||||
Reviewed-by: jjg
|
||||
|
||||
diff --git jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
|
||||
--- jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
|
||||
+++ jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
|
||||
@@ -656,6 +656,9 @@
|
||||
// properties aren't named setA* or getA*
|
||||
private final Pattern pattern = Pattern.compile("[sg]et\\p{Upper}.*");
|
||||
private boolean isPropertyMethod(MethodDoc method) {
|
||||
+ if (!configuration.javafx) {
|
||||
+ return false;
|
||||
+ }
|
||||
if (!method.name().endsWith("Property")) {
|
||||
return false;
|
||||
}
|
||||
@@ -667,7 +670,9 @@
|
||||
if (pattern.matcher(method.name()).matches()) {
|
||||
return false;
|
||||
}
|
||||
-
|
||||
+ if (method.typeParameters().length > 0) {
|
||||
+ return false;
|
||||
+ }
|
||||
return 0 == method.parameters().length
|
||||
&& !"void".equals(method.returnType().simpleTypeName());
|
||||
}
|
@ -8,6 +8,19 @@
|
||||
Reviewed-by: erikj, goetz, dholmes
|
||||
Contributed-by: Andrew Hughes <gnu.andrew@redhat.com>, Alexander Smundak <asmundak@google.com>
|
||||
|
||||
diff --git openjdk.orig///common/autoconf/flags.m4 openjdk///common/autoconf/flags.m4
|
||||
--- openjdk.orig///common/autoconf/flags.m4
|
||||
+++ openjdk///common/autoconf/flags.m4
|
||||
@@ -549,6 +549,9 @@
|
||||
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
|
||||
fi
|
||||
fi
|
||||
+ if test "x$OPENJDK_TARGET_CPU" = xppc64le; then
|
||||
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DABI_ELFv2"
|
||||
+ fi
|
||||
|
||||
# Setup target OS define. Use OS target name but in upper case.
|
||||
OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
||||
diff --git openjdk.orig///common/autoconf/jdk-options.m4 openjdk///common/autoconf/jdk-options.m4
|
||||
--- openjdk.orig///common/autoconf/jdk-options.m4
|
||||
+++ openjdk///common/autoconf/jdk-options.m4
|
||||
@ -32,16 +45,3 @@ diff --git openjdk.orig///common/autoconf/platform.m4 openjdk///common/autoconf/
|
||||
VAR_CPU_ARCH=ppc
|
||||
VAR_CPU_BITS=64
|
||||
VAR_CPU_ENDIAN=little
|
||||
diff --git openjdk.orig///common/autoconf/toolchain.m4 openjdk///common/autoconf/toolchain.m4
|
||||
--- openjdk.orig///common/autoconf/toolchain.m4
|
||||
+++ openjdk///common/autoconf/toolchain.m4
|
||||
@@ -1123,6 +1123,9 @@
|
||||
else
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_BIG_ENDIAN"
|
||||
fi
|
||||
+ if test "x$OPENJDK_TARGET_CPU" = xppc64le; then
|
||||
+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DABI_ELFv2"
|
||||
+ fi
|
||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DLINUX"
|
||||
fi
|
||||
|
@ -1,95 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User prr
|
||||
# Date 1429299166 25200
|
||||
# Fri Apr 17 12:32:46 2015 -0700
|
||||
# Node ID 1f4b038b9550afaf88a70cee4cf9c1422ecd86d6
|
||||
# Parent 533117ae5b7587c8d9c0612581682ab984475430
|
||||
8075942, PR3602: ArrayIndexOutOfBoundsException in sun.java2d.pisces.Dasher.goTo
|
||||
Reviewed-by: flar, lbourges
|
||||
|
||||
diff --git openjdk.orig/jdk/src/share/classes/sun/java2d/pisces/Dasher.java openjdk/jdk/src/share/classes/sun/java2d/pisces/Dasher.java
|
||||
--- openjdk.orig/jdk/src/share/classes/sun/java2d/pisces/Dasher.java
|
||||
+++ openjdk/jdk/src/share/classes/sun/java2d/pisces/Dasher.java
|
||||
@@ -146,7 +146,7 @@
|
||||
if (dashOn) {
|
||||
if (starting) {
|
||||
firstSegmentsBuffer = Helpers.widenArray(firstSegmentsBuffer,
|
||||
- firstSegidx, type - 2);
|
||||
+ firstSegidx, type - 2 + 1);
|
||||
firstSegmentsBuffer[firstSegidx++] = type;
|
||||
System.arraycopy(pts, off, firstSegmentsBuffer, firstSegidx, type - 2);
|
||||
firstSegidx += type - 2;
|
||||
diff --git a/test/javopenjdk.orig/jdk/awt/BasicStroke/DashStrokeTest.java openjdk/jdk/test/java/awt/BasicStroke/DashStrokeTest.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ openjdk/jdk/test/java/awt/BasicStroke/DashStrokeTest.java
|
||||
@@ -0,0 +1,69 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2015, 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
|
||||
+ * under the terms of the GNU General Public License version 2 only, as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
+ * version 2 for more details (a copy is included in the LICENSE file that
|
||||
+ * accompanied this code).
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License version
|
||||
+ * 2 along with this work; if not, write to the Free Software Foundation,
|
||||
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+ *
|
||||
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
+ * or visit www.oracle.com if you need additional information or have any
|
||||
+ * questions.
|
||||
+ *
|
||||
+ * @test
|
||||
+ * @bug 8075942
|
||||
+ * @summary test there is no exception rendering a dashed stroke
|
||||
+ * @run DashStrokeTest
|
||||
+ * @run -Dsun.java2d.renderer=sun.java2d.pisces.PiscesRenderingEngine
|
||||
+ */
|
||||
+
|
||||
+import java.awt.BasicStroke;
|
||||
+import java.awt.Color;
|
||||
+import java.awt.Graphics2D;
|
||||
+import java.awt.Stroke;
|
||||
+import java.awt.geom.GeneralPath;
|
||||
+import java.awt.image.BufferedImage;
|
||||
+
|
||||
+
|
||||
+public class DashStrokeTest {
|
||||
+
|
||||
+ public static void main(String[] args) {
|
||||
+
|
||||
+ GeneralPath shape = new GeneralPath();
|
||||
+ int[] pointTypes = {0, 0, 1, 1, 0, 1, 1, 0};
|
||||
+ double[] xpoints = {428, 420, 400, 400, 400, 400, 420, 733};
|
||||
+ double[] ypoints = {180, 180, 180, 160, 30, 10, 10, 10};
|
||||
+ shape.moveTo(xpoints[0], ypoints[0]);
|
||||
+ for (int i = 1; i < pointTypes.length; i++) {
|
||||
+ if (pointTypes[i] == 1 && i < pointTypes.length - 1) {
|
||||
+ shape.quadTo(xpoints[i], ypoints[i],
|
||||
+ xpoints[i + 1], ypoints[i + 1]);
|
||||
+ } else {
|
||||
+ shape.lineTo(xpoints[i], ypoints[i]);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ BufferedImage image = new
|
||||
+ BufferedImage(1000, 1000, BufferedImage.TYPE_INT_ARGB);
|
||||
+ Graphics2D g2 = image.createGraphics();
|
||||
+
|
||||
+ Color color = new Color(124, 0, 124, 255);
|
||||
+ g2.setColor(color);
|
||||
+ Stroke stroke = new BasicStroke(1.0f,
|
||||
+ BasicStroke.CAP_BUTT,
|
||||
+ BasicStroke.JOIN_BEVEL,
|
||||
+ 10.0f, new float[] {9, 6}, 0.0f);
|
||||
+ g2.setStroke(stroke);
|
||||
+ g2.draw(shape);
|
||||
+ }
|
||||
+}
|
@ -60,12 +60,12 @@ diff --git openjdk.orig/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp openjdk/h
|
||||
switch (type) {
|
||||
case T_VOID:
|
||||
ftype = &ffi_type_void;
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
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.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
- * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||
+ * Copyright 2016 Red Hat, Inc.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
@ -126,14 +126,6 @@ diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp openj
|
||||
}
|
||||
|
||||
void os::Linux::set_fpu_control_word(int fpu) {
|
||||
@@ -408,6 +418,7 @@
|
||||
|
||||
extern "C" {
|
||||
int SpinPause() {
|
||||
+ return -1; // silence compile warnings
|
||||
}
|
||||
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
|
||||
|
@ -1,65 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User ihse
|
||||
# Date 1454642639 0
|
||||
# Fri Feb 05 03:23:59 2016 +0000
|
||||
# Node ID 61798573efe5a9efa67e268a52cf61263abb4396
|
||||
# Parent 842cc183c9f6d29270ff002238248978c08f0a66
|
||||
8148351, PR2842: Only display resolved symlink for compiler, do not change path
|
||||
Reviewed-by: erikj
|
||||
|
||||
diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
|
||||
--- openjdk///common/autoconf/toolchain.m4
|
||||
+++ openjdk///common/autoconf/toolchain.m4
|
||||
@@ -198,38 +198,22 @@
|
||||
fi
|
||||
BASIC_FIXUP_EXECUTABLE($1)
|
||||
TEST_COMPILER="[$]$1"
|
||||
- # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
|
||||
- # to 'xlc' but it is crucial that we invoke the compiler with the right name!
|
||||
- if test "x$OPENJDK_BUILD_OS" != xaix; then
|
||||
- AC_MSG_CHECKING([resolved symbolic links for $1])
|
||||
- BASIC_REMOVE_SYMBOLIC_LINKS(TEST_COMPILER)
|
||||
- AC_MSG_RESULT([$TEST_COMPILER])
|
||||
- fi
|
||||
- AC_MSG_CHECKING([if $1 is disguised ccache])
|
||||
|
||||
- COMPILER_BASENAME=`$BASENAME "$TEST_COMPILER"`
|
||||
- if test "x$COMPILER_BASENAME" = "xccache"; then
|
||||
- AC_MSG_RESULT([yes, trying to find proper $COMPILER_NAME compiler])
|
||||
- # We /usr/lib/ccache in the path, so cc is a symlink to /usr/bin/ccache.
|
||||
- # We want to control ccache invocation ourselves, so ignore this cc and try
|
||||
- # searching again.
|
||||
+ AC_MSG_CHECKING([resolved symbolic links for $1])
|
||||
+ SYMLINK_ORIGINAL="$TEST_COMPILER"
|
||||
+ BASIC_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
|
||||
+ if test "x$TEST_COMPILER" = "x$SYMLINK_ORIGINAL"; then
|
||||
+ AC_MSG_RESULT([no symlink])
|
||||
+ else
|
||||
+ AC_MSG_RESULT([$SYMLINK_ORIGINAL])
|
||||
|
||||
- # Remove the path to the fake ccache cc from the PATH
|
||||
- RETRY_COMPILER_SAVED_PATH="$PATH"
|
||||
- COMPILER_DIRNAME=`$DIRNAME [$]$1`
|
||||
- PATH="`$ECHO $PATH | $SED -e "s,$COMPILER_DIRNAME,,g" -e "s,::,:,g" -e "s,^:,,g"`"
|
||||
-
|
||||
- # Try again looking for our compiler
|
||||
- AC_CHECK_TOOLS(PROPER_COMPILER_$1, $3)
|
||||
- BASIC_FIXUP_EXECUTABLE(PROPER_COMPILER_$1)
|
||||
- PATH="$RETRY_COMPILER_SAVED_PATH"
|
||||
-
|
||||
- AC_MSG_CHECKING([for resolved symbolic links for $1])
|
||||
- BASIC_REMOVE_SYMBOLIC_LINKS(PROPER_COMPILER_$1)
|
||||
- AC_MSG_RESULT([$PROPER_COMPILER_$1])
|
||||
- $1="$PROPER_COMPILER_$1"
|
||||
- else
|
||||
- AC_MSG_RESULT([no, keeping $1])
|
||||
+ # We can't handle ccache by gcc wrappers, since we need to know if we're
|
||||
+ # using ccache. Instead ccache usage must be controlled by a configure option.
|
||||
+ COMPILER_BASENAME=`$BASENAME "$SYMLINK_ORIGINAL"`
|
||||
+ if test "x$COMPILER_BASENAME" = "xccache"; then
|
||||
+ AC_MSG_NOTICE([Please use --enable-ccache instead of providing a wrapped compiler.])
|
||||
+ AC_MSG_ERROR([$TEST_COMPILER is a symbolic link to ccache. This is not supported.])
|
||||
+ fi
|
||||
fi
|
||||
|
||||
TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME])
|
@ -1,160 +0,0 @@
|
||||
|
||||
# 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 <dlfcn.h>
|
||||
+
|
||||
#include "awt_p.h"
|
||||
#include "awt_GraphicsEnv.h"
|
||||
#define XK_MISCELLANY
|
||||
@@ -49,11 +52,46 @@
|
||||
#include <sys/socket.h>
|
||||
#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();
|
||||
+}
|
||||
|
39
jdk8160748-aarch64_ideal_reg.patch
Normal file
39
jdk8160748-aarch64_ideal_reg.patch
Normal file
@ -0,0 +1,39 @@
|
||||
# HG changeset patch
|
||||
# User kbarrett
|
||||
# Date 1547614745 0
|
||||
# Wed Jan 16 04:59:05 2019 +0000
|
||||
# Node ID bca8195a3bc70df281a73d9a40032c673971676c
|
||||
# Parent 09abae195e9a7e134a1cfd9b375a6f4d95091de7
|
||||
8160748: [AArch64] Inconsistent types for ideal_reg
|
||||
Summary: Made ideal_reg consistently uint.
|
||||
Reviewed-by: kvn, iveresov
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/cpu/aarch64/vm/aarch64.ad openjdk/hotspot/src/cpu/aarch64/vm/aarch64.ad
|
||||
--- openjdk.orig/hotspot/src/cpu/aarch64/vm/aarch64.ad
|
||||
+++ openjdk/hotspot/src/cpu/aarch64/vm/aarch64.ad
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
+// Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
// Copyright (c) 2013, Red Hat Inc.
|
||||
-// Copyright (c) 2003, 2012, Oracle and/or its affiliates.
|
||||
// All rights reserved.
|
||||
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
//
|
||||
@@ -3449,7 +3449,7 @@
|
||||
}
|
||||
|
||||
// Vector ideal reg.
|
||||
-const int Matcher::vector_ideal_reg(int len) {
|
||||
+const uint Matcher::vector_ideal_reg(int len) {
|
||||
switch(len) {
|
||||
case 8: return Op_VecD;
|
||||
case 16: return Op_VecX;
|
||||
@@ -3458,7 +3458,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
-const int Matcher::vector_shift_count_ideal_reg(int size) {
|
||||
+const uint Matcher::vector_shift_count_ideal_reg(int size) {
|
||||
return Op_VecX;
|
||||
}
|
||||
|
@ -1,27 +0,0 @@
|
||||
# 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"
|
@ -1,32 +0,0 @@
|
||||
# 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"
|
@ -1,21 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User neugens
|
||||
# Date 1507735508 -3600
|
||||
# Wed Oct 11 16:25:08 2017 +0100
|
||||
# Node ID 5b91bf11d0f41a6124ffb0fcd8870507b50bd734
|
||||
# Parent 7b1a2f967cd8e950fe7dc47d716af13d36239a38
|
||||
8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present
|
||||
Summary: Handle CFF fonts
|
||||
Reviewed-by: andrew, prr
|
||||
|
||||
diff --git a/src/solaris/native/sun/awt/fontpath.c b/src/solaris/native/sun/awt/fontpath.c
|
||||
--- openjdk/jdk/src/solaris/native/sun/awt/fontpath.c
|
||||
+++ openjdk/jdk/src/solaris/native/sun/awt/fontpath.c
|
||||
@@ -1233,6 +1233,7 @@
|
||||
&& (strcmp((char*)fontformat, "TrueType") != 0)
|
||||
#if defined(__linux__) || defined(_AIX)
|
||||
&& (strcmp((char*)fontformat, "Type 1") != 0)
|
||||
+ && (strcmp((char*)fontformat, "CFF") != 0)
|
||||
#endif
|
||||
) {
|
||||
continue;
|
30
jdk8189170-aarch64_primordial_thread.patch
Normal file
30
jdk8189170-aarch64_primordial_thread.patch
Normal file
@ -0,0 +1,30 @@
|
||||
# HG changeset patch
|
||||
# User dbuck
|
||||
# Date 1547622839 0
|
||||
# Wed Jan 16 07:13:59 2019 +0000
|
||||
# Node ID 34c6b4b813caf9b3a6fd1859596a87a24a49c423
|
||||
# Parent bca8195a3bc70df281a73d9a40032c673971676c
|
||||
8189170: [AArch64] Add option to disable stack overflow checking in primordial thread for use with JNI_CreateJavaJVM
|
||||
Reviewed-by: dcubed
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1999, 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
|
||||
@@ -550,8 +550,8 @@
|
||||
// pthread_attr_getstack()
|
||||
|
||||
static void current_stack_region(address * bottom, size_t * size) {
|
||||
- if (os::Linux::is_initial_thread()) {
|
||||
- // initial thread needs special handling because pthread_getattr_np()
|
||||
+ if (os::is_primordial_thread()) {
|
||||
+ // primordial thread needs special handling because pthread_getattr_np()
|
||||
// may return bogus value.
|
||||
*bottom = os::Linux::initial_thread_stack_bottom();
|
||||
*size = os::Linux::initial_thread_stack_size();
|
@ -1,14 +1,16 @@
|
||||
diff -r eecfc14e66ee src/os/linux/vm/os_linux.cpp
|
||||
--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp Mon Jan 22 16:25:24 2018 +0000
|
||||
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp Wed Feb 21 13:52:31 2018 +0000
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1999, 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
|
||||
@@ -674,6 +674,10 @@
|
||||
# HG changeset patch
|
||||
# User aph
|
||||
# Date 1530894306 -3600
|
||||
# Fri Jul 06 17:25:06 2018 +0100
|
||||
# Node ID 1485461a0fd1ff977a6acb8f2ed1069aaaf3b07e
|
||||
# Parent d7bcbcfde5057ad066ad2fb55a87d19a5827ddee
|
||||
8197429: Increased stack guard causes segfaults on x86-32
|
||||
Reviewed-by: dholmes
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
@@ -724,6 +724,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,17 +21,10 @@ diff -r eecfc14e66ee src/os/linux/vm/os_linux.cpp
|
||||
bool os::Linux::manually_expand_stack(JavaThread * t, address addr) {
|
||||
assert(t!=NULL, "just checking");
|
||||
assert(t->osthread()->expanding_stack(), "expand should be set");
|
||||
diff -r eecfc14e66ee src/os/linux/vm/os_linux.hpp
|
||||
--- openjdk/hotspot/src/os/linux/vm/os_linux.hpp Mon Jan 22 16:25:24 2018 +0000
|
||||
+++ openjdk/hotspot/src/os/linux/vm/os_linux.hpp Wed Feb 21 13:52:31 2018 +0000
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1999, 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
|
||||
@@ -245,6 +245,8 @@
|
||||
diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.hpp openjdk/hotspot/src/os/linux/vm/os_linux.hpp
|
||||
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.hpp
|
||||
+++ openjdk/hotspot/src/os/linux/vm/os_linux.hpp
|
||||
@@ -249,6 +249,8 @@
|
||||
static int safe_cond_timedwait(pthread_cond_t *_cond, pthread_mutex_t *_mutex, const struct timespec *_abstime);
|
||||
|
||||
private:
|
||||
@ -38,17 +33,10 @@ diff -r eecfc14e66ee src/os/linux/vm/os_linux.hpp
|
||||
typedef int (*sched_getcpu_func_t)(void);
|
||||
typedef int (*numa_node_to_cpus_func_t)(int node, unsigned long *buffer, int bufferlen);
|
||||
typedef int (*numa_max_node_func_t)(void);
|
||||
diff -r eecfc14e66ee src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
--- openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Mon Jan 22 16:25:24 2018 +0000
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Wed Feb 21 13:52:31 2018 +0000
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1999, 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
|
||||
@@ -892,6 +892,25 @@
|
||||
diff --git openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
@@ -892,6 +892,27 @@
|
||||
void os::workaround_expand_exec_shield_cs_limit() {
|
||||
#if defined(IA32)
|
||||
size_t page_size = os::vm_page_size();
|
||||
@ -65,16 +53,18 @@ diff -r eecfc14e66ee src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
+ * in Java code.
|
||||
+ *
|
||||
+ */
|
||||
+ if (os::Linux::is_initial_thread()) {
|
||||
+ if (os::is_primordial_thread()) {
|
||||
+ address limit = Linux::initial_thread_stack_bottom();
|
||||
+ limit += (StackYellowPages + StackRedPages) * page_size;
|
||||
+ if (! DisablePrimordialThreadGuardPages) {
|
||||
+ limit += (StackYellowPages + StackRedPages) * page_size;
|
||||
+ }
|
||||
+ os::Linux::expand_stack_to(limit);
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Take the highest VA the OS will give us and exec
|
||||
*
|
||||
@@ -910,6 +929,16 @@
|
||||
@@ -910,6 +931,16 @@
|
||||
char* hint = (char*) (Linux::initial_thread_stack_bottom() -
|
||||
((StackYellowPages + StackRedPages + 1) * page_size));
|
||||
char* codebuf = os::attempt_reserve_memory_at(page_size, hint);
|
||||
@ -91,3 +81,206 @@ diff -r eecfc14e66ee src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
if ( (codebuf == NULL) || (!os::commit_memory(codebuf, page_size, true)) ) {
|
||||
return; // No matter, we tried, best effort.
|
||||
}
|
||||
diff --git openjdk.orig/hotspot/test/runtime/StackGap/T.java openjdk/hotspot/test/runtime/StackGap/T.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ openjdk/hotspot/test/runtime/StackGap/T.java
|
||||
@@ -0,0 +1,33 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2018, Red Hat, Inc. 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
|
||||
+ * under the terms of the GNU General Public License version 2 only, as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
+ * version 2 for more details (a copy is included in the LICENSE file that
|
||||
+ * accompanied this code).
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License version
|
||||
+ * 2 along with this work; if not, write to the Free Software Foundation,
|
||||
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+ *
|
||||
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
+ * or visit www.oracle.com if you need additional information or have any
|
||||
+ * questions.
|
||||
+ */
|
||||
+
|
||||
+public class T {
|
||||
+
|
||||
+ public static void test(int n) {
|
||||
+ if (n == 0) return;
|
||||
+ System.out.println (n);
|
||||
+ test (n - 1);
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git openjdk.orig/hotspot/test/runtime/StackGap/exestack-gap.c openjdk/hotspot/test/runtime/StackGap/exestack-gap.c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ openjdk/hotspot/test/runtime/StackGap/exestack-gap.c
|
||||
@@ -0,0 +1,82 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2018, Red Hat, Inc. 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
|
||||
+ * under the terms of the GNU General Public License version 2 only, as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
+ * version 2 for more details (a copy is included in the LICENSE file that
|
||||
+ * accompanied this code).
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License version
|
||||
+ * 2 along with this work; if not, write to the Free Software Foundation,
|
||||
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+ *
|
||||
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
+ * or visit www.oracle.com if you need additional information or have any
|
||||
+ * questions.
|
||||
+ */
|
||||
+
|
||||
+#include <jni.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+JNIEnv* create_vm(JavaVM **jvm, char *extra_option)
|
||||
+{
|
||||
+ JNIEnv* env;
|
||||
+ JavaVMInitArgs args;
|
||||
+ JavaVMOption options[4];
|
||||
+ args.version = JNI_VERSION_1_8;
|
||||
+ args.nOptions = 3 + (extra_option != NULL);
|
||||
+ options[0].optionString = "-Xss2048k";
|
||||
+ char classpath[4096];
|
||||
+ snprintf(classpath, sizeof classpath,
|
||||
+ "-Djava.class.path=%s", getenv("CLASSPATH"));
|
||||
+ options[1].optionString = classpath;
|
||||
+ options[2].optionString = "-XX:+UnlockExperimentalVMOptions";
|
||||
+ if (extra_option) {
|
||||
+ options[3].optionString = extra_option;
|
||||
+ }
|
||||
+ args.options = &options[0];
|
||||
+ args.ignoreUnrecognized = 0;
|
||||
+ int rv;
|
||||
+ rv = JNI_CreateJavaVM(jvm, (void**)&env, &args);
|
||||
+ if (rv < 0) return NULL;
|
||||
+ return env;
|
||||
+}
|
||||
+
|
||||
+void run(char *extra_arg) {
|
||||
+ JavaVM *jvm;
|
||||
+ jclass T_class;
|
||||
+ jmethodID test_method;
|
||||
+ JNIEnv *env = create_vm(&jvm, extra_arg);
|
||||
+ if (env == NULL)
|
||||
+ exit(1);
|
||||
+ T_class = (*env)->FindClass(env, "T");
|
||||
+ if ((*env)->ExceptionCheck(env) == JNI_TRUE) {
|
||||
+ (*env)->ExceptionDescribe(env);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ test_method = (*env)->GetStaticMethodID(env, T_class, "test", "(I)V");
|
||||
+ if ((*env)->ExceptionCheck(env) == JNI_TRUE) {
|
||||
+ (*env)->ExceptionDescribe(env);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ (*env)->CallStaticVoidMethod(env, T_class, test_method, 1000);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ if (argc > 1) {
|
||||
+ run(argv[1]);
|
||||
+ } else {
|
||||
+ run(NULL);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git openjdk.orig/hotspot/test/runtime/StackGap/testme.sh openjdk/hotspot/test/runtime/StackGap/testme.sh
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ openjdk/hotspot/test/runtime/StackGap/testme.sh
|
||||
@@ -0,0 +1,73 @@
|
||||
+# Copyright (c) 2014, 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
|
||||
+# under the terms of the GNU General Public License version 2 only, as
|
||||
+# published by the Free Software Foundation.
|
||||
+#
|
||||
+# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
+# version 2 for more details (a copy is included in the LICENSE file that
|
||||
+# accompanied this code).
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License version
|
||||
+# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+#
|
||||
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
+# or visit www.oracle.com if you need additional information or have any
|
||||
+# questions.
|
||||
+#!/bin/sh
|
||||
+
|
||||
+#
|
||||
+# @test testme.sh
|
||||
+# @bug 8197429
|
||||
+# @summary Linux kernel stack guard should not cause segfaults on x86-32
|
||||
+# @compile T.java
|
||||
+# @run shell testme.sh
|
||||
+#
|
||||
+
|
||||
+if [ "${TESTSRC}" = "" ]
|
||||
+then
|
||||
+ TESTSRC=${PWD}
|
||||
+ echo "TESTSRC not set. Using "${TESTSRC}" as default"
|
||||
+fi
|
||||
+echo "TESTSRC=${TESTSRC}"
|
||||
+## Adding common setup Variables for running shell tests.
|
||||
+. ${TESTSRC}/../../test_env.sh
|
||||
+
|
||||
+if [ "${VM_OS}" != "linux" ]
|
||||
+then
|
||||
+ echo "Test only valid for Linux"
|
||||
+ exit 0
|
||||
+fi
|
||||
+
|
||||
+gcc_cmd=`which gcc`
|
||||
+if [ "x$gcc_cmd" = "x" ]; then
|
||||
+ echo "WARNING: gcc not found. Cannot execute test." 2>&1
|
||||
+ exit 0;
|
||||
+fi
|
||||
+
|
||||
+CFLAGS="-m${VM_BITS}"
|
||||
+
|
||||
+LD_LIBRARY_PATH=.:${COMPILEJAVA}/jre/lib/${VM_CPU}/${VM_TYPE}:/usr/lib:$LD_LIBRARY_PATH
|
||||
+export LD_LIBRARY_PATH
|
||||
+
|
||||
+cp ${TESTSRC}${FS}exestack-gap.c .
|
||||
+
|
||||
+# Copy the result of our @compile action:
|
||||
+cp ${TESTCLASSES}${FS}T.class .
|
||||
+
|
||||
+echo "Compilation flag: ${COMP_FLAG}"
|
||||
+# Note pthread may not be found thus invoke creation will fail to be created.
|
||||
+# Check to ensure you have a /usr/lib/libpthread.so if you don't please look
|
||||
+# for /usr/lib/`uname -m`-linux-gnu version ensure to add that path to below compilation.
|
||||
+
|
||||
+$gcc_cmd -DLINUX ${CFLAGS} -o stack-gap \
|
||||
+ -I${COMPILEJAVA}/include -I${COMPILEJAVA}/include/linux \
|
||||
+ -L${COMPILEJAVA}/jre/lib/${VM_CPU}/${VM_TYPE} \
|
||||
+ -ljvm -lpthread exestack-gap.c
|
||||
+
|
||||
+./stack-gap || exit $?
|
||||
+./stack-gap -XX:+DisablePrimordialThreadGuardPages || exit $?
|
||||
|
@ -7,10 +7,35 @@
|
||||
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/flags.m4 openjdk///common/autoconf/flags.m4
|
||||
--- openjdk.orig///common/autoconf/flags.m4
|
||||
+++ openjdk///common/autoconf/flags.m4
|
||||
@@ -389,6 +389,21 @@
|
||||
AC_SUBST($2CXXSTD_CXXFLAG)
|
||||
fi
|
||||
|
||||
+ #
|
||||
+ # NOTE: check for -mstackrealign needs to be below potential addition of -m32
|
||||
+ #
|
||||
+ 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
|
||||
+ # This is also required on Linux systems which use libraries compiled with SSE instructions
|
||||
+ REALIGN_CFLAG="-mstackrealign"
|
||||
+ FLAGS_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
|
||||
+
|
||||
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
|
||||
AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
|
||||
fi
|
||||
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 @@
|
||||
@@ -112,7 +112,8 @@
|
||||
RC:=@HOTSPOT_RC@
|
||||
|
||||
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ $(NO_DELETE_NULL_POINTER_CHECKS_CFLAG) \
|
||||
@ -23,7 +48,7 @@ diff --git openjdk.orig///common/autoconf/hotspot-spec.gmk.in openjdk///common/a
|
||||
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 @@
|
||||
@@ -334,6 +334,7 @@
|
||||
|
||||
NO_DELETE_NULL_POINTER_CHECKS_CFLAG=@NO_DELETE_NULL_POINTER_CHECKS_CFLAG@
|
||||
NO_LIFETIME_DSE_CFLAG=@NO_LIFETIME_DSE_CFLAG@
|
||||
@ -31,35 +56,3 @@ diff --git openjdk.orig///common/autoconf/spec.gmk.in openjdk///common/autoconf/
|
||||
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"
|
||||
|
@ -6,11 +6,11 @@
|
||||
# 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], [],
|
||||
diff --git openjdk.orig///common/autoconf/flags.m4 openjdk///common/autoconf/flags.m4
|
||||
--- openjdk.orig///common/autoconf/flags.m4
|
||||
+++ openjdk///common/autoconf/flags.m4
|
||||
@@ -401,6 +401,8 @@
|
||||
FLAGS_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}"
|
||||
|
@ -1,21 +0,0 @@
|
||||
|
||||
# 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
|
@ -1,36 +0,0 @@
|
||||
# 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"
|
@ -1,131 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User igerasim
|
||||
# Date 1528992969 25200
|
||||
# Thu Jun 14 09:16:09 2018 -0700
|
||||
# Node ID d9b0b4bd2526818afa73b60da77403245554caa8
|
||||
# Parent 1f4b038b9550afaf88a70cee4cf9c1422ecd86d6
|
||||
8203182, PR3603: Release session if initialization of SunPKCS11 Signature fails
|
||||
Summary: Ensure session is properly released in P11Signature class
|
||||
Reviewed-by: valeriep
|
||||
Contributed-by: Martin Balao <mbalao@redhat.com>
|
||||
|
||||
diff --git openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java openjdk/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java
|
||||
--- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java
|
||||
+++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java
|
||||
@@ -309,47 +309,51 @@
|
||||
session = token.killSession(session);
|
||||
return;
|
||||
}
|
||||
- // "cancel" operation by finishing it
|
||||
- // XXX make sure all this always works correctly
|
||||
- if (mode == M_SIGN) {
|
||||
- try {
|
||||
- if (type == T_UPDATE) {
|
||||
- token.p11.C_SignFinal(session.id(), 0);
|
||||
- } else {
|
||||
- byte[] digest;
|
||||
- if (type == T_DIGEST) {
|
||||
- digest = md.digest();
|
||||
- } else { // T_RAW
|
||||
- digest = buffer;
|
||||
+ try {
|
||||
+ // "cancel" operation by finishing it
|
||||
+ // XXX make sure all this always works correctly
|
||||
+ if (mode == M_SIGN) {
|
||||
+ try {
|
||||
+ if (type == T_UPDATE) {
|
||||
+ token.p11.C_SignFinal(session.id(), 0);
|
||||
+ } else {
|
||||
+ byte[] digest;
|
||||
+ if (type == T_DIGEST) {
|
||||
+ digest = md.digest();
|
||||
+ } else { // T_RAW
|
||||
+ digest = buffer;
|
||||
+ }
|
||||
+ token.p11.C_Sign(session.id(), digest);
|
||||
}
|
||||
- token.p11.C_Sign(session.id(), digest);
|
||||
+ } catch (PKCS11Exception e) {
|
||||
+ throw new ProviderException("cancel failed", e);
|
||||
}
|
||||
- } catch (PKCS11Exception e) {
|
||||
- throw new ProviderException("cancel failed", e);
|
||||
+ } else { // M_VERIFY
|
||||
+ try {
|
||||
+ byte[] signature;
|
||||
+ if (keyAlgorithm.equals("DSA")) {
|
||||
+ signature = new byte[40];
|
||||
+ } else {
|
||||
+ signature = new byte[(p11Key.length() + 7) >> 3];
|
||||
+ }
|
||||
+ if (type == T_UPDATE) {
|
||||
+ token.p11.C_VerifyFinal(session.id(), signature);
|
||||
+ } else {
|
||||
+ byte[] digest;
|
||||
+ if (type == T_DIGEST) {
|
||||
+ digest = md.digest();
|
||||
+ } else { // T_RAW
|
||||
+ digest = buffer;
|
||||
+ }
|
||||
+ token.p11.C_Verify(session.id(), digest, signature);
|
||||
+ }
|
||||
+ } catch (PKCS11Exception e) {
|
||||
+ // will fail since the signature is incorrect
|
||||
+ // XXX check error code
|
||||
+ }
|
||||
}
|
||||
- } else { // M_VERIFY
|
||||
- try {
|
||||
- byte[] signature;
|
||||
- if (keyAlgorithm.equals("DSA")) {
|
||||
- signature = new byte[40];
|
||||
- } else {
|
||||
- signature = new byte[(p11Key.length() + 7) >> 3];
|
||||
- }
|
||||
- if (type == T_UPDATE) {
|
||||
- token.p11.C_VerifyFinal(session.id(), signature);
|
||||
- } else {
|
||||
- byte[] digest;
|
||||
- if (type == T_DIGEST) {
|
||||
- digest = md.digest();
|
||||
- } else { // T_RAW
|
||||
- digest = buffer;
|
||||
- }
|
||||
- token.p11.C_Verify(session.id(), digest, signature);
|
||||
- }
|
||||
- } catch (PKCS11Exception e) {
|
||||
- // will fail since the signature is incorrect
|
||||
- // XXX check error code
|
||||
- }
|
||||
+ } finally {
|
||||
+ session = token.releaseSession(session);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -368,6 +372,8 @@
|
||||
}
|
||||
initialized = true;
|
||||
} catch (PKCS11Exception e) {
|
||||
+ // release session when initialization failed
|
||||
+ session = token.releaseSession(session);
|
||||
throw new ProviderException("Initialization failed", e);
|
||||
}
|
||||
if (bytesProcessed != 0) {
|
||||
@@ -529,6 +535,8 @@
|
||||
}
|
||||
bytesProcessed += len;
|
||||
} catch (PKCS11Exception e) {
|
||||
+ initialized = false;
|
||||
+ session = token.releaseSession(session);
|
||||
throw new ProviderException(e);
|
||||
}
|
||||
break;
|
||||
@@ -576,6 +584,8 @@
|
||||
bytesProcessed += len;
|
||||
byteBuffer.position(ofs + len);
|
||||
} catch (PKCS11Exception e) {
|
||||
+ initialized = false;
|
||||
+ session = token.releaseSession(session);
|
||||
throw new ProviderException("Update failed", e);
|
||||
}
|
||||
break;
|
@ -1,116 +0,0 @@
|
||||
# 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) $(LDFLAGS_NO_EXEC_STACK)
|
||||
+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(LDFLAGS_NO_EXEC_STACK) $(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
|
||||
@@ -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
|
@ -1,65 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User aph
|
||||
# Date 1531146945 -3600
|
||||
# Mon Jul 09 15:35:45 2018 +0100
|
||||
# Node ID 95b72537801cc9946c27ad27f07e3f0790a21b08
|
||||
# Parent f6341f4635dacb56678264d29a88cd052b74036b
|
||||
8206406, PR3610, RH1597825: StubCodeDesc constructor publishes partially-constructed objects on StubCodeDesc::_list
|
||||
Reviewed-by: dholmes
|
||||
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp openjdk/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp
|
||||
@@ -34,12 +34,12 @@
|
||||
|
||||
// Implementation of StubCodeDesc
|
||||
|
||||
-StubCodeDesc* StubCodeDesc::_list = NULL;
|
||||
-int StubCodeDesc::_count = 0;
|
||||
+StubCodeDesc* volatile StubCodeDesc::_list = NULL;
|
||||
+int StubCodeDesc::_count = 0;
|
||||
|
||||
|
||||
StubCodeDesc* StubCodeDesc::desc_for(address pc) {
|
||||
- StubCodeDesc* p = _list;
|
||||
+ StubCodeDesc* p = (StubCodeDesc*)OrderAccess::load_ptr_acquire(&_list);
|
||||
while (p != NULL && !p->contains(pc)) p = p->_next;
|
||||
// p == NULL || p->contains(pc)
|
||||
return p;
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
|
||||
StubCodeDesc* StubCodeDesc::desc_for_index(int index) {
|
||||
- StubCodeDesc* p = _list;
|
||||
+ StubCodeDesc* p = (StubCodeDesc*)OrderAccess::load_ptr_acquire(&_list);
|
||||
while (p != NULL && p->index() != index) p = p->_next;
|
||||
return p;
|
||||
}
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/runtime/stubCodeGenerator.hpp openjdk/hotspot/src/share/vm/runtime/stubCodeGenerator.hpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/runtime/stubCodeGenerator.hpp
|
||||
+++ openjdk/hotspot/src/share/vm/runtime/stubCodeGenerator.hpp
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
class StubCodeDesc: public CHeapObj<mtCode> {
|
||||
protected:
|
||||
- static StubCodeDesc* _list; // the list of all descriptors
|
||||
+ static StubCodeDesc* volatile _list; // the list of all descriptors
|
||||
static int _count; // length of list
|
||||
|
||||
StubCodeDesc* _next; // the next element in the linked list
|
||||
@@ -69,13 +69,13 @@
|
||||
|
||||
StubCodeDesc(const char* group, const char* name, address begin) {
|
||||
assert(name != NULL, "no name specified");
|
||||
- _next = _list;
|
||||
+ _next = (StubCodeDesc*)OrderAccess::load_ptr_acquire(&_list);
|
||||
_group = group;
|
||||
_name = name;
|
||||
_index = ++_count; // (never zero)
|
||||
_begin = begin;
|
||||
_end = NULL;
|
||||
- _list = this;
|
||||
+ OrderAccess::release_store_ptr(&_list, this);
|
||||
};
|
||||
|
||||
const char* group() const { return _group; }
|
@ -1,73 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User sgehwolf
|
||||
# Date 1530808022 -7200
|
||||
# Thu Jul 05 18:27:02 2018 +0200
|
||||
# Node ID 5ba59d58d976db456c4455640111e8107b8d80e8
|
||||
# Parent ad057f2e3211cd18bc56550d8a2c400d92ec35b1
|
||||
8206425: .gnu_debuglink sections added unconditionally when no debuginfo is stripped
|
||||
Summary: Only add .gnu_debuglink sections when there is some stripping done.
|
||||
Reviewed-by: erikj, dholmes
|
||||
|
||||
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
|
||||
@@ -57,14 +57,15 @@
|
||||
$(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
|
||||
+ ifeq ($(STRIP_POLICY),all_strip)
|
||||
$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
|
||||
- ifeq ($(STRIP_POLICY),all_strip)
|
||||
$(QUIETLY) $(STRIP) $@
|
||||
else
|
||||
ifeq ($(STRIP_POLICY),min_strip)
|
||||
+ $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
|
||||
$(QUIETLY) $(STRIP) -g $@
|
||||
+ endif
|
||||
# implied else here is no stripping at all
|
||||
- endif
|
||||
endif
|
||||
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||
$(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
|
||||
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
|
||||
@@ -100,14 +100,15 @@
|
||||
-lthread_db
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)
|
||||
+ ifeq ($(STRIP_POLICY),all_strip)
|
||||
$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
|
||||
- ifeq ($(STRIP_POLICY),all_strip)
|
||||
$(QUIETLY) $(STRIP) $@
|
||||
else
|
||||
ifeq ($(STRIP_POLICY),min_strip)
|
||||
+ $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
|
||||
$(QUIETLY) $(STRIP) -g $@
|
||||
+ endif
|
||||
# implied else here is no stripping at all
|
||||
- endif
|
||||
endif
|
||||
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||
$(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO)
|
||||
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
|
||||
@@ -358,14 +358,15 @@
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
|
||||
+ ifeq ($(STRIP_POLICY),all_strip)
|
||||
$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
|
||||
- ifeq ($(STRIP_POLICY),all_strip)
|
||||
$(QUIETLY) $(STRIP) $@
|
||||
else
|
||||
ifeq ($(STRIP_POLICY),min_strip)
|
||||
+ $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
|
||||
$(QUIETLY) $(STRIP) -g $@
|
||||
+ endif
|
||||
# implied else here is no stripping at all
|
||||
- endif
|
||||
endif
|
||||
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||
$(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO)
|
@ -1,34 +1,29 @@
|
||||
--- openjdk/common/autoconf/toolchain.m4 2018-09-17 15:35:40.783695320 +0200
|
||||
+++ openjdk/common/autoconf/toolchain.m4 2018-09-17 15:35:40.608695635 +0200
|
||||
@@ -814,6 +814,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
|
||||
|
||||
C_FLAG_DEPS="-MMD -MF"
|
||||
CXX_FLAG_DEPS="-MMD -MF"
|
||||
+ # By default don't set any specific assembler debug
|
||||
+ # info flags for toolchains unless we know they work.
|
||||
+ # See JDK-8207057.
|
||||
+ ASFLAGS_DEBUG_SYMBOLS=""
|
||||
|
||||
case $COMPILER_TYPE in
|
||||
CC )
|
||||
@@ -842,6 +846,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
|
||||
CFLAGS_DEBUG_SYMBOLS="-g1"
|
||||
CXXFLAGS_DEBUG_SYMBOLS="-g1"
|
||||
fi
|
||||
+ ASFLAGS_DEBUG_SYMBOLS="-g"
|
||||
;;
|
||||
ossc )
|
||||
#
|
||||
@@ -969,6 +974,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
|
||||
AC_SUBST(CXX_O_FLAG_NONE)
|
||||
AC_SUBST(C_FLAG_DEPS)
|
||||
AC_SUBST(CXX_FLAG_DEPS)
|
||||
diff --git openjdk.orig///common/autoconf/flags.m4 openjdk///common/autoconf/flags.m4
|
||||
--- openjdk.orig///common/autoconf/flags.m4
|
||||
+++ openjdk///common/autoconf/flags.m4
|
||||
@@ -282,9 +282,11 @@
|
||||
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
|
||||
CFLAGS_DEBUG_SYMBOLS="-g1"
|
||||
CXXFLAGS_DEBUG_SYMBOLS="-g1"
|
||||
+ ASFLAGS_DEBUG_SYMBOLS="-g1"
|
||||
else
|
||||
CFLAGS_DEBUG_SYMBOLS="-g"
|
||||
CXXFLAGS_DEBUG_SYMBOLS="-g"
|
||||
+ ASFLAGS_DEBUG_SYMBOLS="-g"
|
||||
fi
|
||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
CFLAGS_DEBUG_SYMBOLS="-g -xs"
|
||||
@@ -295,6 +297,7 @@
|
||||
fi
|
||||
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
|
||||
AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
|
||||
+ AC_SUBST(ASFLAGS_DEBUG_SYMBOLS)
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
--- openjdk/common/autoconf/spec.gmk.in 2018-09-17 15:35:43.324690758 +0200
|
||||
+++ openjdk/common/autoconf/spec.gmk.in 2018-09-17 15:35:43.169691036 +0200
|
||||
# Optimization levels
|
||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
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
|
||||
@@ -414,6 +414,7 @@
|
||||
# Options for generating debug symbols
|
||||
ENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@
|
||||
@ -37,3 +32,21 @@
|
||||
CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
|
||||
ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@
|
||||
STRIP_POLICY:=@STRIP_POLICY@
|
||||
diff --git openjdk.orig///make/common/NativeCompilation.gmk openjdk///make/common/NativeCompilation.gmk
|
||||
--- openjdk.orig///make/common/NativeCompilation.gmk
|
||||
+++ openjdk///make/common/NativeCompilation.gmk
|
||||
@@ -351,12 +351,14 @@
|
||||
# Always add debug symbols
|
||||
$1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
|
||||
$1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
|
||||
+ $1_EXTRA_ASFLAGS+=$(ASFLAGS_DEBUG_SYMBOLS)
|
||||
else
|
||||
# Programs don't get the debug symbols added in the old build. It's not clear if
|
||||
# this is intentional.
|
||||
ifeq ($$($1_PROGRAM),)
|
||||
$1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
|
||||
$1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
|
||||
+ $1_EXTRA_ASFLAGS+=$(ASFLAGS_DEBUG_SYMBOLS)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
@ -1,7 +1,16 @@
|
||||
# HG changeset patch
|
||||
# User sgehwolf
|
||||
# Date 1537541916 -7200
|
||||
# Fri Sep 21 16:58:36 2018 +0200
|
||||
# Node ID 4010c90156d1bfeaf988dbfeb01520f2e3a66ea8
|
||||
# Parent 54afe70c50b6a6685763d00883e5173c0ba3a19d
|
||||
8210761: libjsig is being compiled without optimization
|
||||
Reviewed-by: erikj, ihse
|
||||
|
||||
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
|
||||
@@ -51,10 +51,15 @@ ifeq ($(DEBUG_BINARIES), true)
|
||||
@@ -51,10 +51,15 @@
|
||||
JSIG_DEBUG_CFLAGS = -g
|
||||
endif
|
||||
|
||||
@ -11,10 +20,10 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/jsig.make openjdk/hotspot/m
|
||||
+endif
|
||||
+
|
||||
$(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
|
||||
@echo Making signal interposition lib...
|
||||
$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
||||
@echo Making signal interposition lib...
|
||||
$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
||||
- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
|
||||
+ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(JSIG_OPT_FLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
|
||||
ifeq ($(STRIP_POLICY),all_strip)
|
||||
ifneq ($(STRIP_POLICY),no_strip)
|
||||
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
|
||||
|
@ -15,9 +15,9 @@ diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp openj
|
||||
--- 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));
|
||||
"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"
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -r cf43a852f486 src/share/vm/asm/codeBuffer.cpp
|
||||
--- openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp Wed Jan 13 03:43:29 2016 +0000
|
||||
+++ openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp Wed Jan 13 05:30:26 2016 +0000
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.cpp openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp
|
||||
@@ -977,7 +977,7 @@
|
||||
for (int n = (int) CodeBuffer::SECT_FIRST; n < (int) CodeBuffer::SECT_LIMIT; n++) {
|
||||
CodeSection* sect = code_section(n);
|
||||
@ -10,10 +10,10 @@ diff -r cf43a852f486 src/share/vm/asm/codeBuffer.cpp
|
||||
n, sect->limit() - sect->start(), sect->limit() - sect->end());
|
||||
}
|
||||
xtty->print_cr("</blob>");
|
||||
diff -r cf43a852f486 src/share/vm/code/codeCache.cpp
|
||||
--- openjdk/hotspot/src/share/vm/code/codeCache.cpp Wed Jan 13 03:43:29 2016 +0000
|
||||
+++ openjdk/hotspot/src/share/vm/code/codeCache.cpp Wed Jan 13 05:30:26 2016 +0000
|
||||
@@ -191,7 +191,7 @@
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/code/codeCache.cpp openjdk/hotspot/src/share/vm/code/codeCache.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/code/codeCache.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/code/codeCache.cpp
|
||||
@@ -192,7 +192,7 @@
|
||||
}
|
||||
if (PrintCodeCacheExtension) {
|
||||
ResourceMark rm;
|
||||
@ -22,21 +22,21 @@ diff -r cf43a852f486 src/share/vm/code/codeCache.cpp
|
||||
(intptr_t)_heap->low_boundary(), (intptr_t)_heap->high(),
|
||||
(address)_heap->high() - (address)_heap->low_boundary());
|
||||
}
|
||||
diff -r cf43a852f486 src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
|
||||
--- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp Wed Jan 13 03:43:29 2016 +0000
|
||||
+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp Wed Jan 13 05:30:26 2016 +0000
|
||||
@@ -556,7 +556,7 @@
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
|
||||
@@ -598,7 +598,7 @@
|
||||
" [Table]\n"
|
||||
" [Memory Usage: "G1_STRDEDUP_BYTES_FORMAT_NS"]\n"
|
||||
" [Size: "SIZE_FORMAT", Min: "SIZE_FORMAT", Max: "SIZE_FORMAT"]\n"
|
||||
- " [Entries: "UINTX_FORMAT", Load: "G1_STRDEDUP_PERCENT_FORMAT_NS", Cached: " UINTX_FORMAT ", Added: "UINTX_FORMAT", Removed: "UINTX_FORMAT"]\n"
|
||||
+ " [Entries: "UINTX_FORMAT", Load: "G1_STRDEDUP_PERCENT_FORMAT_NS", Cached: " SIZE_FORMAT ", Added: "UINTX_FORMAT", Removed: "UINTX_FORMAT"]\n"
|
||||
" [Resize Count: "UINTX_FORMAT", Shrink Threshold: "UINTX_FORMAT"("G1_STRDEDUP_PERCENT_FORMAT_NS"), Grow Threshold: "UINTX_FORMAT"("G1_STRDEDUP_PERCENT_FORMAT_NS")]\n"
|
||||
" [Rehash Count: "UINTX_FORMAT", Rehash Threshold: "UINTX_FORMAT", Hash Seed: 0x%x]\n"
|
||||
" [Age Threshold: "UINTX_FORMAT"]",
|
||||
diff -r cf43a852f486 src/share/vm/memory/blockOffsetTable.cpp
|
||||
--- openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp Wed Jan 13 03:43:29 2016 +0000
|
||||
+++ openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp Wed Jan 13 05:30:26 2016 +0000
|
||||
" [Memory Usage: " G1_STRDEDUP_BYTES_FORMAT_NS "]\n"
|
||||
" [Size: " SIZE_FORMAT ", Min: " SIZE_FORMAT ", Max: " SIZE_FORMAT "]\n"
|
||||
- " [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " UINTX_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n"
|
||||
+ " [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " SIZE_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n"
|
||||
" [Resize Count: " UINTX_FORMAT ", Shrink Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS "), Grow Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS ")]\n"
|
||||
" [Rehash Count: " UINTX_FORMAT ", Rehash Threshold: " UINTX_FORMAT ", Hash Seed: 0x%x]\n"
|
||||
" [Age Threshold: " UINTX_FORMAT "]",
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp
|
||||
@@ -57,7 +57,7 @@
|
||||
gclog_or_tty->print_cr("BlockOffsetSharedArray::BlockOffsetSharedArray: ");
|
||||
gclog_or_tty->print_cr(" "
|
||||
@ -46,10 +46,23 @@ diff -r cf43a852f486 src/share/vm/memory/blockOffsetTable.cpp
|
||||
" rs end(): " INTPTR_FORMAT,
|
||||
p2i(rs.base()), rs.size(), p2i(rs.base() + rs.size()));
|
||||
gclog_or_tty->print_cr(" "
|
||||
diff -r cf43a852f486 src/share/vm/runtime/arguments.cpp
|
||||
--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp Wed Jan 13 03:43:29 2016 +0000
|
||||
+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp Wed Jan 13 05:30:26 2016 +0000
|
||||
@@ -1285,14 +1285,14 @@
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
|
||||
@@ -1055,7 +1055,8 @@
|
||||
size_t expected = msp.scale_by_NewRatio_aligned(initial_heap_size);
|
||||
assert(msp.initial_gen0_size() == expected, err_msg("%zu != %zu", msp.initial_gen0_size(), expected));
|
||||
assert(FLAG_IS_ERGO(NewSize) && NewSize == expected,
|
||||
- err_msg("NewSize should have been set ergonomically to %zu, but was %zu", expected, NewSize));
|
||||
+ err_msg("NewSize should have been set ergonomically to " SIZE_FORMAT ", but was " UINTX_FORMAT,
|
||||
+ expected, NewSize));
|
||||
}
|
||||
|
||||
private:
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp
|
||||
+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
|
||||
@@ -1291,14 +1291,14 @@
|
||||
}
|
||||
if (PrintGCDetails && Verbose) {
|
||||
// Too early to use gclog_or_tty
|
||||
@ -67,7 +80,7 @@ diff -r cf43a852f486 src/share/vm/runtime/arguments.cpp
|
||||
" max_heap: " SIZE_FORMAT,
|
||||
min_heap_size(), InitialHeapSize, max_heap);
|
||||
}
|
||||
@@ -1308,7 +1308,7 @@
|
||||
@@ -1314,7 +1314,7 @@
|
||||
FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t)NewSize));
|
||||
if (PrintGCDetails && Verbose) {
|
||||
// Too early to use gclog_or_tty
|
||||
@ -76,7 +89,7 @@ diff -r cf43a852f486 src/share/vm/runtime/arguments.cpp
|
||||
}
|
||||
}
|
||||
// Unless explicitly requested otherwise, size old gen
|
||||
@@ -1318,7 +1318,7 @@
|
||||
@@ -1324,7 +1324,7 @@
|
||||
FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t)(NewRatio*NewSize), max_heap - NewSize));
|
||||
if (PrintGCDetails && Verbose) {
|
||||
// Too early to use gclog_or_tty
|
||||
@ -85,7 +98,7 @@ diff -r cf43a852f486 src/share/vm/runtime/arguments.cpp
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1834,7 +1834,7 @@
|
||||
@@ -2043,7 +2043,7 @@
|
||||
|
||||
if (PrintGCDetails && Verbose) {
|
||||
// Cannot use gclog_or_tty yet.
|
||||
@ -94,7 +107,7 @@ diff -r cf43a852f486 src/share/vm/runtime/arguments.cpp
|
||||
}
|
||||
FLAG_SET_ERGO(uintx, InitialHeapSize, (uintx)reasonable_initial);
|
||||
}
|
||||
@@ -1844,7 +1844,7 @@
|
||||
@@ -2053,7 +2053,7 @@
|
||||
set_min_heap_size(MIN2((uintx)reasonable_minimum, InitialHeapSize));
|
||||
if (PrintGCDetails && Verbose) {
|
||||
// Cannot use gclog_or_tty yet.
|
||||
@ -103,10 +116,10 @@ diff -r cf43a852f486 src/share/vm/runtime/arguments.cpp
|
||||
}
|
||||
}
|
||||
}
|
||||
diff -r cf43a852f486 src/share/vm/utilities/globalDefinitions.hpp
|
||||
--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp Wed Jan 13 03:43:29 2016 +0000
|
||||
+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp Wed Jan 13 05:30:26 2016 +0000
|
||||
@@ -1382,12 +1382,21 @@
|
||||
diff --git openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp
|
||||
--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp
|
||||
+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp
|
||||
@@ -1389,12 +1389,21 @@
|
||||
|
||||
#define INTPTR_FORMAT_W(width) "%" #width PRIxPTR
|
||||
|
||||
@ -128,16 +141,3 @@ diff -r cf43a852f486 src/share/vm/utilities/globalDefinitions.hpp
|
||||
|
||||
#define INTX_FORMAT "%" PRIdPTR
|
||||
#define UINTX_FORMAT "%" PRIuPTR
|
||||
diff -r 388e9d0905e6 src/share/vm/memory/collectorPolicy.cpp
|
||||
--- openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp Mon Apr 11 11:33:18 2016 +0000
|
||||
+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp Tue Apr 12 04:12:50 2016 +0100
|
||||
@@ -1056,7 +1056,8 @@
|
||||
size_t expected = msp.scale_by_NewRatio_aligned(initial_heap_size);
|
||||
assert(msp.initial_gen0_size() == expected, err_msg("%zu != %zu", msp.initial_gen0_size(), expected));
|
||||
assert(FLAG_IS_ERGO(NewSize) && NewSize == expected,
|
||||
- err_msg("NewSize should have been set ergonomically to %zu, but was %zu", expected, NewSize));
|
||||
+ err_msg("NewSize should have been set ergonomically to " SIZE_FORMAT ", but was " UINTX_FORMAT,
|
||||
+ expected, NewSize));
|
||||
}
|
||||
|
||||
private:
|
||||
|
@ -1,7 +1,7 @@
|
||||
# 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 @@
|
||||
diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
@@ -103,6 +103,8 @@
|
||||
# include <inttypes.h>
|
||||
# include <sys/ioctl.h>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
@@ -4892,6 +4894,31 @@
|
||||
@@ -4997,6 +4999,31 @@
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,6 +39,6 @@
|
||||
+ 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
|
||||
// this is called _before_ most of the global arguments have been parsed
|
||||
void os::init(void) {
|
||||
char dummy; /* used to get a guess on initial stack address */
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -r 1fe56343ecc8 make/lib/Awt2dLibraries.gmk
|
||||
--- openjdk/jdk/make/lib/Awt2dLibraries.gmk Tue Jan 12 21:01:12 2016 +0000
|
||||
+++ openjdk/jdk/make/lib/Awt2dLibraries.gmk Thu Jan 14 00:47:01 2016 +0000
|
||||
@@ -904,6 +904,12 @@
|
||||
diff --git openjdk.orig/jdk/make/lib/Awt2dLibraries.gmk openjdk/jdk/make/lib/Awt2dLibraries.gmk
|
||||
--- openjdk.orig/jdk/make/lib/Awt2dLibraries.gmk
|
||||
+++ openjdk/jdk/make/lib/Awt2dLibraries.gmk
|
||||
@@ -891,6 +891,12 @@
|
||||
BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
|
||||
endif
|
||||
|
||||
@ -11,6 +11,6 @@ diff -r 1fe56343ecc8 make/lib/Awt2dLibraries.gmk
|
||||
+ BUILD_LIBFONTMANAGER_IndicRearrangementProcessor2.cpp_CXXFLAGS := -fno-strict-overflow
|
||||
+endif
|
||||
+
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
|
||||
LIBRARY := fontmanager, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
# LDFLAGS clarification:
|
||||
# Filter relevant linker flags disallowing unresolved symbols as we cannot
|
||||
# build-time decide to which library to link against (libawt_headless or
|
||||
|
2
sources
2
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz) = cf578221b77d8c7e019f69909bc86c419c5fb5e10bceba9592ff6e7f96887b0a7f07c9cefe90800975247a078785ca190fdec5c2d0f841bb447cee784b570f7d
|
||||
SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b14.tar.xz) = d2f3e618bf8fa8d8991f2db32b665d52170642fd375926f84b0cc40a7896278847f6374fcb6d095f681b72a170ac7189ec3501907c5ca0d3d454a09397eedcfa
|
||||
SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u192-b12.tar.xz) = 5fde4f3b2f8b903d650290f0745e8f4a8036d0dcec3642d66b0a5851eeaa6be40e2fd613916ecf27b7135b8038cab1d29968973678fd33d894fca7dd5ebb03f2
|
||||
|
Loading…
Reference in New Issue
Block a user