[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