diff --git a/.gitignore b/.gitignore index 31c5c20..a29936f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04.tar.xz +SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b10.tar.xz SOURCES/systemtap-tapset-3.6.0pre02.tar.xz diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata index 914cd85..12fab4a 100644 --- a/.java-1.8.0-openjdk.metadata +++ b/.java-1.8.0-openjdk.metadata @@ -1,2 +1,2 @@ -ca52171b9a47c3efd4714f974ca4e6c27d890c55 SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04.tar.xz +8afea3219e33f6fa067152aee13da2f4096e60cc SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b10.tar.xz 93bca27ce5eeeb2bc1f6f3cd4ffe34c3567a3c73 SOURCES/systemtap-tapset-3.6.0pre02.tar.xz diff --git a/SOURCES/jdk8064786-pr3599-fix_debug_build_after_8062808_Turn_on_the_wreturn_type_warning.patch b/SOURCES/jdk8064786-pr3599-fix_debug_build_after_8062808_Turn_on_the_wreturn_type_warning.patch deleted file mode 100644 index 790ee0d..0000000 --- a/SOURCES/jdk8064786-pr3599-fix_debug_build_after_8062808_Turn_on_the_wreturn_type_warning.patch +++ /dev/null @@ -1,28 +0,0 @@ -# HG changeset patch -# User goetz -# Date 1415873641 -3600 -# Thu Nov 13 11:14:01 2014 +0100 -# Node ID 1878c4c1d04e1f3c6f67a19d36c35863d6b5f906 -# Parent 533473c67de6ff767710594639033c8e83523fe5 -8064786, PR3599: Fix debug build after 8062808: Turn on the -Wreturn-type warning -Reviewed-by: stefank, tschatzl - -diff --git openjdk.orig/hotspot/src/share/vm/prims/jni.cpp openjdk/hotspot/src/share/vm/prims/jni.cpp ---- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp -+++ openjdk/hotspot/src/share/vm/prims/jni.cpp -@@ -708,6 +708,7 @@ - - THROW_OOP_(JNIHandles::resolve(obj), JNI_OK); - ShouldNotReachHere(); -+ return 0; // Mute compiler. - JNI_END - - #ifndef USDT2 -@@ -734,6 +735,7 @@ - Handle protection_domain (THREAD, k->protection_domain()); - THROW_MSG_LOADER_(name, (char *)message, class_loader, protection_domain, JNI_OK); - ShouldNotReachHere(); -+ return 0; // Mute compiler. - JNI_END - - diff --git a/SOURCES/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch b/SOURCES/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch index f1e3215..c9ef36b 100644 --- a/SOURCES/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch +++ b/SOURCES/jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_headers.patch @@ -34,9 +34,9 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hots + -Wno-format-nonliteral -Wno-format-security \ + -Wno-maybe-uninitialized - # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized - OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -@@ -42,5 +49,3 @@ + # If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to + # the compiler so as to be able to produce optimized objects +@@ -48,5 +55,3 @@ ifeq ($(ARCH_DATA_MODEL), 64) CFLAGS += -D_LP64=1 endif diff --git a/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch b/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch index b0a88ea..792b04a 100644 --- a/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch +++ b/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch @@ -8,6 +8,7 @@ Reviewed-by: dholmes, coleenp diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make +diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make --- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make +++ openjdk/hotspot/make/linux/makefiles/zeroshark.make @@ -1,5 +1,5 @@ @@ -27,8 +28,8 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hots - -Wno-format-nonliteral -Wno-format-security \ - -Wno-maybe-uninitialized - # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized - OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) + # If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to + # the compiler so as to be able to produce optimized objects diff --git openjdk.orig/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp --- openjdk.orig/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp +++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp @@ -60,7 +61,7 @@ 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 a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +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 --- 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 @@ diff --git a/SOURCES/jdk8171000-pr3542-rh1402819-robot_createScreenCapture_crashes_in_wayland_mode.patch b/SOURCES/jdk8171000-pr3542-rh1402819-robot_createScreenCapture_crashes_in_wayland_mode.patch deleted file mode 100644 index d831aa9..0000000 --- a/SOURCES/jdk8171000-pr3542-rh1402819-robot_createScreenCapture_crashes_in_wayland_mode.patch +++ /dev/null @@ -1,121 +0,0 @@ -# HG changeset patch -# User kaddepalli -# Date 1517818481 -19800 -# Mon Feb 05 13:44:41 2018 +0530 -# Node ID b77308735540644d4710244e3c88865067f2905a -# Parent 39bfc94b1f4265b645c2970a58389acc779dafe9 -8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode -Reviewed-by: serb, mhalder - -diff --git openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c openjdk/jdk/src/solaris/native/sun/awt/multiVis.c ---- openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c -+++ openjdk/jdk/src/solaris/native/sun/awt/multiVis.c -@@ -394,77 +394,48 @@ - XRectangle bbox; /* bounding box of grabbed area */ - list_ptr regions;/* list of regions to read from */ - { -- image_region_type *reg; -- int32_t dst_x, dst_y; /* where in pixmap to write (UL) */ -- int32_t diff; -- -- XImage *reg_image,*ximage ; -- int32_t srcRect_x,srcRect_y,srcRect_width,srcRect_height ; -- int32_t rem ; -- int32_t bytes_per_line; -- int32_t bitmap_unit; -- -- bitmap_unit = sizeof (long); -- if (format == ZPixmap) -- bytes_per_line = width*depth/8; -- else -- bytes_per_line = width/8; -- -- -- /* Find out how many more bytes are required for padding so that -- ** bytes per scan line will be multiples of bitmap_unit bits */ -- if (format == ZPixmap) { -- rem = (bytes_per_line*8)%bitmap_unit; -- if (rem) -- bytes_per_line += (rem/8 + 1); -- } -+ XImage *ximage ; - - ximage = XCreateImage(disp,fakeVis,(uint32_t) depth,format,0,NULL, - (uint32_t)width,(uint32_t)height,8,0); - -- bytes_per_line = ximage->bytes_per_line; -- -- if (format == ZPixmap) -- ximage->data = malloc(height*bytes_per_line); -- else -- ximage->data = malloc(height*bytes_per_line*depth); -- -+ ximage->data = calloc(ximage->bytes_per_line*height*((format==ZPixmap)? 1 : depth), sizeof(char)); - ximage->bits_per_pixel = depth; /** Valid only if format is ZPixmap ***/ - -- for (reg = (image_region_type *) first_in_list( regions); reg; -+ for (image_region_type* reg = (image_region_type *) first_in_list( regions); reg; - reg = (image_region_type *) next_in_list( regions)) - { -- int32_t rect; -- struct my_XRegion *vis_reg; -- vis_reg = (struct my_XRegion *)(reg->visible_region); -- for (rect = 0; -- rect < vis_reg->numRects; -- rect++) -+ struct my_XRegion *vis_reg = (struct my_XRegion *)(reg->visible_region); -+ for (int32_t rect = 0; rect < vis_reg->numRects; rect++) - { -- /** ------------------------------------------------------------------------ -- Intersect bbox with visible part of region giving src rect & output -- location. Width is the min right side minus the max left side. -- Similar for height. Offset src rect so x,y are relative to -- origin of win, not the root-relative visible rect of win. -- ------------------------------------------------------------------------ **/ -- srcRect_width = MIN( vis_reg->rects[rect].x2, bbox.width + bbox.x) -- - MAX( vis_reg->rects[rect].x1, bbox.x); -+ /** ------------------------------------------------------------------------ -+ Intersect bbox with visible part of region giving src rect & output -+ location. Width is the min right side minus the max left side. -+ Similar for height. Offset src rect so x,y are relative to -+ origin of win, not the root-relative visible rect of win. -+ ------------------------------------------------------------------------ **/ -+ int32_t srcRect_width = MIN( vis_reg->rects[rect].x2, bbox.width + bbox.x) -+ - MAX( vis_reg->rects[rect].x1, bbox.x); -+ -+ int32_t srcRect_height = MIN( vis_reg->rects[rect].y2, bbox.height + bbox.y) -+ - MAX( vis_reg->rects[rect].y1, bbox.y); - -- srcRect_height = MIN( vis_reg->rects[rect].y2, bbox.height + bbox.y) -- - MAX( vis_reg->rects[rect].y1, bbox.y); -+ int32_t diff = bbox.x - vis_reg->rects[rect].x1; -+ int32_t srcRect_x = MAX( 0, diff) + (vis_reg->rects[rect].x1 - reg->x_rootrel - reg->border); -+ int32_t dst_x = MAX( 0, -diff) ; - -- diff = bbox.x - vis_reg->rects[rect].x1; -- srcRect_x = MAX( 0, diff) + (vis_reg->rects[rect].x1 - reg->x_rootrel - reg->border); -- dst_x = MAX( 0, -diff) ; -- diff = bbox.y - vis_reg->rects[rect].y1; -- srcRect_y = MAX( 0, diff) + (vis_reg->rects[rect].y1 - reg->y_rootrel - reg->border); -- dst_y = MAX( 0, -diff) ; -- reg_image = XGetImage(disp,reg->win,srcRect_x,srcRect_y, -- (uint32_t) srcRect_width, (uint32_t) srcRect_height,AllPlanes,format) ; -- TransferImage(disp,reg_image,srcRect_width, -- srcRect_height,reg,ximage,dst_x,dst_y) ; -- XDestroyImage(reg_image); -- } -+ diff = bbox.y - vis_reg->rects[rect].y1; -+ int32_t srcRect_y = MAX( 0, diff) + (vis_reg->rects[rect].y1 - reg->y_rootrel - reg->border); -+ int32_t dst_y = MAX( 0, -diff) ; -+ XImage* reg_image = XGetImage(disp,reg->win,srcRect_x,srcRect_y, -+ (uint32_t) srcRect_width, (uint32_t) srcRect_height,AllPlanes,format) ; -+ -+ if (reg_image) { -+ TransferImage(disp,reg_image,srcRect_width, -+ srcRect_height,reg,ximage,dst_x,dst_y) ; -+ XDestroyImage(reg_image); -+ } -+ } - } - return ximage ; - } diff --git a/SOURCES/jdk8197546-pr3542-rh1402819-fix_for_8171000_breaks_solaris_linux_builds.patch b/SOURCES/jdk8197546-pr3542-rh1402819-fix_for_8171000_breaks_solaris_linux_builds.patch deleted file mode 100644 index ba712ad..0000000 --- a/SOURCES/jdk8197546-pr3542-rh1402819-fix_for_8171000_breaks_solaris_linux_builds.patch +++ /dev/null @@ -1,35 +0,0 @@ -# HG changeset patch -# User prr -# Date 1518454604 28800 -# Mon Feb 12 08:56:44 2018 -0800 -# Node ID 556adf3a76aa81bf3918d7d46554dae7cc1d5c5c -# Parent b77308735540644d4710244e3c88865067f2905a -8197546: Fix for 8171000 breaks Solaris + Linux builds -Reviewed-by: serb, jdv - -diff --git openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c openjdk/jdk/src/solaris/native/sun/awt/multiVis.c ---- openjdk.orig/jdk/src/solaris/native/sun/awt/multiVis.c -+++ openjdk/jdk/src/solaris/native/sun/awt/multiVis.c -@@ -395,6 +395,8 @@ - list_ptr regions;/* list of regions to read from */ - { - XImage *ximage ; -+ image_region_type* reg; -+ int32_t rect; - - ximage = XCreateImage(disp,fakeVis,(uint32_t) depth,format,0,NULL, - (uint32_t)width,(uint32_t)height,8,0); -@@ -402,11 +404,11 @@ - ximage->data = calloc(ximage->bytes_per_line*height*((format==ZPixmap)? 1 : depth), sizeof(char)); - ximage->bits_per_pixel = depth; /** Valid only if format is ZPixmap ***/ - -- for (image_region_type* reg = (image_region_type *) first_in_list( regions); reg; -+ for (reg = (image_region_type *) first_in_list( regions); reg; - reg = (image_region_type *) next_in_list( regions)) - { - struct my_XRegion *vis_reg = (struct my_XRegion *)(reg->visible_region); -- for (int32_t rect = 0; rect < vis_reg->numRects; rect++) -+ for (rect = 0; rect < vis_reg->numRects; rect++) - { - /** ------------------------------------------------------------------------ - Intersect bbox with visible part of region giving src rect & output diff --git a/SOURCES/jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch b/SOURCES/jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch deleted file mode 100644 index 98bbad0..0000000 --- a/SOURCES/jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git openjdk.orig/jdk/make/lib/CoreLibraries.gmk openjdk/jdk/make/lib/CoreLibraries.gmk ---- openjdk.orig/jdk/make/lib/CoreLibraries.gmk -+++ openjdk/jdk/make/lib/CoreLibraries.gmk -@@ -37,21 +37,32 @@ ifeq ($(OPENJDK_TARGET_OS), solaris) - endif - - ifeq ($(OPENJDK_TARGET_OS), linux) -- ifeq ($(OPENJDK_TARGET_CPU), ppc64) -- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH -- else ifeq ($(OPENJDK_TARGET_CPU), ppc64le) -- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH -- else ifeq ($(OPENJDK_TARGET_CPU), aarch64) -- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH -- endif --endif -- --ifneq ($(OPENJDK_TARGET_OS), macosx) -+ BUILD_LIBFDLIBM_OPTIMIZATION := HIGH -+ LIBFDLIBM_CFLAGS_LINUX := -ffp-contract=off - # Unfortunately, '-ffp-contract' is only available since gcc 4.6. For ppc64le - # that's no problem since ppc64le support only appeared in gcc 4.8.3. But on - # ppc64 (big endian) we traditionally compiled with gcc 4.3 which only knows - # '-mno-fused-madd'. However, that's still not enough to get the float - # computations right - we additionally have to supply '-fno-strict-aliasing'. -+ # -+ # -+ ifeq ($(TOOLCHAIN_TYPE), gcc) -+ CC_VER_MAJOR := $(shell $(CC) -dumpversion | cut -d'.' -f1) -+ CC_VER_MINOR := $(shell $(CC) -dumpversion | cut -d'.' -f2) -+ endif -+ # Only GCC 4.6 and better have machine independent -ffp-contract=off. -+ # For other versions we need to explicitly set arch specific machine -+ # flags or keep optimization off. -+ ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 6 \) \))" "0" -+ ifeq ($(OPENJDK_TARGET_CPU), ppc64) -+ LIBFDLIBM_CFLAGS_LINUX := -mno-fused-madd -fno-strict-aliasing -+ else -+ BUILD_LIBFDLIBM_OPTIMIZATION := NONE -+ endif -+ endif -+endif -+ -+ifneq ($(OPENJDK_TARGET_OS), macosx) - $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM, \ - STATIC_LIBRARY := fdlibm, \ - OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \ -@@ -62,9 +73,7 @@ ifneq ($(OPENJDK_TARGET_OS), macosx) - -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \ - CFLAGS_windows_debug := -DLOGGING, \ - CFLAGS_aix := -qfloat=nomaf, \ -- CFLAGS_linux_ppc64 := -mno-fused-madd -fno-strict-aliasing, \ -- CFLAGS_linux_ppc64le := -ffp-contract=off, \ -- CFLAGS_linux_aarch64 := -ffp-contract=off, \ -+ CFLAGS_linux := $(LIBFDLIBM_CFLAGS_LINUX), \ - ARFLAGS := $(ARFLAGS), \ - OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \ - DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) diff --git a/SOURCES/jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.patch b/SOURCES/jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.patch deleted file mode 100644 index 0b05ba6..0000000 --- a/SOURCES/jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git openjdk.orig/hotspot/make/linux/makefiles/amd64.make openjdk/hotspot/make/linux/makefiles/amd64.make ---- openjdk.orig/hotspot/make/linux/makefiles/amd64.make -+++ openjdk/hotspot/make/linux/makefiles/amd64.make -@@ -22,10 +22,13 @@ - # - # - --# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) --# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+ifeq ($(OPT_CFLAGS_NO_FMA),) -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+endif - # Must also specify if CPU is little endian - CFLAGS += -DVM_LITTLE_ENDIAN - -diff --git openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make -+++ openjdk/hotspot/make/linux/makefiles/gcc.make -@@ -225,6 +225,16 @@ - OPT_CFLAGS/SIZE=-Os - OPT_CFLAGS/SPEED=-O3 - -+ifeq ($(USE_CLANG),) -+ # Only GCC 4.6 and better have machine independent -ffp-contract=off. -+ # For other versions we need to explicitly set arch specific machine -+ # flags or keep optimization off for them. -+ ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 6 \) \))" "1" -+ OPT_CFLAGS_NO_FMA = -ffp-contract=off -+ endif -+endif -+ -+ - # Hotspot uses very unstrict aliasing turn this optimization off - # This option is added to CFLAGS rather than OPT_CFLAGS - # so that OPT_CFLAGS overrides get this option too. -diff --git openjdk.orig/hotspot/make/linux/makefiles/i486.make openjdk/hotspot/make/linux/makefiles/i486.make ---- openjdk.orig/hotspot/make/linux/makefiles/i486.make -+++ openjdk/hotspot/make/linux/makefiles/i486.make -@@ -24,10 +24,13 @@ - - # TLS helper, assembled from .s file - --# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) --# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+ifeq ($(OPT_CFLAGS_NO_FMA),) -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+endif - # Must also specify if CPU is little endian - CFLAGS += -DVM_LITTLE_ENDIAN - -diff --git openjdk.orig/hotspot/make/linux/makefiles/ppc64.make openjdk/hotspot/make/linux/makefiles/ppc64.make ---- openjdk.orig/hotspot/make/linux/makefiles/ppc64.make -+++ openjdk/hotspot/make/linux/makefiles/ppc64.make -@@ -49,3 +49,17 @@ - # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI. - CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string - endif -+ -+ifeq ($(OPT_CFLAGS_NO_FMA),) -+ ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big) -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) -mno-fused-madd -fno-strict-aliasing -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) -mno-fused-madd -fno-strict-aliasing -+ else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+ endif -+else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+endif -+ diff --git a/SOURCES/jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch b/SOURCES/jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch deleted file mode 100644 index cf1b40b..0000000 --- a/SOURCES/jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git openjdk.orig/hotspot/make/linux/makefiles/aarch64.make openjdk/hotspot/make/linux/makefiles/aarch64.make -index 3d17326..7cdb498 100644 ---- openjdk.orig/hotspot/make/linux/makefiles/aarch64.make -+++ openjdk/hotspot/make/linux/makefiles/aarch64.make -@@ -22,10 +22,13 @@ - # - # - --# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) --# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+ifeq ($(OPT_CFLAGS_NO_FMA),) -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+endif - # Must also specify if CPU is little endian - CFLAGS += -DVM_LITTLE_ENDIAN - diff --git a/SOURCES/jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch b/SOURCES/jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch deleted file mode 100644 index 6c1ebad..0000000 --- a/SOURCES/jdk8210425-rh1632174-03-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_zero.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- openjdk/hotspot/make/linux/makefiles/zeroshark.make -+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make -@@ -30,10 +30,13 @@ ifeq ($(USE_CLANG), true) - WARNING_FLAGS += -Wno-undef - endif - --# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) --# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized --OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+ifeq ($(OPT_CFLAGS_NO_FMA),) -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) -+else -+ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA) -+endif - - # Specify that the CPU is little endian, if necessary - ifeq ($(ZERO_ENDIANNESS), little) diff --git a/SOURCES/pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch b/SOURCES/pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch index fc8f981..a42688d 100644 --- a/SOURCES/pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch +++ b/SOURCES/pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch @@ -5,42 +5,45 @@ # Node ID 3334efeacd8327a14b7d2f392f4546e3c29c594b # Parent 6b81fd2227d14226f2121f2d51b464536925686e PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts) +PR3575: System cacerts database handling should not affect jssecacerts -diff --git a/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java b/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java ---- openjdk/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java -+++ openjdk/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java -@@ -174,15 +174,20 @@ - storeFile = new File(storeFileName); - fis = getFileInputStream(storeFile); - } else { -- String javaHome = props.get("javaHome"); -- storeFile = new File(javaHome + sep + "lib" + sep -- + "security" + sep + -- "jssecacerts"); -+ /* Check system cacerts DB first; /etc/pki/java/cacerts */ -+ storeFile = new File(sep + "etc" + sep + "pki" + sep -+ + "java" + sep + "cacerts"); - if ((fis = getFileInputStream(storeFile)) == null) { -+ String javaHome = props.get("javaHome"); - storeFile = new File(javaHome + sep + "lib" + sep -- + "security" + sep + -- "cacerts"); -- fis = getFileInputStream(storeFile); -+ + "security" + sep + -+ "jssecacerts"); -+ if ((fis = getFileInputStream(storeFile)) == null) { -+ storeFile = new File(javaHome + sep + "lib" + sep -+ + "security" + sep + -+ "cacerts"); -+ fis = getFileInputStream(storeFile); -+ } - } - } +diff --git openjdk.orig/jdk/src/share/classes/sun/security/ssl/TrustStoreManager.java openjdk/jdk/src/share/classes/sun/security/ssl/TrustStoreManager.java +--- openjdk.orig/jdk/src/share/classes/sun/security/ssl/TrustStoreManager.java ++++ openjdk/jdk/src/share/classes/sun/security/ssl/TrustStoreManager.java +@@ -72,7 +72,7 @@ + * The preference of the default trusted KeyStore is: + * javax.net.ssl.trustStore + * jssecacerts +- * cacerts ++ * cacerts (system and local) + */ + private static final class TrustStoreDescriptor { + private static final String fileSep = File.separator; +@@ -83,6 +83,10 @@ + defaultStorePath + fileSep + "cacerts"; + private static final String jsseDefaultStore = + defaultStorePath + fileSep + "jssecacerts"; ++ /* Check system cacerts DB: /etc/pki/java/cacerts */ ++ private static final String systemStore = ++ fileSep + "etc" + fileSep + "pki" + ++ fileSep + "java" + fileSep + "cacerts"; -diff --git a/src/share/classes/sun/security/tools/KeyStoreUtil.java b/src/share/classes/sun/security/tools/KeyStoreUtil.java ---- openjdk/jdk/src/share/classes/sun/security/tools/KeyStoreUtil.java + // the trust store name + private final String storeName; +@@ -146,7 +150,8 @@ + long temporaryTime = 0L; + if (!"NONE".equals(storePropName)) { + String[] fileNames = +- new String[] {storePropName, defaultStore}; ++ new String[] {storePropName, ++ systemStore, defaultStore}; + for (String fileName : fileNames) { + File f = new File(fileName); + if (f.isFile() && f.canRead()) { +diff --git openjdk.orig/jdk/src/share/classes/sun/security/tools/KeyStoreUtil.java openjdk/jdk/src/share/classes/sun/security/tools/KeyStoreUtil.java +--- openjdk.orig/jdk/src/share/classes/sun/security/tools/KeyStoreUtil.java +++ openjdk/jdk/src/share/classes/sun/security/tools/KeyStoreUtil.java -@@ -87,9 +87,14 @@ +@@ -108,9 +108,14 @@ throws Exception { String sep = File.separator; diff --git a/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch b/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch index d44ed1d..b52c087 100644 --- a/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch +++ b/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch @@ -7,9 +7,21 @@ PR3083, RH1346460: Regression in SSL debug output without an ECC provider Summary: Return null rather than throwing an exception when there's no ECC provider. -diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/Debug.java ---- openjdk/jdk/src/share/classes/sun/security/util/Debug.java Mon Jul 04 17:08:12 2016 +0100 -+++ openjdk/jdk/src/share/classes/sun/security/util/Debug.java Mon Jul 04 18:21:29 2016 +0100 +diff --git openjdk.orig/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java openjdk/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java +--- openjdk.orig/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java ++++ openjdk/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java +@@ -121,7 +121,7 @@ + private static void ensureCurveIsSupported(ECParameterSpec ecSpec) + throws InvalidAlgorithmParameterException { + +- AlgorithmParameters ecParams = ECUtil.getECParameters(null); ++ AlgorithmParameters ecParams = ECUtil.getECParameters(null, true); + byte[] encodedParams; + try { + ecParams.init(ecSpec); +diff --git openjdk.orig/jdk/src/share/classes/sun/security/util/Debug.java openjdk/jdk/src/share/classes/sun/security/util/Debug.java +--- openjdk.orig/jdk/src/share/classes/sun/security/util/Debug.java ++++ openjdk/jdk/src/share/classes/sun/security/util/Debug.java @@ -73,6 +73,7 @@ System.err.println("certpath PKIX CertPathBuilder and"); System.err.println(" CertPathValidator debugging"); @@ -18,9 +30,9 @@ diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/Debug.j System.err.println("gssloginconfig"); System.err.println(" GSS LoginConfigImpl debugging"); System.err.println("configfile JAAS ConfigFile loading"); -diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/ECUtil.java ---- openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java Mon Jul 04 17:08:12 2016 +0100 -+++ openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java Mon Jul 04 18:21:29 2016 +0100 +diff --git openjdk.orig/jdk/src/share/classes/sun/security/util/ECUtil.java openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java +--- openjdk.orig/jdk/src/share/classes/sun/security/util/ECUtil.java ++++ openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java @@ -41,6 +41,9 @@ public class ECUtil { @@ -34,11 +46,11 @@ diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/ECUtil. @@ -90,6 +93,10 @@ } - private static AlgorithmParameters getECParameters(Provider p) { + public static AlgorithmParameters getECParameters(Provider p) { + return getECParameters(p, false); + } + -+ private static AlgorithmParameters getECParameters(Provider p, boolean throwException) { ++ public static AlgorithmParameters getECParameters(Provider p, boolean throwException) { try { if (p != null) { return AlgorithmParameters.getInstance("EC", p); diff --git a/SOURCES/pr3575-rh1567204-system_cacerts_database_handling_no_longer_affect_jssecacerts.patch b/SOURCES/pr3575-rh1567204-system_cacerts_database_handling_no_longer_affect_jssecacerts.patch deleted file mode 100644 index ce24c59..0000000 --- a/SOURCES/pr3575-rh1567204-system_cacerts_database_handling_no_longer_affect_jssecacerts.patch +++ /dev/null @@ -1,42 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1525111445 -3600 -# Mon Apr 30 19:04:05 2018 +0100 -# Node ID 388fc8da23044317c160678ffa8ff541c216a255 -# Parent 556adf3a76aa81bf3918d7d46554dae7cc1d5c5c -PR3575: System cacerts database handling should not affect jssecacerts - -diff --git openjdk.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java openjdk/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java ---- openjdk.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java -+++ openjdk/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java -@@ -162,7 +162,7 @@ - * Try: - * javax.net.ssl.trustStore (if this variable exists, stop) - * jssecacerts -- * cacerts -+ * cacerts (system and local) - * - * If none exists, we use an empty keystore. - */ -@@ -174,14 +174,14 @@ - storeFile = new File(storeFileName); - fis = getFileInputStream(storeFile); - } else { -- /* Check system cacerts DB first; /etc/pki/java/cacerts */ -- storeFile = new File(sep + "etc" + sep + "pki" + sep -- + "java" + sep + "cacerts"); -+ String javaHome = props.get("javaHome"); -+ storeFile = new File(javaHome + sep + "lib" + sep -+ + "security" + sep + -+ "jssecacerts"); - if ((fis = getFileInputStream(storeFile)) == null) { -- String javaHome = props.get("javaHome"); -- storeFile = new File(javaHome + sep + "lib" + sep -- + "security" + sep + -- "jssecacerts"); -+ /* Check system cacerts DB first; /etc/pki/java/cacerts */ -+ storeFile = new File(sep + "etc" + sep + "pki" + sep -+ + "java" + sep + "cacerts"); - if ((fis = getFileInputStream(storeFile)) == null) { - storeFile = new File(javaHome + sep + "lib" + sep - + "security" + sep + diff --git a/SOURCES/pr3634-fix_shenandoah_for_size_t_on_s390.patch b/SOURCES/pr3634-fix_shenandoah_for_size_t_on_s390.patch deleted file mode 100644 index 20a4625..0000000 --- a/SOURCES/pr3634-fix_shenandoah_for_size_t_on_s390.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp -@@ -524,8 +524,8 @@ - region_size = max_heap_size / ShenandoahTargetNumRegions; - - // Now make sure that we don't go over or under our limits. -- region_size = MAX2(ShenandoahMinRegionSize, region_size); -- region_size = MIN2(ShenandoahMaxRegionSize, region_size); -+ region_size = MAX2(ShenandoahMinRegionSize, region_size); -+ region_size = MIN2(ShenandoahMaxRegionSize, region_size); - - } else { - if (ShenandoahHeapRegionSize > initial_heap_size / MIN_NUM_REGIONS) { diff --git a/SOURCES/s390-8214206_fix.patch b/SOURCES/s390-8214206_fix.patch index 93f12de..d79d676 100644 --- a/SOURCES/s390-8214206_fix.patch +++ b/SOURCES/s390-8214206_fix.patch @@ -23,15 +23,15 @@ diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/ _mem_serialize_page = (volatile int32_t *)page; // We initialize the serialization page shift count here // We assume a cache line size of 64 bytes -diff --git openjdk.orig/hotspot/src/share/vm/utilities/numberSeq.cpp openjdk/hotspot/src/share/vm/utilities/numberSeq.cpp ---- openjdk.orig/hotspot/src/share/vm/utilities/numberSeq.cpp -+++ openjdk/hotspot/src/share/vm/utilities/numberSeq.cpp -@@ -369,7 +369,7 @@ +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp +@@ -135,7 +135,7 @@ void BinaryMagnitudeSeq::add(size_t val) { Atomic::add(val, &_sum); - int mag = log2_intptr(val) + 1; -+ int mag = log2_intptr((uintptr_t) val) + 1; ++ int mag = log2_long(val) + 1; // Defensively saturate for product bits: if (mag < 0) { diff --git a/SPECS/java-1.8.0-openjdk.spec b/SPECS/java-1.8.0-openjdk.spec index 5b4e58e..b7c17c2 100644 --- a/SPECS/java-1.8.0-openjdk.spec +++ b/SPECS/java-1.8.0-openjdk.spec @@ -34,13 +34,6 @@ %global include_debug_build 0 %endif -# Shenandoah HotSpot used everywhere, but built only on x86_64 and AArch64 -%ifarch x86_64 %{aarch64} -%global use_shenandoah_hotspot 1 -%else -%global use_shenandoah_hotspot 0 -%endif - %if %{include_debug_build} %global build_loop2 %{debug_suffix} %else @@ -48,6 +41,7 @@ %endif # if you disable both builds, then the build fails +# Note that the debug build requires the normal build for docs %global build_loop %{build_loop1} %{build_loop2} # note: that order: normal_suffix debug_suffix, in case of both enabled # is expected in one single case at the end of the build @@ -60,11 +54,12 @@ %endif %if %{bootstrap_build} -%global targets bootcycle-images docs +%global release_targets bootcycle-images zip-docs %else -%global targets all +%global release_targets images zip-docs %endif - +# No docs nor bootcycle for debug builds +%global debug_targets images # Filter out flags from the optflags macro that cause problems with the OpenJDK build # We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs) @@ -158,8 +153,6 @@ %global archinstall %{_arch} %endif - - %ifarch %{jit_arches} %global with_systemtap 1 %else @@ -183,7 +176,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-jdk8u212-b04 +%global shenandoah_revision aarch64-shenandoah-jdk8u222-b10 # Define old aarch64/jdk8u tree variables for compatibility %global project %{shenandoah_project} %global repo %{shenandoah_repo} @@ -195,6 +188,23 @@ %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u}) # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{revision}; echo ${VERSION##*-}) +%global rpmrelease 0 +# Define milestone (EA for pre-releases, GA ("fcs") for releases) +# Release will be (where N is usually a number starting at 1): +# - 0.N%%{?extraver}%%{?dist} for EA releases, +# - N%%{?extraver}{?dist} for GA releases +%global is_ga 1 +%if %{is_ga} +%global milestone fcs +%global milestone_version %{nil} +%global extraver %{nil} +%global eaprefix %{nil} +%else +%global milestone ea +%global milestone_version "-ea" +%global extraver .%{milestone} +%global eaprefix 0. +%endif # priority must be 7 digits in total. The expression is workarounding tip %global priority %(TIP=1800%{updatever}; echo ${TIP/tip/999}) @@ -819,7 +829,7 @@ Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{releas Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 0%{?dist} +Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?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 @@ -947,9 +957,8 @@ Patch517: pr2899-dont_use_withseed_versions_of_nss_functions_as_they_dont_fully_ Patch518: pr2934-sunec_provider_throwing_keyexception_withine.separator_current_nss_thus_initialise_the_random_number_generator_and_feed_the_seed_to_it.patch Patch519: pr3479-rh1486025-sunec_provider_can_have_multiple_instances_leading_to_premature_nss_shutdown.patch # PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts) -Patch539: pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch # PR3575, RH1567204: System cacerts database handling should not affect jssecacerts -Patch540: pr3575-rh1567204-system_cacerts_database_handling_no_longer_affect_jssecacerts.patch +Patch539: pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch Patch541: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch ############################################# @@ -986,10 +995,6 @@ Patch107: s390-8214206_fix.patch Patch502: pr2462-resolve_disabled_warnings_for_libunpack_and_the_unpack200_binary.patch # S8154313: Generated javadoc scattered all over the place Patch400: jdk8154313-generated_javadoc_scattered_all_over_the_place.patch -# 8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode -Patch563: jdk8171000-pr3542-rh1402819-robot_createScreenCapture_crashes_in_wayland_mode.patch -# 8197546, PR3542, RH1402819: Fix for 8171000 breaks Solaris + Linux builds -Patch564: jdk8197546-pr3542-rh1402819-fix_for_8171000_breaks_solaris_linux_builds.patch # PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code Patch571: jdk8199936-pr3591-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x_jdk.patch # 8141570, PR3548: Fix Zero interpreter build for --disable-precompiled-headers @@ -998,8 +1003,6 @@ Patch573: jdk8141570-pr3548-fix_zero_interpreter_build_for_disable_precompiled_h Patch574: jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch # 8197981, PR3548: Missing return statement in __sync_val_compare_and_swap_8 Patch575: jdk8197981-pr3548-missing_return_statement_in_sync_val_compare_and_swap_8.patch -# 8064786, PR3599: Fix debug build after 8062808: Turn on the -Wreturn-type warning -Patch576: jdk8064786-pr3599-fix_debug_build_after_8062808_Turn_on_the_wreturn_type_warning.patch # 8062808, PR3548: Turn on the -Wreturn-type warning Patch577: jdk8062808-pr3548-turn_on_the_wreturn_type_warning.patch # s390: JDK-8203030, Type fixing for s390 @@ -1010,17 +1013,6 @@ Patch202: jdk8035341-allow_using_system_installed_libpng.patch Patch203: jdk8042159-allow_using_system_installed_lcms2.patch # 8210761: libjsig is being compiled without optimization Patch620: jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch -# 8210416: [linux] Poor StrictMath performance due to non-optimized compilation -Patch622: jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch -# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization -# Upstream 8u part. -Patch623: jdk8210425-rh1632174-01-compile_with_o2_and_ffp_contract_off_as_for_fdlibm.patch -# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization -# Aarch64-port 8u local part -Patch624: jdk8210425-rh1632174-02-compile_with_o2_and_ffp_contract_off_as_for_fdlibm_aarch64.patch -# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization -# 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 ############################################# # @@ -1052,10 +1044,6 @@ Patch201: jdk8043805-allow_using_system_installed_libjpeg.patch # trees. ############################################# -# Shenandoah fixes -# PR3634: Shenandoah still broken on s390 with aarch64-shenandoah-jdk8u181-b16 -Patch582: pr3634-fix_shenandoah_for_size_t_on_s390.patch - ############################################# # # Non-OpenJDK fixes @@ -1100,13 +1088,6 @@ BuildRequires: pkgconfig BuildRequires: xorg-x11-proto-devel BuildRequires: zip BuildRequires: unzip -%ifarch %{arm} -BuildRequires: devtoolset-7-build -BuildRequires: devtoolset-7-binutils -BuildRequires: devtoolset-7-gcc -BuildRequires: devtoolset-7-gcc-c++ -BuildRequires: devtoolset-7-gdb -%endif # Use OpenJDK 7 where available (on RHEL) to avoid # having to use the rhel-7.x-java-unsafe-candidate hack %if ! 0%{?fedora} && 0%{?rhel} <= 7 @@ -1255,7 +1236,7 @@ The %{origin_nice} %{majorver} API documentation. %if %{include_normal_build} %package javadoc-zip -Summary: %{origin_nice} %{majorver} API documentation compressed in single archive +Summary: %{origin_nice} %{majorver} API documentation compressed in a single archive Group: Documentation Requires: javapackages-tools BuildArch: noarch @@ -1263,7 +1244,7 @@ BuildArch: noarch %{java_javadoc_rpo %{nil}} %description javadoc-zip -The %{origin_nice} %{majorver} API documentation compressed in single archive. +The %{origin_nice} %{majorver} API documentation compressed in a single archive. %endif %if %{include_debug_build} @@ -1281,7 +1262,7 @@ The %{origin_nice} %{majorver} API documentation %{for_debug}. %if %{include_debug_build} %package javadoc-zip-debug -Summary: %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug} +Summary: %{origin_nice} %{majorver} API documentation compressed in a single archive %{for_debug} Group: Documentation Requires: javapackages-tools BuildArch: noarch @@ -1289,10 +1270,9 @@ BuildArch: noarch %{java_javadoc_rpo -- %{debug_suffix_unquoted}} %description javadoc-zip-debug -The %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug}. +The %{origin_nice} %{majorver} API documentation compressed in a single archive %{for_debug}. %endif - %if %{include_normal_build} %package accessibility Summary: OpenJDK accessibility connector @@ -1337,6 +1317,14 @@ if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 ] ; then echo "You have disabled both include_debug_build and include_normal_build. That is a no go." exit 13 fi +if [ %{include_normal_build} -eq 0 ] ; then + echo "You have disabled the normal build, but this is required to provide docs for the debug build." + exit 14 +fi + +echo "Update version: %{updatever}" +echo "Build number: %{buildver}" +echo "Milestone: %{milestone}" %setup -q -c -n %{uniquesuffix ""} -T -a 0 # https://bugzilla.redhat.com/show_bug.cgi?id=1189084 prioritylength=`expr length %{priority}` @@ -1398,25 +1386,17 @@ sh %{SOURCE12} %patch529 %patch531 %patch530 -%patch563 -%patch564 %patch571 %patch573 %patch574 %patch575 -%patch576 %patch577 %patch620 -%patch622 -%patch623 -%patch624 -%patch625 %patch541 # RPM-only fixes %patch525 %patch539 -%patch540 # RHEL-only patches %if ! 0%{?fedora} && 0%{?rhel} <= 7 @@ -1424,7 +1404,6 @@ sh %{SOURCE12} %endif # Shenandoah patches -%patch582 # Extract systemtap tapsets %if %{with_systemtap} @@ -1472,10 +1451,6 @@ sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg %build -%ifarch %{arm} -%{?enable_devtoolset7:%{enable_devtoolset7}} -%endif - # How many CPU's do we have? export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :) export NUM_PROC=${NUM_PROC:-1} @@ -1499,9 +1474,6 @@ EXTRA_CPP_FLAGS="%ourcppflags" # fix rpmlint warnings EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing" %endif -%ifarch %{arm} -EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-nonnull" -%endif export EXTRA_CFLAGS (cd %{top_level_dir_name}/common/autoconf @@ -1528,7 +1500,7 @@ bash ../../configure \ --with-jvm-variants=zero \ %endif --with-native-debug-symbols=internal \ - --with-milestone="fcs" \ + --with-milestone=%{milestone} \ --with-update-version=%{updatever} \ --with-build-number=%{buildver} \ --with-boot-jdk=/usr/lib/jvm/java-openjdk \ @@ -1549,12 +1521,16 @@ bash ../../configure \ cat spec.gmk cat hotspot-spec.gmk +# Debug builds don't need same targets as release for +# build speed-up +maketargets="%{release_targets}" +if echo $debugbuild | grep -q "debug" ; then + maketargets="%{debug_targets}" +fi make \ JAVAC_FLAGS=-g \ LOG=trace \ - %{targets} || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false ) - -make zip-docs + $maketargets || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false ) # the build (erroneously) removes read permissions from some jars # this is a regression in OpenJDK 7 (our compiler): @@ -1785,12 +1761,12 @@ mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/client/ cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix} popd - - + # Install Javadoc documentation +# Always take docs from normal build to avoid building them twice install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} -cp -a %{buildoutputdir $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix} -cp -a %{buildoutputdir $suffix}/bundles/jdk-%{javaver}_%{updatever}$suffix-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip +cp -a %{buildoutputdir $normal_suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix} +cp -a %{buildoutputdir $normal_suffix}/bundles/jdk-%{javaver}_%{updatever}%{milestone_version}${normal_suffix}-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip # Install icons and menu entries for s in 16 24 32 48 ; do @@ -2017,6 +1993,7 @@ require "copy_jdk_configs.lua" %postun javadoc-zip-debug %{postun_javadoc_zip -- %{debug_suffix_unquoted}} + %endif %if %{include_normal_build} @@ -2082,11 +2059,77 @@ require "copy_jdk_configs.lua" %files accessibility-debug %{files_accessibility -- %{debug_suffix_unquoted}} + %endif %changelog -* Wed Apr 17 2019 Johnny Hughes - 1:1.8.0.212.b04-0 -- Manual CentOS Debranding +* Thu Jul 11 2019 Andrew Hughes - 1:1.8.0.222.b10-0 +- Update to aarch64-shenandoah-jdk8u222-b10. +- Resolves: rhbz#1724452 + +* Tue Jul 09 2019 Andrew Hughes - 1:1.8.0.222.b09-0 +- Update to aarch64-shenandoah-jdk8u222-b09. +- Switch to GA mode for final release. +- Resolves: rhbz#1724452 + +* Tue Jul 09 2019 Andrew Hughes - 1:1.8.0.222.b08-0.0.ea +- Update to aarch64-shenandoah-jdk8u222-b08. +- Adjust PR3083/RH134640 to apply after JDK-8182999 +- Resolves: rhbz#1724452 + +* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b07-0.0.ea +- Update to aarch64-shenandoah-jdk8u222-b07 and Shenandoah merge 2019-06-13. +- Resolves: rhbz#1724452 + +* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b06-0.0.ea +- Update to aarch64-shenandoah-jdk8u222-b06. +- Resolves: rhbz#1724452 + +* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b05-0.0.ea +- Update to aarch64-shenandoah-jdk8u222-b05. +- Resolves: rhbz#1724452 + +* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b04-0.1.ea +- Update to aarch64-shenandoah-jdk8u222-b04. +- Drop remaining JDK-8210425/RH1632174 patch now AArch64 part is upstream. +- Resolves: rhbz#1724452 + +* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b03-0.1.ea +- Use normal_suffix for Javadoc zip filename to copy, as there is is no debug version. +- Resolves: rhbz#1724452 + +* Mon Jul 08 2019 Andrew Hughes - 1:1.8.0.222.b03-0.1.ea +- Provide Javadoc debug subpackages for now, but populate them from the normal build. +- Resolves: rhbz#1724452 + +* Mon Jul 08 2019 Severin Gehwolf - 1:1.8.0.222.b03-0.1.ea +- Don't produce javadoc/javadoc-zip sub packages for the debug variant build. +- Don't perform a bootcycle build for the debug variant build. +- Resolves: rhbz#1724452 + +* Tue Jul 02 2019 Severin Gehwolf - 1:1.8.0.222.b03-0.0.ea +- Include 'ea' designator in Release when appropriate. +- Resolves: rhbz#1724452 + +* Wed May 22 2019 Andrew Hughes - 1:1.8.0.222.b03-0 +- Update to aarch64-shenandoah-jdk8u222-b03. +- Handle milestone as variables so we can alter it easily and set the docs zip filename appropriately. +- Drop 8210425 patches applied upstream. Still need to add AArch64 version in aarch64/shenandoah-jdk8u. +- Re-generate JDK-8141570 & JDK-8143245 patches due to 8210425 zeroshark.make changes. +- Drop unused use_shenandoah_hotspot variable. +- Resolves: rhbz#1724452 + +* Mon May 13 2019 Andrew Hughes - 1:1.8.0.222.b02-0 +- Update to aarch64-shenandoah-jdk8u222-b02. +- Drop 8064786/PR3599 & 8210416/RH1632174 as applied upstream (8064786 silently in 8176100). +- Resolves: rhbz#1724452 + +* Thu May 02 2019 Andrew Hughes - 1:1.8.0.222.b01-0 +- Update to aarch64-shenandoah-jdk8u222-b01. +- Refactor PR2888 after inclusion of 8129988 upstream. Now includes PR3575. +- Drop 8171000, 8197546 & PR3634 as applied upstream. +- Adjust 8214206 fix for S390 as BinaryMagnitudeSeq moved to shenandoahNumberSeq.cpp +- Resolves: rhbz#1724452 * Thu Apr 11 2019 Andrew Hughes - 1:1.8.0.212.b04-0 - Update to aarch64-shenandoah-jdk8u212-b04.