[java-1.8.0-openjdk] Fix patches for aarch64

Omair Majid omajid at fedoraproject.org
Fri Nov 15 04:17:08 UTC 2013


commit 717abd3e4d8cca133bb33212d61a32ed75b96221
Author: Omair Majid <omajid at redhat.com>
Date:   Thu Nov 14 23:01:02 2013 -0500

    Fix patches for aarch64

 java-1.8.0-openjdk.spec      |    9 +-
 system-libjpeg-aarch64.patch |  207 ++++++++++++++++++++++++++++++++++++++++++
 system-libpng-aarch64.patch  |   83 +++++++++++++++++
 3 files changed, 296 insertions(+), 3 deletions(-)
---
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<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;
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 <png.h>
+ 
+ #include <setjmp.h>
+ 


More information about the scm-commits mailing list