Updated to build aarch64 as jit arch, minor tweeks

This commit is contained in:
Jiri Vanek 2013-07-24 12:33:57 +02:00
parent 0d8c4a6acb
commit 9b793e15b6
5 changed files with 3687 additions and 5 deletions

1558
config.guess vendored Normal file

File diff suppressed because it is too large Load Diff

1788
config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -4,10 +4,10 @@
%global jdk8_version b89x %global jdk8_version b89x
%global hg_tag jdk8-%{jdk8_version} %global hg_tag jdk8-%{jdk8_version}
%global multilib_arches %{power64} sparc64 x86_64 %global aarch64 aarch64 arm64 armv8
%global multilib_arches %{power64} sparc64 x86_64 %{aarch64}
%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64}
%global jit_arches %{ix86} x86_64 sparcv9 sparc64
%global aarch64 aarch64 arm64 armv8
%ifarch x86_64 %ifarch x86_64
%global archbuild amd64 %global archbuild amd64
@ -142,7 +142,7 @@
Name: java-%{javaver}-%{origin} Name: java-%{javaver}-%{origin}
Version: %{javaver}.%{buildver} Version: %{javaver}.%{buildver}
Release: 0.10.%{jdk8_version}%{?dist} Release: 0.11.%{jdk8_version}%{?dist}
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, # 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 # 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 # also included the epoch in their virtual provides. This created a
@ -185,6 +185,9 @@ Source12: remove-intree-libraries.sh
# Ensure we aren't using the limited crypto policy # Ensure we aren't using the limited crypto policy
Source13: TestCryptoLevel.java Source13: TestCryptoLevel.java
Source100: config.guess
Source101: config.sub
# RPM/distribution specific patches # RPM/distribution specific patches
# Ignore AWTError when assistive technologies are loaded # Ignore AWTError when assistive technologies are loaded
@ -204,8 +207,10 @@ Patch102: %{name}-size_t.patch
Patch103: %{name}-ppc-zero-hotspot.patch Patch103: %{name}-ppc-zero-hotspot.patch
Patch201: system-libjpeg.patch Patch201: system-libjpeg.patch
Patch2011: system-libjpegAARCH64.patch
Patch202: system-libpng.patch Patch202: system-libpng.patch
Patch203: system-lcms.patch Patch203: system-lcms.patch
Patch2031: system-lcmsAARCH64.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
@ -215,6 +220,7 @@ BuildRequires: desktop-file-utils
BuildRequires: fontconfig BuildRequires: fontconfig
BuildRequires: freetype-devel BuildRequires: freetype-devel
BuildRequires: giflib-devel BuildRequires: giflib-devel
BuildRequires: gcc-c++
BuildRequires: gtk2-devel BuildRequires: gtk2-devel
BuildRequires: lcms2-devel BuildRequires: lcms2-devel
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
@ -345,7 +351,7 @@ Provides: java8-%{javaver}-javadoc = %{epoch}:%{version}-%{release}
The OpenJDK API documentation. The OpenJDK API documentation.
%prep %prep
%ifarch %{arm64} %ifarch %{aarch64}
%global source_num 1 %global source_num 1
%else %else
%global source_num 0 %global source_num 0
@ -354,15 +360,31 @@ The OpenJDK API documentation.
%setup -q -c -n %{name} -T -a %{source_num} %setup -q -c -n %{name} -T -a %{source_num}
cp %{SOURCE2} . cp %{SOURCE2} .
#repalce outdated configure guess script
cp %{SOURCE100} jdk8/common/autoconf/build-aux/
cp %{SOURCE101} jdk8/common/autoconf/build-aux/
# OpenJDK patches # OpenJDK patches
# Remove libraries that are linked # Remove libraries that are linked
# disabled until 8 has all system library fixes upstream # disabled until 8 has all system library fixes upstream
sh %{SOURCE12} sh %{SOURCE12}
%ifarch %{aarch64}
%patch2011
%else
%patch201 %patch201
%endif
%patch202 %patch202
%ifarch %{aarch64}
%patch2031
%else
%patch203 %patch203
%endif
%patch1 %patch1
@ -915,6 +937,12 @@ exit 0
%changelog %changelog
* Tue Jul 23 2013 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.0-0.11.b89 * Tue Jul 23 2013 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.0-0.11.b89
- prelink dependence excluded also for aaech64 - prelink dependence excluded also for aaech64
- arm64 added to jitarches
- added source100 config.guess to repalce the outdated one in-tree
- added source101 config.sub to repalce the outdated one in-tree
- added patch2011 system-libjpegAARCH64.patch (as aarch64-port is little bit diferent)
- added patch2031 system-lcmsAARCH64.patch (as aarch64-port is little bit diferent)
- added gcc-c++ build depndece so builddep will result to better situation
* Tue Jul 23 2013 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.0-0.10.b89 * Tue Jul 23 2013 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.0-0.10.b89
- moved to latest working osurces - moved to latest working osurces

101
system-lcmsAARCH64.patch Normal file
View File

@ -0,0 +1,101 @@
diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4
--- jdk8/common/autoconf/libraries.m4
+++ jdk8/common/autoconf/libraries.m4
@@ -607,6 +607,46 @@
###############################################################################
#
+# Check for the lcms2 library
+#
+
+AC_ARG_WITH(lcms, [AS_HELP_STRING([--with-lcms],
+ [use lcms2 from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
+
+AC_CHECK_LIB(lcms2, cmsOpenProfileFromFile,
+ [ LCMS_FOUND=yes ],
+ [ LCMS_FOUND=no ])
+
+AC_MSG_CHECKING([for which lcms to use])
+
+DEFAULT_LCMS=bundled
+
+#
+# If user didn't specify, use DEFAULT_LCMS
+#
+if test "x${with_lcms}" = "x"; then
+ with_lcms=${DEFAULT_LCMS}
+fi
+
+if test "x${with_lcms}" = "xbundled"; then
+ USE_EXTERNAL_LCMS=false
+ AC_MSG_RESULT([bundled])
+elif test "x${with_lcms}" = "xsystem"; then
+ if test "x${LCMS_FOUND}" = "xyes"; then
+ USE_EXTERNAL_LCMS=true
+ AC_MSG_RESULT([system])
+ else
+ AC_MSG_RESULT([system not found])
+ AC_MSG_ERROR([--with-lcms=system specified, but no lcms found!])
+ fi
+else
+ AC_MSG_ERROR([Invalid value for --with-lcms: ${with_lcms}, use 'system' or 'bundled'])
+fi
+
+AC_SUBST(USE_EXTERNAL_LCMS)
+
+###############################################################################
+#
# Check for the zlib library
#
diff --git jdk8/jdk/makefiles/CompileNativeLibraries.gmk jdk8/jdk/makefiles/CompileNativeLibraries.gmk
--- jdk8/jdk/makefiles/CompileNativeLibraries.gmk
+++ jdk8/jdk/makefiles/CompileNativeLibraries.gmk
@@ -1215,8 +1215,8 @@
ifdef OPENJDK
# TODO: Update awt lib path when awt is converted
- $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
- LIBRARY:=lcms,\
+ $(eval $(call SetupNativeCompilation,BUILD_LIBJAVALCMS,\
+ LIBRARY:=javalcms,\
OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
LANG:=C,\
@@ -1234,18 +1234,18 @@
LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
- LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
+ LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm -llcms2,\
VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
RC_FLAGS:=$(RC_FLAGS)\
- -D "JDK_FNAME=lcms.dll" \
- -D "JDK_INTERNAL_NAME=lcms" \
+ -D "JDK_FNAME=javalcms.dll" \
+ -D "JDK_INTERNAL_NAME=libjavalcms" \
-D "JDK_FTYPE=0x2L",\
OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
DEBUG_SYMBOLS:=true))
- BUILD_LIBRARIES += $(BUILD_LIBLCMS)
-
- $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
+ BUILD_LIBRARIES += $(BUILD_LIBJAVALCMS)
+
+ $(BUILD_LIBJAVALCMS) : $(BUILD_LIBAWT)
endif
##########################################################################################
diff --git jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
--- jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
+++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
@@ -157,7 +157,7 @@
* disposer frameworks
*/
System.loadLibrary("awt");
- System.loadLibrary("lcms");
+ System.loadLibrary("javalcms");
return null;
}
}

207
system-libjpegAARCH64.patch Normal file
View File

@ -0,0 +1,207 @@
diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4
--- jdk8/common/autoconf/libraries.m4
+++ jdk8/common/autoconf/libraries.m4
@@ -487,11 +487,40 @@
# Check for the jpeg library
#
-USE_EXTERNAL_LIBJPEG=true
-AC_CHECK_LIB(jpeg, main, [],
- [ USE_EXTERNAL_LIBJPEG=false
- AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
- ])
+AC_ARG_WITH(libjpeg, [AS_HELP_STRING([--with-libjpeg],
+ [use libjpeg from build system or OpenJDK sources (system, bundled) @<:@bundled@:>@])])
+
+AC_CHECK_LIB(jpeg, jpeg_destroy_compress,
+ [ LIBJPEG_FOUND=yes ],
+ [ LIBJPEG_FOUND=no ])
+
+AC_MSG_CHECKING([for which libjpeg to use])
+
+# default is bundled
+DEFAULT_LIBJPEG=bundled
+
+#
+# if user didn't specify, use DEFAULT_LIBJPEG
+#
+if test "x${with_libjpeg}" = "x"; then
+ with_libjpeg=${DEFAULT_LIBJPEG}
+fi
+
+if test "x${with_libjpeg}" = "xbundled"; then
+ USE_EXTERNAL_LIBJPEG=false
+ AC_MSG_RESULT([bundled])
+elif test "x${with_libjpeg}" = "xsystem"; then
+ if test "x${LIBJPEG_FOUND}" = "xyes"; then
+ USE_EXTERNAL_LIBJPEG=true
+ AC_MSG_RESULT([system])
+ else
+ AC_MSG_RESULT([system not found])
+ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])
+ fi
+else
+ AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
+fi
+
AC_SUBST(USE_EXTERNAL_LIBJPEG)
###############################################################################
diff --git a/makefiles/CompileNativeLibraries.gmk b/makefiles/CompileNativeLibraries.gmk
--- jdk8/jdk/makefiles/CompileNativeLibraries.gmk
+++ jdk8/jdk/makefiles/CompileNativeLibraries.gmk
@@ -1249,17 +1249,17 @@
##########################################################################################
ifdef OPENJDK
- BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
+ BUILD_LIBJAVAJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
else
- BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
- BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
- BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
+ BUILD_LIBJAVAJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
+ BUILD_LIBJAVAJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
+ BUILD_LIBJAVAJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJAVAJPEG_CLOSED_SRC)
endif
-BUILD_LIBJPEG_REORDER:=
+BUILD_LIBJAVAJPEG_REORDER:=
ifeq ($(OPENJDK_TARGET_OS), solaris)
ifneq ($(OPENJDK_TARGET_CPU), x86_64)
- BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
+ BUILD_LIBJAVAJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
endif
endif
@@ -1274,37 +1274,37 @@
# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
# ifeq ($(CC_43_OR_NEWER),1)
-# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
+# BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered
# endif
#endif
-$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
- LIBRARY:=jpeg, \
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG,\
+ LIBRARY:=javajpeg, \
OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
- SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
+ SRC:=$(BUILD_LIBJAVAJPEG_CLOSED_SRC) \
$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
LANG:=C,\
OPTIMIZATION:=HIGHEST, \
CFLAGS:=$(CFLAGS_JDKLIB) \
- $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
+ $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
- MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
- LDFLAGS:=$(LDFLAGS_JDKLIB) \
+ MAPFILE:=$(BUILD_LIBJAVAJPEG_MAPFILE), \
+ LDFLAGS:=$(LDFLAGS_JDKLIB) -ljpeg \
$(call SET_SHARED_LIBRARY_ORIGIN),\
LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
RC_FLAGS:=$(RC_FLAGS)\
- -D "JDK_FNAME=jpeg.dll" \
- -D "JDK_INTERNAL_NAME=jpeg" \
+ -D "JDK_FNAME=javajpeg.dll" \
+ -D "JDK_INTERNAL_NAME=javajpeg" \
-D "JDK_FTYPE=0x2L",\
- REORDER:=$(BUILD_LIBJPEG_REORDER),\
- OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
+ REORDER:=$(BUILD_LIBJAVAJPEG_REORDER),\
+ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavajpeg,\
DEBUG_SYMBOLS:=true))
-$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
-
-BUILD_LIBRARIES += $(BUILD_LIBJPEG)
+$(BUILD_LIBJAVAJPEG) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG)
##########################################################################################
@@ -2441,7 +2441,7 @@
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
-framework JavaNativeFoundation
else ifneq ($(OPENJDK_TARGET_OS), windows)
- LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
+ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread -ljpeg
else # OPENJDK_TARGET_OS
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
endif # OPENJDK_TARGET_OS
@@ -2457,7 +2457,7 @@
MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
LDFLAGS:=$(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN),\
- LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\
+ LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS) -ljpeg,\
LDFLAGS_SUFFIX_solaris:=-lc,\
VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
RC_FLAGS:=$(RC_FLAGS)\
diff --git a/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java b/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
@@ -89,7 +89,7 @@
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
- System.loadLibrary("jpeg");
+ System.loadLibrary("javajpeg");
return null;
}
});
diff --git a/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java b/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
@@ -179,7 +179,7 @@
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
- System.loadLibrary("jpeg");
+ System.loadLibrary("javajpeg");
return null;
}
});
diff --git a/src/share/classes/sun/awt/image/JPEGImageDecoder.java b/src/share/classes/sun/awt/image/JPEGImageDecoder.java
--- jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
+++ jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
@@ -56,7 +56,7 @@
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
- System.loadLibrary("jpeg");
+ System.loadLibrary("javajpeg");
return null;
}
});
diff --git a/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c b/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
@@ -25,7 +25,6 @@
#include "splashscreen_impl.h"
-#include "jinclude.h"
#include "jpeglib.h"
#include "jerror.h"
@@ -107,11 +106,11 @@
if (cinfo->src == NULL) { /* first time for this JPEG object? */
cinfo->src = (struct jpeg_source_mgr *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
- JPOOL_PERMANENT, SIZEOF(stream_source_mgr));
+ JPOOL_PERMANENT, sizeof(stream_source_mgr));
src = (stream_src_ptr) cinfo->src;
src->buffer = (JOCTET *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
- JPOOL_PERMANENT, INPUT_BUF_SIZE * SIZEOF(JOCTET));
+ JPOOL_PERMANENT, INPUT_BUF_SIZE * sizeof(JOCTET));
}
src = (stream_src_ptr) cinfo->src;