[java-1.8.0-openjdk/f19] Add build fix for zero

Omair Majid omajid at fedoraproject.org
Thu Mar 28 23:12:48 UTC 2013


commit b9ff0a88434b0954ff5949a5ad6717f6619b6d83
Author: Omair Majid <omajid at redhat.com>
Date:   Thu Mar 28 19:12:15 2013 -0400

    Add build fix for zero

 dont-use-gstabs.patch   |   27 --------
 fix-zero-build.patch    |  158 +++++++++++++++++++++++++++++++++++++++++++++++
 java-1.8.0-openjdk.spec |   17 +++--
 3 files changed, 169 insertions(+), 33 deletions(-)
---
diff --git a/fix-zero-build.patch b/fix-zero-build.patch
new file mode 100644
index 0000000..a2defd5
--- /dev/null
+++ b/fix-zero-build.patch
@@ -0,0 +1,158 @@
+--- jdk8/jdk/makefiles/Profiles.gmk	2013-03-28 16:57:56.137703554 -0400
++++ jdk8/jdk/makefiles/Profiles.gmk	2013-03-28 16:57:55.674699054 -0400
+@@ -94,8 +94,11 @@
+         $(IMAGES_OUTPUTDIR)/lib/tools.jar \
+         $(IMAGES_OUTPUTDIR)/lib/ct.sym \
+         $(IMAGES_OUTPUTDIR)/src.zip \
+-        $(IMAGES_OUTPUTDIR)/lib/ext/cldrdata.jar \
+-        $(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar
++        $(IMAGES_OUTPUTDIR)/lib/ext/cldrdata.jar
++
++ifeq ($(INCLUDE_SA),true)
++    ALL_JARS += $(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar
++endif
+ 
+ ifeq ($(OPENJDK_TARGET_OS),solaris)
+     ifndef OPENJDK
+--- jdk8/common/autoconf/hotspot-spec.gmk.in	2013-03-28 17:00:44.110332528 -0400
++++ jdk8/common/autoconf/hotspot-spec.gmk.in	2013-03-28 17:00:43.915330640 -0400
+@@ -75,6 +75,19 @@
+ # If yes then this expands to _LP64:=1
+ @LP64@
+ 
++# Legacy settings for zero
++ZERO_ENDIANNESS=$(OPENJDK_TARGET_CPU_ENDIAN)
++ZERO_LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB)
++ZERO_ARCHDEF=@ZERO_ARCHDEF@
++ZERO_ARCHFLAG=@ZERO_ARCHFLAG@
++LIBFFI_CFLAGS=@LIBFFI_CFLAGS@
++LIBFFI_LIBS=@LIBFFI_LIBS@
++
++# Legacy settings for zeroshark
++LLVM_CFLAGS=@LLVM_CFLAGS@
++LLVM_LIBS=@LLVM_LIBS@
++LLVM_LDFLAGS=@LLVM_LDFLAGS@
++
+ ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
+ ALT_EXPORT_PATH=$(HOTSPOT_DIST)
+ 
+--- jdk8/common/autoconf/libraries.m4	2013-03-28 17:00:45.905349901 -0400
++++ jdk8/common/autoconf/libraries.m4	2013-03-28 17:00:45.632347258 -0400
+@@ -662,7 +662,7 @@
+     AC_MSG_CHECKING([how to link with libstdc++])
+     # If dynamic was requested, it's available since it would fail above otherwise.
+     # If dynamic wasn't requested, go with static unless it isn't available.
+-    if test "x$with_stdc__lib" = xdynamic || test "x$has_static_libstdcxx" = xno; then
++    if test "x$with_stdc__lib" = xdynamic || test "x$has_static_libstdcxx" = xno || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
+         LIBCXX="$LIBCXX -lstdc++"
+         LDCXX="$CXX"
+         STATIC_CXX_SETTING="STATIC_CXX=false"
+@@ -676,6 +676,59 @@
+ fi
+ AC_SUBST(STATIC_CXX_SETTING)
+ 
++if test "x$JVM_VARIANT_ZERO" = xtrue || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
++    # Figure out LIBFFI_CFLAGS and LIBFFI_LIBS
++    PKG_CHECK_MODULES([LIBFFI], [libffi])
++
++fi
++
++if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
++    AC_CHECK_PROG([LLVM_CONFIG], [llvm-config], [llvm-config])
++
++    if test "x$LLVM_CONFIG" != xllvm-config; then
++        AC_MSG_ERROR([llvm-config not found in $PATH.])
++    fi
++
++    llvm_components="jit mcjit engine nativecodegen native"
++    unset LLVM_CFLAGS
++    for flag in $("$LLVM_CONFIG" --cxxflags); do
++      if echo "${flag}" | grep -q '^-@<:@ID@:>@'; then
++        if test "${flag}" != "-D_DEBUG" ; then
++          if test "${LLVM_CFLAGS}" != "" ; then
++            LLVM_CFLAGS="${LLVM_CFLAGS} "
++          fi
++          LLVM_CFLAGS="${LLVM_CFLAGS}${flag}"
++        fi
++      fi
++    done
++    llvm_version=$("${LLVM_CONFIG}" --version | sed 's/\.//; s/svn.*//')
++    LLVM_CFLAGS="${LLVM_CFLAGS} -DSHARK_LLVM_VERSION=${llvm_version}"
++
++    unset LLVM_LDFLAGS
++    for flag in $("${LLVM_CONFIG}" --ldflags); do
++      if echo "${flag}" | grep -q '^-L'; then
++        if test "${LLVM_LDFLAGS}" != ""; then
++          LLVM_LDFLAGS="${LLVM_LDFLAGS} "
++        fi
++        LLVM_LDFLAGS="${LLVM_LDFLAGS}${flag}"
++      fi
++    done
++
++    unset LLVM_LIBS
++    for flag in $("${LLVM_CONFIG}" --libs ${llvm_components}); do
++      if echo "${flag}" | grep -q '^-l'; then
++        if test "${LLVM_LIBS}" != ""; then
++          LLVM_LIBS="${LLVM_LIBS} "
++        fi
++        LLVM_LIBS="${LLVM_LIBS}${flag}"
++      fi
++    done
++
++    AC_SUBST(LLVM_CFLAGS)
++    AC_SUBST(LLVM_LDFLAGS)
++    AC_SUBST(LLVM_LIBS)
++fi
++
+ # libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
+ if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
+     LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1"
+--- jdk8/common/autoconf/platform.m4	2013-03-28 17:00:47.585366160 -0400
++++ jdk8/common/autoconf/platform.m4	2013-03-28 17:00:47.389364263 -0400
+@@ -332,6 +332,29 @@
+       DEFINE_CROSS_COMPILE_ARCH=""
+     fi
+     AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
++
++    # Some Zero and Shark settings.
++    # ZERO_ARCHFLAG tells the compiler which mode to build for
++    case "${OPENJDK_TARGET_CPU}" in
++      s390)
++        ZERO_ARCHFLAG="-m31"
++        ;;
++      *)
++        ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
++    esac
++    AC_SUBST(ZERO_ARCHFLAG)
++
++    # ZERO_ARCHDEF is used to enable architecture-specific code
++    case "${OPENJDK_TARGET_CPU}" in
++      ppc*)    ZERO_ARCHDEF=PPC   ;;
++      s390*)   ZERO_ARCHDEF=S390  ;;
++      sparc*)  ZERO_ARCHDEF=SPARC ;;
++      x86_64*) ZERO_ARCHDEF=AMD64 ;;
++      x86)     ZERO_ARCHDEF=IA32  ;;
++      *)      ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
++    esac
++    AC_SUBST(ZERO_ARCHDEF)
++
+ ])
+ 
+ AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
+--- jdk8/common/autoconf/spec.gmk.in	2013-03-28 17:00:49.065380483 -0400
++++ jdk8/common/autoconf/spec.gmk.in	2013-03-28 17:00:48.870378596 -0400
+@@ -634,6 +634,14 @@
+ # Name of Service Agent library
+ SALIB_NAME=@SALIB_NAME@
+ 
++INCLUDE_SA:=true
++ifeq ($(JVM_VARIANT_ZERO),true)
++  INCLUDE_SA:=false
++endif
++ifeq ($(JVM_VARIANT_ZEROSHARK),true)
++  INCLUDE_SA:=false
++endif
++
+ OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@
+ OS_VERSION_MINOR:=@OS_VERSION_MINOR@
+ OS_VERSION_MICRO:=@OS_VERSION_MICRO@
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index 21809e4..3279ecb 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -136,7 +136,7 @@
 
 Name:    java-%{javaver}-%{origin}
 Version: %{javaver}.%{buildver}
-Release: 0.1.%{jdk8_version}%{?dist}
+Release: 0.3.%{jdk8_version}%{?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
@@ -205,13 +205,13 @@ Patch105: %{name}-ppc-zero-hotspot.patch
 Patch106: %{name}-ppc-zero-corba.patch
 
 Patch107: %{name}-freetype-check-fix.patch
-Patch108: dont-use-gstabs.patch
 Patch109: disable-werror.patch
 
 Patch200: system-giflib.patch
 Patch201: system-libjpeg.patch
 Patch202: system-libpng.patch
 Patch203: system-lcms.patch
+Patch204: fix-zero-build.patch
 
 BuildRequires: autoconf
 BuildRequires: automake
@@ -358,7 +358,6 @@ The OpenJDK API documentation.
 cp %{SOURCE2} .
 
 # OpenJDK patches
-%patch108
 %patch109
 
 # Rhino patch
@@ -372,6 +371,7 @@ sh %{SOURCE12}
 %patch201
 %patch202
 %patch203
+%patch204
 
 %patch4
 
@@ -475,6 +475,9 @@ mkdir -p %{buildoutputdir}
 pushd %{buildoutputdir}
 
 bash ../../configure \
+%ifnarch %{jit_arches}
+    --with-jvm-variants=zero \
+%endif
     --with-build-number=%{buildver} \
     --with-boot-jdk=/usr/lib/jvm/java-openjdk \
     --with-debug-level=%{debugbuild} \
@@ -486,7 +489,7 @@ bash ../../configure \
     --with-stdc++lib=dynamic \
     --with-num-cores="$NUM_PROC"
 
-make DISABLE_INTREE_EC=true LOG=trace all
+make DEBUG_BINARIES=true DISABLE_INTREE_EC=true LOG=trace all
 
 popd >& /dev/null
 
@@ -921,9 +924,7 @@ exit 0
 %{_mandir}/man1/javah-%{name}.1*
 %{_mandir}/man1/javap-%{name}.1*
 %{_mandir}/man1/jconsole-%{name}.1*
-%ifarch %{jit_arches} # Only in u4+
 %{_mandir}/man1/jcmd-%{name}.1*
-%endif
 %{_mandir}/man1/jdb-%{name}.1*
 %{_mandir}/man1/jhat-%{name}.1*
 %{_mandir}/man1/jinfo-%{name}.1*
@@ -961,6 +962,10 @@ exit 0
 %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
 
 %changelog
+* Thu Mar 28 2013 Omair Majid <omajid at redhat.com> 1:1.8.0.0-0.3.b79
+- Add build fix for zero
+- Drop gstabs fixes; enable full debug info instead
+
 * Wed Mar 13 2013 Omair Majid <omajid at redhat.com> 1:1.8.0.0-0.2.b79
 - Fix alternatives priority
 


More information about the scm-commits mailing list