From 717abd3e4d8cca133bb33212d61a32ed75b96221 Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Nov 15 2013 04:01:02 +0000 Subject: Fix patches for aarch64 --- diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 78a79e8..67d470d 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -190,7 +190,9 @@ Patch102: %{name}-size_t.patch Patch103: %{name}-ppc-zero-hotspot.patch Patch201: system-libjpeg.patch +Patch2011: system-libjpeg-aarch64.patch Patch202: system-libpng.patch +Patch2021: system-libpng-aarch64.patch Patch203: system-lcms.patch Patch2031: system-lcmsAARCH64.patch @@ -351,12 +353,13 @@ cp %{SOURCE101} jdk8/common/autoconf/build-aux/ sh %{SOURCE12} -%patch201 -%patch202 - %ifarch %{aarch64} +%patch2011 +%patch2021 %patch2031 %else +%patch201 +%patch202 %patch203 %endif diff --git a/system-libjpeg-aarch64.patch b/system-libjpeg-aarch64.patch new file mode 100644 index 0000000..f44d891 --- /dev/null +++ b/system-libjpeg-aarch64.patch @@ -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:=$(DEBUG_ALL_BINARIES))) + +-$(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() { + 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() { + 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() { + 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; diff --git a/system-libpng-aarch64.patch b/system-libpng-aarch64.patch new file mode 100644 index 0000000..0fceb6b --- /dev/null +++ b/system-libpng-aarch64.patch @@ -0,0 +1,83 @@ +diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4 +--- jdk8/common/autoconf/libraries.m4 ++++ jdk8/common/autoconf/libraries.m4 +@@ -566,6 +566,47 @@ + + ############################################################################### + # ++# Check for the png library ++# ++ ++AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng], ++ [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) ++ ++AC_CHECK_LIB(png, png_sig_cmp, ++ [ LIBPNG_FOUND=yes ], ++ [ LIBPNG_FOUND=no ]) ++ ++AC_MSG_CHECKING([for which libpng to use]) ++ ++# default is bundled ++DEFAULT_LIBPNG=bundled ++ ++# ++# if user didn't specify, use DEFAULT_LIBPNG ++# ++if test "x${with_libpng}" = "x"; then ++ with_libpng=${DEFAULT_libpng} ++fi ++ ++ ++if test "x${with_libpng}" = "xbundled"; then ++ USE_EXTERNAL_LIBPNG=false ++ AC_MSG_RESULT([bundled]) ++elif test "x${with_libpng}" = "xsystem"; then ++ if test "x${LIBPNG_FOUND}" = "xyes"; then ++ USE_EXTERNAL_LIBPNG=true ++ AC_MSG_RESULT([system]) ++ else ++ AC_MSG_RESULT([system not found]) ++ AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!]) ++ fi ++else ++ AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled']) ++fi ++AC_SUBST(USE_EXTERNAL_LIBPNG) ++ ++############################################################################### ++# + # Check for the zlib library + # + +diff --git a/makefiles/CompileNativeLibraries.gmk b/makefiles/CompileNativeLibraries.gmk +--- jdk8/jdk/makefiles/CompileNativeLibraries.gmk ++++ jdk8/jdk/makefiles/CompileNativeLibraries.gmk +@@ -2386,7 +2386,6 @@ + ifndef BUILD_HEADLESS_ONLY + LIBSPLASHSCREEN_DIRS:=\ + $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \ +- $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \ + $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen + + ifeq ($(USE_EXTERNAL_LIBGIF),true) +@@ -2457,7 +2456,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) -ljpeg,\ ++ LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS) -ljpeg -lpng,\ + LDFLAGS_SUFFIX_solaris:=-lc,\ + VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ + RC_FLAGS:=$(RC_FLAGS)\ +diff --git a/src/share/native/sun/awt/splashscreen/splashscreen_png.c b/src/share/native/sun/awt/splashscreen/splashscreen_png.c +--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c ++++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c +@@ -25,7 +25,7 @@ + + #include "splashscreen_impl.h" + +-#include "../libpng/png.h" ++#include + + #include +