diff --git a/java-1_8_0-openjdk.spec b/java-1_8_0-openjdk.spec index a90313c..8c16a47 100644 --- a/java-1_8_0-openjdk.spec +++ b/java-1_8_0-openjdk.spec @@ -224,6 +224,8 @@ Patch12: adlc-parser.patch Patch13: implicit-pointer-decl.patch # Avoid triggering inactivity timeout while generating javadoc in zero VM Patch14: zero-javadoc-verbose.patch +# Fix crash on zero virtual machine built with gcc5 +Patch16: zero-dummy.patch # # OpenJDK specific patches # @@ -512,6 +514,7 @@ rm -rvf jdk/src/share/native/sun/java2d/cmm/lcms/lcms2* %if %{with zero} %patch14 -p1 +%patch16 -p1 %endif %ifarch s390 diff --git a/ppc64le-8036767.patch b/ppc64le-8036767.patch index 468f2c0..3bf80c5 100644 --- a/ppc64le-8036767.patch +++ b/ppc64le-8036767.patch @@ -1,9 +1,9 @@ ---- jdk8/common/autoconf/hotspot-spec.gmk.in 2016-04-22 08:44:54.361010334 +0200 -+++ jdk8/common/autoconf/hotspot-spec.gmk.in 2016-04-22 08:51:12.832499647 +0200 +--- jdk8/common/autoconf/hotspot-spec.gmk.in 2016-02-26 13:23:57.379257902 +0100 ++++ jdk8/common/autoconf/hotspot-spec.gmk.in 2016-02-26 13:25:10.961590289 +0100 @@ -71,6 +71,10 @@ LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB) - # Set the cpu architecture - ARCH=$(OPENJDK_TARGET_CPU_ARCH) + # Old name for OPENJDK_TARGET_CPU, uses i586 and amd64, instead of x86 and x86_64. + ARCH=$(OPENJDK_TARGET_CPU_LEGACY) +# ppc64le uses the HotSpot ppc64 build +ifeq ($(OPENJDK_TARGET_CPU), ppc64le) + ARCH=ppc64 @@ -11,8 +11,8 @@ # Legacy setting for building for a 64 bit machine. # If yes then this expands to _LP64:=1 @LP64@ ---- jdk8/common/autoconf/jdk-options.m4 2016-04-22 08:44:54.361010334 +0200 -+++ jdk8/common/autoconf/jdk-options.m4 2016-04-22 08:46:23.531007173 +0200 +--- jdk8/common/autoconf/jdk-options.m4 2016-02-26 13:23:57.379257902 +0100 ++++ jdk8/common/autoconf/jdk-options.m4 2016-02-26 13:25:10.961590289 +0100 @@ -158,7 +158,7 @@ if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then INCLUDE_SA=false @@ -22,8 +22,8 @@ INCLUDE_SA=false fi if test "x$OPENJDK_TARGET_CPU" = xaarch64; then ---- jdk8/common/autoconf/platform.m4 2016-04-22 08:44:54.361010334 +0200 -+++ jdk8/common/autoconf/platform.m4 2016-04-22 08:46:23.535007083 +0200 +--- jdk8/common/autoconf/platform.m4 2016-02-26 13:23:57.379257902 +0100 ++++ jdk8/common/autoconf/platform.m4 2016-02-26 13:25:10.961590289 +0100 @@ -73,7 +73,7 @@ VAR_CPU_ENDIAN=big ;; @@ -33,8 +33,8 @@ VAR_CPU_ARCH=ppc VAR_CPU_BITS=64 VAR_CPU_ENDIAN=little ---- jdk8/common/autoconf/toolchain.m4 2016-04-22 08:44:54.361010334 +0200 -+++ jdk8/common/autoconf/toolchain.m4 2016-04-22 08:46:23.535007083 +0200 +--- jdk8/common/autoconf/toolchain.m4 2016-02-26 13:23:57.379257902 +0100 ++++ jdk8/common/autoconf/toolchain.m4 2016-02-26 13:25:10.961590289 +0100 @@ -1056,6 +1056,9 @@ else CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" @@ -45,9 +45,9 @@ if test "x$OPENJDK_TARGET_OS" = xlinux; then CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" fi ---- jdk8/hotspot/make/defs.make 2016-04-22 08:44:54.517006830 +0200 -+++ jdk8/hotspot/make/defs.make 2016-04-22 08:46:23.535007083 +0200 -@@ -326,6 +326,13 @@ +--- jdk8/hotspot/make/defs.make 2016-02-26 13:23:55.307304861 +0100 ++++ jdk8/hotspot/make/defs.make 2016-02-26 13:25:10.961590289 +0100 +@@ -325,6 +325,13 @@ LIBARCH/ppc64 = ppc64 LIBARCH/zero = $(ZERO_LIBARCH) @@ -61,8 +61,8 @@ LP64_ARCH += sparcv9 amd64 ia64 ppc64 zero endif ---- jdk8/jdk/make/lib/SoundLibraries.gmk 2016-04-22 08:44:55.400986979 +0200 -+++ jdk8/jdk/make/lib/SoundLibraries.gmk 2016-04-22 08:46:23.535007083 +0200 +--- jdk8/jdk/make/lib/SoundLibraries.gmk 2016-02-26 13:23:55.795293801 +0100 ++++ jdk8/jdk/make/lib/SoundLibraries.gmk 2016-02-26 13:25:10.961590289 +0100 @@ -143,6 +143,10 @@ ifeq ($(OPENJDK_TARGET_CPU), aarch64) LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64 @@ -74,8 +74,8 @@ endif LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"' ---- jdk8/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2016-04-22 08:44:55.836977187 +0200 -+++ jdk8/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2016-04-22 08:46:23.535007083 +0200 +--- jdk8/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2016-02-26 13:23:56.283282740 +0100 ++++ jdk8/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2016-02-26 13:25:10.961590289 +0100 @@ -43,7 +43,9 @@ #define X_ZERO 6 #define X_ARM 7 @@ -88,7 +88,7 @@ // ********************************** // Make sure you set X_PLATFORM and X_ARCH defines correctly. --- jdk8/jdk/src/solaris/bin/ppc64le/jvm.cfg 1970-01-01 01:00:00.000000000 +0100 -+++ jdk8/jdk/src/solaris/bin/ppc64le/jvm.cfg 2016-04-22 08:46:23.535007083 +0200 ++++ jdk8/jdk/src/solaris/bin/ppc64le/jvm.cfg 2016-02-26 13:25:10.961590289 +0100 @@ -0,0 +1,33 @@ +# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. diff --git a/zero-dummy.patch b/zero-dummy.patch new file mode 100644 index 0000000..31c3e85 --- /dev/null +++ b/zero-dummy.patch @@ -0,0 +1,13 @@ +--- jdk8/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2015-06-10 10:06:49.485230587 +0200 ++++ jdk8/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2015-06-10 10:07:33.645229254 +0200 +@@ -55,8 +55,8 @@ + #include "utilities/vmError.hpp" + + address os::current_stack_pointer() { +- address dummy = (address) &dummy; +- return dummy; ++ // return the address of the current function ++ return (address)__builtin_frame_address(0); + } + + frame os::get_sender_for_C_frame(frame* fr) {