Mercurial > hg > release > icedtea7-2.0
view patches/libraries.patch @ 2445:7ca2cb0df928
Bump to b143.
2011-06-24 Andrew John Hughes <ahughes@redhat.com>
* patches/rmi_amd64.patch:
Removed, upsteam (OpenJDK).
* patches/testenv.patch:
Removed, upstream (IcedTea forest).
* Makefile.am:
(OPENJDK_VERSION): Bumped to b143.
(CORBA_CHANGESET): Updated.
(HOTSPOT_CHANGESET): Likewise.
(JAXP_CHANGESET): Likewise.
(JAXWS_CHANGESET): Likewise.
(JDK_CHANGESET): Likewise.
(LANGTOOLS_CHANGESET): Likewise.
(OPENJDK_CHANGESET): Likewise.
(CORBA_SHA256SUM): Likewise.
(HOTSPOT_SHA256SUM): Likewise.
(JAXP_SHA256SUM): Likewise.
(JAXWS_SHA256SUM): Likewise.
(JDK_SHA256SUM): Likewise.
(LANGTOOLS_SHA256SUM): Likewise.
(OPENJDK_SHA256SUM): Likewise.
(JAXWS_DROP_ZIP): Likewise.
(JAXWS_DROP_SHA256SUM): Likewise.
(JAXP_DROP_ZIP): Likewise.
(JAXP_DROP_SHA256SUM): Likewise.
(ICEDTEA_PATCHES): Drop rmi_amd64 and testenv patch.
* generated/sun/nio/ch/SocketOptionRegistry.java:
Use version from latest build.
* patches/boot/ecj-autoboxing.patch,
* patches/boot/ecj-diamond.patch,
* patches/boot/ecj-multicatch.patch,
* patches/boot/ecj-trywithresources.patch:
Extended with new cases introduced since b136.
* patches/boot/jar.patch:
Recreated against b143.
* patches/boot/revert-6941137.patch:
Updated for b143.
* patches/boot/symbols.patch: Likewise.
* patches/libraries.patch: Likewise.
* patches/linker-libs-order.patch: Likewise.
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Fri, 24 Jun 2011 19:07:40 +0100 |
parents | 1d110524d034 |
children |
line wrap: on
line source
diff -Nru openjdk.orig/jdk/make/com/sun/java/pack/Makefile openjdk/jdk/make/com/sun/java/pack/Makefile --- openjdk.orig/jdk/make/com/sun/java/pack/Makefile 2011-06-11 00:38:06.000000000 +0100 +++ openjdk/jdk/make/com/sun/java/pack/Makefile 2011-06-13 15:12:16.465040427 +0100 @@ -70,12 +70,10 @@ $(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX) - ZINCLUDE=-I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) - OTHER_CXXFLAGS += $(ZINCLUDE) - LDDFLAGS += $(ZIPOBJS) + OTHER_LDLIBS += -lz else OTHER_CXXFLAGS += -DNO_ZLIB -DUNPACK_JNI - OTHER_LDLIBS += $(JVMLIB) + OTHER_LDLIBS += -lz $(JVMLIB) endif CXXFLAGS_DBG += -DFULL @@ -94,12 +92,12 @@ RES = $(OBJDIR)/$(PGRM).res else LDOUTPUT = -o #Have a space - LDDFLAGS += -lc + LDDFLAGS += -lz -lc OTHER_LDLIBS += $(LIBCXX) # setup the list of libraries to link in... ifeq ($(PLATFORM), linux) ifeq ("$(CC_VER_MAJOR)", "3") - OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic + OTHER_LDLIBS += -lz -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic endif endif #LINUX endif #PLATFORM diff -Nru openjdk.orig/jdk/make/common/Program.gmk openjdk/jdk/make/common/Program.gmk --- openjdk.orig/jdk/make/common/Program.gmk 2011-06-11 00:38:06.000000000 +0100 +++ openjdk/jdk/make/common/Program.gmk 2011-06-13 15:12:16.465040427 +0100 @@ -91,6 +91,7 @@ endif endif ifeq ($(PLATFORM), linux) + LDFLAGS += -lz LDFLAGS += $(LDFLAG_Z_ORIGIN) LDFLAGS += -Wl,--allow-shlib-undefined LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli @@ -247,7 +248,6 @@ endif OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin -OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"' VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"' diff -Nru openjdk.orig/jdk/make/java/jli/Makefile openjdk/jdk/make/java/jli/Makefile --- openjdk.orig/jdk/make/java/jli/Makefile 2011-06-11 00:38:06.000000000 +0100 +++ openjdk/jdk/make/java/jli/Makefile 2011-06-13 15:12:16.465040427 +0100 @@ -44,7 +44,6 @@ include $(BUILDDIR)/common/Defs.gmk -ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin @@ -69,13 +68,7 @@ parse_manifest.c \ version_comp.c \ wildcard.c \ - jli_util.c \ - inflate.c \ - inftrees.c \ - inffast.c \ - zadler32.c \ - zcrc32.c \ - zutil.c + jli_util.c ifneq ($(PLATFORM), windows) FILES_c += ergo.c @@ -105,7 +98,7 @@ # Note: its important to keep this order meaning -lc is the # last library otherwise it could cause compatibility issues # by pulling in SUNW_private symbols from libc - LDLIBS = -ldl -lc + LDLIBS = -ldl -lz -lc ifeq ($(USE_PTHREADS),true) LDLIBS += -lpthread endif # USE_PTHREADS @@ -129,7 +122,6 @@ OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC) OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC) -OTHER_INCLUDES += -I$(ZIP_SRC) # # Library to compile. @@ -164,4 +156,4 @@ # # Add to ambient vpath so we pick up the library files # -vpath %.c $(LAUNCHER_SHARE_SRC) $(ZIP_SRC) $(LAUNCHER_PLATFORM_SRC) +vpath %.c $(LAUNCHER_SHARE_SRC) $(LAUNCHER_PLATFORM_SRC) diff -Nru openjdk.orig/jdk/make/java/zip/FILES_c.gmk openjdk/jdk/make/java/zip/FILES_c.gmk --- openjdk.orig/jdk/make/java/zip/FILES_c.gmk 2010-07-29 21:55:27.000000000 +0100 +++ openjdk/jdk/make/java/zip/FILES_c.gmk 2011-06-13 15:12:16.477040613 +0100 @@ -29,16 +29,4 @@ Deflater.c \ Inflater.c \ ZipFile.c \ - zip_util.c \ - compress.c \ - deflate.c \ - gzio.c \ - infback.c \ - inffast.c \ - inflate.c \ - inftrees.c \ - trees.c \ - uncompr.c \ - zadler32.c \ - zcrc32.c \ - zutil.c + zip_util.c diff -Nru openjdk.orig/jdk/make/java/zip/Makefile openjdk/jdk/make/java/zip/Makefile --- openjdk.orig/jdk/make/java/zip/Makefile 2011-06-11 00:38:06.000000000 +0100 +++ openjdk/jdk/make/java/zip/Makefile 2011-06-13 15:12:16.477040613 +0100 @@ -74,16 +74,10 @@ CPPFLAGS += -UDEBUG endif -CPPFLAGS += -I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) CPPFLAGS += -I$(SHARE_SRC)/native/java/io CPPFLAGS += -I$(PLATFORM_SRC)/native/java/io # -# Add to ambient vpath so we pick up the library files -# -vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/zlib-$(ZLIB_VERSION) - -# # Link to JVM library for JVM_Zip* functions # -OTHER_LDLIBS = $(JVMLIB) +OTHER_LDLIBS = $(JVMLIB) -lz diff -Nru openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk openjdk/jdk/make/sun/jpeg/FILES_c.gmk --- openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk 2010-07-29 21:55:29.000000000 +0100 +++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk 2011-06-13 15:12:16.477040613 +0100 @@ -25,51 +25,7 @@ FILES_c = \ imageioJPEG.c \ - jpegdecoder.c \ - jcomapi.c \ - jdapimin.c \ - jdapistd.c \ - jdcoefct.c \ - jdcolor.c \ - jddctmgr.c \ - jdhuff.c \ - jdinput.c \ - jdmainct.c \ - jdmarker.c \ - jdmaster.c \ - jdmerge.c \ - jdphuff.c \ - jdpostct.c \ - jdsample.c \ - jerror.c \ - jidctflt.c \ - jidctfst.c \ - jidctint.c \ - jidctred.c \ - jmemmgr.c \ - jmemnobs.c \ - jquant1.c \ - jquant2.c \ - jutils.c \ - jcapimin.c \ - jcapistd.c \ - jccoefct.c \ - jccolor.c \ - jcdctmgr.c \ - jchuff.c \ - jcinit.c \ - jcmainct.c \ - jcmarker.c \ - jcmaster.c \ - jcparam.c \ - jcphuff.c \ - jcprepct.c \ - jcsample.c \ - jctrans.c \ - jdtrans.c \ - jfdctflt.c \ - jfdctfst.c \ - jfdctint.c + jpegdecoder.c ifndef OPENJDK FILES_c += \ diff -Nru openjdk.orig/jdk/make/sun/jpeg/Makefile openjdk/jdk/make/sun/jpeg/Makefile --- openjdk.orig/jdk/make/sun/jpeg/Makefile 2011-06-11 00:38:07.000000000 +0100 +++ openjdk/jdk/make/sun/jpeg/Makefile 2011-06-13 15:12:16.477040613 +0100 @@ -86,6 +86,8 @@ include $(BUILDDIR)/common/Mapfile-vers.gmk include $(BUILDDIR)/common/Library.gmk +LDLIBS += -ldl + # # Add to ambient vpath to get files in a subdirectory # diff -Nru openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk openjdk/jdk/make/sun/splashscreen/FILES_c.gmk --- openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk 2010-07-29 21:55:29.000000000 +0100 +++ openjdk/jdk/make/sun/splashscreen/FILES_c.gmk 2011-06-13 15:12:16.477040613 +0100 @@ -30,79 +30,5 @@ splashscreen_impl.c \ splashscreen_jpeg.c \ splashscreen_png.c \ - splashscreen_sys.c \ - png.c \ - pngerror.c \ - pngget.c \ - pngmem.c \ - pngpread.c \ - pngread.c \ - pngrio.c \ - pngrtran.c \ - pngrutil.c \ - pngset.c \ - pngtrans.c \ - pngwio.c \ - pngwrite.c \ - pngwtran.c \ - pngwutil.c \ - dgif_lib.c \ - gif_err.c \ - gifalloc.c \ - compress.c \ - deflate.c \ - gzio.c \ - infback.c \ - inffast.c \ - inflate.c \ - inftrees.c \ - trees.c \ - uncompr.c \ - zadler32.c \ - zcrc32.c \ - zutil.c \ - jcomapi.c \ - jdapimin.c \ - jdapistd.c \ - jdcoefct.c \ - jdcolor.c \ - jddctmgr.c \ - jdhuff.c \ - jdinput.c \ - jdmainct.c \ - jdmarker.c \ - jdmaster.c \ - jdmerge.c \ - jdphuff.c \ - jdpostct.c \ - jdsample.c \ - jerror.c \ - jidctflt.c \ - jidctfst.c \ - jidctint.c \ - jidctred.c \ - jmemmgr.c \ - jmemnobs.c \ - jquant1.c \ - jquant2.c \ - jutils.c \ - jcapimin.c \ - jcapistd.c \ - jccoefct.c \ - jccolor.c \ - jcdctmgr.c \ - jchuff.c \ - jcinit.c \ - jcmainct.c \ - jcmarker.c \ - jcmaster.c \ - jcparam.c \ - jcphuff.c \ - jcprepct.c \ - jcsample.c \ - jctrans.c \ - jdtrans.c \ - jfdctflt.c \ - jfdctfst.c \ - jfdctint.c + splashscreen_sys.c diff -Nru openjdk.orig/jdk/make/sun/splashscreen/Makefile openjdk/jdk/make/sun/splashscreen/Makefile --- openjdk.orig/jdk/make/sun/splashscreen/Makefile 2011-06-11 00:38:07.000000000 +0100 +++ openjdk/jdk/make/sun/splashscreen/Makefile 2011-06-13 15:12:16.477040613 +0100 @@ -59,12 +59,12 @@ # C Flags # -CFLAGS += -DSPLASHSCREEN +CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE ifneq ($(PLATFORM), windows) CFLAGS += -DWITH_X11 CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions - OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpthread + OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpng -ljpeg -lgif -lz -lpthread else # PLATFORM CFLAGS += -DWITH_WIN32 OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll @@ -76,14 +76,10 @@ # vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/splashscreen vpath %.c $(SHARE_SRC)/native/$(PKGDIR) -vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/giflib -vpath %.c $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) -vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/libpng vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/jpeg vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen -CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg -I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) # Shun the less than portable MMX assembly code in pnggccrd.c, # and use alternative implementations in C. diff -Nru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h --- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2010-07-29 21:56:11.000000000 +0100 +++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2011-06-13 15:12:16.477040613 +0100 @@ -89,11 +89,7 @@ // bytes and byte arrays typedef unsigned int uint; -#ifdef _LP64 -typedef unsigned int uLong; // Historical zlib, should be 32-bit. -#else typedef unsigned long uLong; -#endif #ifdef _MSC_VER typedef LONGLONG jlong; typedef DWORDLONG julong; diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c openjdk/jdk/src/share/native/java/util/zip/Adler32.c --- openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c 2010-07-29 21:56:11.000000000 +0100 +++ openjdk/jdk/src/share/native/java/util/zip/Adler32.c 2011-06-13 15:12:16.477040613 +0100 @@ -29,7 +29,7 @@ #include "jni.h" #include "jni_util.h" -#include "zlib.h" +#include <zlib.h> #include "java_util_zip_Adler32.h" diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c openjdk/jdk/src/share/native/java/util/zip/CRC32.c --- openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c 2010-07-29 21:56:11.000000000 +0100 +++ openjdk/jdk/src/share/native/java/util/zip/CRC32.c 2011-06-13 15:12:16.477040613 +0100 @@ -29,7 +29,7 @@ #include "jni.h" #include "jni_util.h" -#include "zlib.h" +#include <zlib.h> #include "java_util_zip_CRC32.h" diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c openjdk/jdk/src/share/native/java/util/zip/Deflater.c --- openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c 2011-06-11 00:38:12.000000000 +0100 +++ openjdk/jdk/src/share/native/java/util/zip/Deflater.c 2011-06-13 15:12:16.481040676 +0100 @@ -32,7 +32,7 @@ #include "jlong.h" #include "jni.h" #include "jni_util.h" -#include "zlib.h" +#include <zlib.h> #include "java_util_zip_Deflater.h" diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c openjdk/jdk/src/share/native/java/util/zip/Inflater.c --- openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c 2011-06-11 00:38:12.000000000 +0100 +++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c 2011-06-13 15:12:16.481040676 +0100 @@ -35,7 +35,7 @@ #include "jni.h" #include "jvm.h" #include "jni_util.h" -#include "zlib.h" +#include <zlib.h> #include "java_util_zip_Inflater.h" #define ThrowDataFormatException(env, msg) \ diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c openjdk/jdk/src/share/native/java/util/zip/zip_util.c --- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c 2011-03-14 22:10:33.000000000 +0000 +++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c 2011-06-13 15:12:16.481040676 +0100 @@ -44,7 +44,8 @@ #include "io_util.h" #include "io_util_md.h" #include "zip_util.h" -#include "zlib.h" + +#include <zlib.h> /* USE_MMAP means mmap the CEN & ENDHDR part of the zip file. */ #ifdef USE_MMAP diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c --- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2011-06-11 00:38:12.000000000 +0100 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2011-06-13 15:12:16.481040676 +0100 @@ -51,7 +51,9 @@ /* headers from the JPEG library */ #include <jpeglib.h> -#include "jerror.h" +#include <jerror.h> + +#include <dlfcn.h> #undef MAX #define MAX(a,b) ((a) > (b) ? (a) : (b)) @@ -75,6 +77,62 @@ static jfieldID JPEGHuffmanTable_lengthsID; static jfieldID JPEGHuffmanTable_valuesID; +static void initIDs(); + +typedef struct jpeg_error_mgr * (*fn_jpegstderror)(struct jpeg_error_mgr *); +typedef boolean (*fn_jpegresynctorestart)(j_decompress_ptr, int); +typedef JDIMENSION (*fn_jpegreadscanlines)(j_decompress_ptr, JSAMPARRAY, JDIMENSION); +typedef boolean (*fn_jpegfinishoutput)(j_decompress_ptr); +typedef int (*fn_jpegreadheader)(j_decompress_ptr, boolean); +typedef boolean (*fn_jpegstartdecompress)(j_decompress_ptr); +typedef boolean (*fn_jpeghasmultiplescans)(j_decompress_ptr); +typedef boolean (*fn_jpegfinishdecompress)(j_decompress_ptr); +typedef boolean (*fn_jpegstartoutput)(j_decompress_ptr, int); +typedef void (*fn_jpegabort)(j_common_ptr); +typedef void (*fn_jpegabortdecompress)(j_decompress_ptr); +typedef JHUFF_TBL * (*fn_jpegallochufftable)(j_common_ptr); +typedef JQUANT_TBL * (*fn_jpegallocquanttable)(j_common_ptr); +typedef void (*fn_jpegcreatecompress)(j_compress_ptr, int, size_t); +typedef void (*fn_jpegcreatedecompress)(j_decompress_ptr, int, size_t); +typedef void (*fn_jpegdestroy)(j_common_ptr); +typedef void (*fn_jpegfinishcompress)(j_compress_ptr); +typedef boolean (*fn_jpeginputcomplete)(j_decompress_ptr); +typedef void (*fn_jpegsavemarkers)(j_decompress_ptr, int, unsigned int); +typedef void (*fn_jpegsetcolorspace)(j_compress_ptr, J_COLOR_SPACE); +typedef void (*fn_jpegsetdefaults)(j_compress_ptr); +typedef void (*fn_jpegsimpleprogression)(j_compress_ptr); +typedef void (*fn_jpegstartcompress)(j_compress_ptr, boolean); +typedef void (*fn_jpegsuppresstables)(j_compress_ptr, boolean); +typedef JDIMENSION (*fn_jpegwritescanlines)(j_compress_ptr, JSAMPARRAY, JDIMENSION); +typedef void (*fn_jpegwritetables)(j_compress_ptr); + +fn_jpegabort jpegabort; +fn_jpegabortdecompress jpegabortdecompress; +fn_jpegallochufftable jpegallochufftable; +fn_jpegallocquanttable jpegallocquanttable; +fn_jpegcreatecompress jpegcreatecompress; +fn_jpegcreatedecompress jpegcreatedecompress; +fn_jpegdestroy jpegdestroy; +fn_jpegfinishcompress jpegfinishcompress; +fn_jpeginputcomplete jpeginputcomplete; +fn_jpegsavemarkers jpegsavemarkers; +fn_jpegsetcolorspace jpegsetcolorspace; +fn_jpegsetdefaults jpegsetdefaults; +fn_jpegsimpleprogression jpegsimpleprogression; +fn_jpegstartcompress jpegstartcompress; +fn_jpegsuppresstables jpegsuppresstables; +fn_jpegwritescanlines jpegwritescanlines; +fn_jpegwritetables jpegwritetables; +fn_jpegstderror jpegstderror; +fn_jpegstartoutput jpegstartoutput; +fn_jpegfinishdecompress jpegfinishdecompress; +fn_jpeghasmultiplescans jpeghasmultiplescans; +fn_jpegstartdecompress jpegstartdecompress; +fn_jpegreadheader jpegreadheader; +fn_jpegfinishoutput jpegfinishoutput; +fn_jpegreadscanlines jpegreadscanlines; +fn_jpegresynctorestart jpegresynctorestart; + /* * Defined in jpegdecoder.c. Copy code from there if and * when that disappears. */ @@ -608,7 +666,7 @@ return; } - jpeg_abort(cinfo); // Frees any markers, but not tables + jpegabort(cinfo); // Frees any markers, but not tables } @@ -633,7 +691,7 @@ return; } - jpeg_abort(cinfo); // Does not reset tables + jpegabort(cinfo); // Does not reset tables } @@ -651,7 +709,7 @@ free(cinfo->dest); cinfo->dest = NULL; } - jpeg_destroy(info); + jpegdestroy(info); free(info); } } @@ -691,14 +749,14 @@ decomp = (j_decompress_ptr) cinfo; if (decomp->quant_tbl_ptrs[i] == NULL) { decomp->quant_tbl_ptrs[i] = - jpeg_alloc_quant_table(cinfo); + jpegallocquanttable(cinfo); } quant_ptr = decomp->quant_tbl_ptrs[i]; } else { comp = (j_compress_ptr) cinfo; if (comp->quant_tbl_ptrs[i] == NULL) { comp->quant_tbl_ptrs[i] = - jpeg_alloc_quant_table(cinfo); + jpegallocquanttable(cinfo); } quant_ptr = comp->quant_tbl_ptrs[i]; } @@ -789,14 +847,14 @@ decomp = (j_decompress_ptr) cinfo; if (decomp->dc_huff_tbl_ptrs[i] == NULL) { decomp->dc_huff_tbl_ptrs[i] = - jpeg_alloc_huff_table(cinfo); + jpegallochufftable(cinfo); } huff_ptr = decomp->dc_huff_tbl_ptrs[i]; } else { comp = (j_compress_ptr) cinfo; if (comp->dc_huff_tbl_ptrs[i] == NULL) { comp->dc_huff_tbl_ptrs[i] = - jpeg_alloc_huff_table(cinfo); + jpegallochufftable(cinfo); } huff_ptr = comp->dc_huff_tbl_ptrs[i]; } @@ -814,14 +872,14 @@ decomp = (j_decompress_ptr) cinfo; if (decomp->ac_huff_tbl_ptrs[i] == NULL) { decomp->ac_huff_tbl_ptrs[i] = - jpeg_alloc_huff_table(cinfo); + jpegallochufftable(cinfo); } huff_ptr = decomp->ac_huff_tbl_ptrs[i]; } else { comp = (j_compress_ptr) cinfo; if (comp->ac_huff_tbl_ptrs[i] == NULL) { comp->ac_huff_tbl_ptrs[i] = - jpeg_alloc_huff_table(cinfo); + jpegallochufftable(cinfo); } huff_ptr = comp->ac_huff_tbl_ptrs[i]; } @@ -1381,6 +1439,8 @@ jclass ImageInputStreamClass, jclass qTableClass, jclass huffClass) { + + initIDs(); ImageInputStream_readID = (*env)->GetMethodID(env, ImageInputStreamClass, @@ -1467,7 +1527,7 @@ } /* We set up the normal JPEG error routines, then override error_exit. */ - cinfo->err = jpeg_std_error(&(jerr->pub)); + cinfo->err = jpegstderror(&(jerr->pub)); jerr->pub.error_exit = sun_jpeg_error_exit; /* We need to setup our own print routines */ jerr->pub.output_message = sun_jpeg_output_message; @@ -1484,11 +1544,11 @@ } /* Perform library initialization */ - jpeg_create_decompress(cinfo); + jpegcreatedecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct jpeg_decompress_struct)); // Set up to keep any APP2 markers, as these might contain ICC profile // data - jpeg_save_markers(cinfo, ICC_MARKER, 0xFFFF); + jpegsavemarkers(cinfo, ICC_MARKER, 0xFFFF); /* * Now set up our source. @@ -1507,7 +1567,7 @@ cinfo->src->init_source = imageio_init_source; cinfo->src->fill_input_buffer = imageio_fill_input_buffer; cinfo->src->skip_input_data = imageio_skip_input_data; - cinfo->src->resync_to_restart = jpeg_resync_to_restart; // use default + cinfo->src->resync_to_restart = jpegresynctorestart; // use default cinfo->src->term_source = imageio_term_source; /* set up the association to persist for future calls */ @@ -1627,7 +1687,7 @@ src->bytes_in_buffer = 0; } - ret = jpeg_read_header(cinfo, FALSE); + ret = jpegreadheader(cinfo, FALSE); if (ret == JPEG_HEADER_TABLES_ONLY) { retval = JNI_TRUE; @@ -1756,7 +1816,7 @@ cinfo->num_components, profileData); if (reset) { - jpeg_abort_decompress(cinfo); + jpegabortdecompress(cinfo); } } @@ -1951,7 +2011,7 @@ TRUE); } - progressive = jpeg_has_multiple_scans(cinfo); + progressive = jpeghasmultiplescans(cinfo); if (progressive) { cinfo->buffered_image = TRUE; cinfo->input_scan_number = minProgressivePass+1; // Java count from 0 @@ -1963,7 +2023,7 @@ data->streamBuf.suspendable = FALSE; - jpeg_start_decompress(cinfo); + jpegstartdecompress(cinfo); if (numBands != cinfo->output_components) { JNU_ThrowByName(env, "javax/imageio/IIOException", @@ -1988,7 +2048,7 @@ if (progressive) { // initialize the next pass. Note that this skips up to // the first interesting pass. - jpeg_start_output(cinfo, cinfo->input_scan_number); + jpegstartoutput(cinfo, cinfo->input_scan_number); if (wantUpdates) { (*env)->CallVoidMethod(env, this, JPEGImageReader_passStartedID, @@ -2004,7 +2064,7 @@ // Skip until the first interesting line while ((data->abortFlag == JNI_FALSE) && ((jint)cinfo->output_scanline < sourceYStart)) { - jpeg_read_scanlines(cinfo, &scanLinePtr, 1); + jpegreadscanlines(cinfo, &scanLinePtr, 1); } scanlineLimit = sourceYStart+sourceHeight; @@ -2017,7 +2077,7 @@ while ((data->abortFlag == JNI_FALSE) && ((jint)cinfo->output_scanline < scanlineLimit)) { - jpeg_read_scanlines(cinfo, &scanLinePtr, 1); + jpegreadscanlines(cinfo, &scanLinePtr, 1); // Now mangle it into our buffer out = data->pixelBuf.buf.bp; @@ -2072,13 +2132,13 @@ skipLines = linesLeft; } for(i = 0; i < skipLines; i++) { - jpeg_read_scanlines(cinfo, &scanLinePtr, 1); + jpegreadscanlines(cinfo, &scanLinePtr, 1); } } if (progressive) { - jpeg_finish_output(cinfo); // Increments pass counter + jpegfinishoutput(cinfo); // Increments pass counter // Call Java to notify pass complete - if (jpeg_input_complete(cinfo) + if (jpeginputcomplete(cinfo) || (cinfo->input_scan_number > maxProgressivePass)) { done = TRUE; } @@ -2098,9 +2158,9 @@ if (cinfo->output_scanline == cinfo->output_height) { // if ((cinfo->output_scanline == cinfo->output_height) && //(jpeg_input_complete(cinfo))) { // We read the whole file - jpeg_finish_decompress(cinfo); + jpegfinishdecompress(cinfo); } else { - jpeg_abort_decompress(cinfo); + jpegabortdecompress(cinfo); } free(scanLinePtr); @@ -2146,7 +2206,7 @@ cinfo = (j_decompress_ptr) data->jpegObj; - jpeg_abort_decompress(cinfo); + jpegabortdecompress(cinfo); } @@ -2352,6 +2412,150 @@ /********************** end of destination manager ************/ +METHODDEF(void) +initIDs() +{ +#if JPEG_LIB_VERSION >= 80 + void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); +#else +#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); +#else + void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); +#endif +#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { + dlclose(handle); + } + + jpegreadheader = (fn_jpegreadheader)dlsym(handle, "jpeg_read_header"); + if (jpegreadheader == NULL) { + dlclose(handle); + } + + jpeghasmultiplescans = (fn_jpeghasmultiplescans)dlsym(handle, "jpeg_has_multiple_scans"); + if (jpeghasmultiplescans == NULL) { + dlclose(handle); + } + + jpegstartdecompress = (fn_jpegstartdecompress)dlsym(handle, "jpeg_start_decompress"); + if (jpegstartdecompress == NULL) { + dlclose(handle); + } + + jpegstartoutput = (fn_jpegstartoutput)dlsym(handle, "jpeg_start_output"); + if (jpegstartoutput == NULL) { + dlclose(handle); + } + + jpegfinishdecompress = (fn_jpegfinishdecompress)dlsym(handle, "jpeg_finish_decompress"); + if (jpegfinishdecompress == NULL) { + dlclose(handle); + } + + jpegreadscanlines = (fn_jpegreadscanlines)dlsym(handle, "jpeg_read_scanlines"); + if (jpegreadscanlines == NULL) { + dlclose(handle); + } + + jpegfinishoutput = (fn_jpegfinishoutput)dlsym(handle, "jpeg_finish_output"); + if (jpegfinishoutput == NULL) { + dlclose(handle); + } + + jpegresynctorestart = (fn_jpegresynctorestart)dlsym(handle, "jpeg_resync_to_restart"); + if (jpegresynctorestart == NULL) { + dlclose(handle); + } + + jpegabort = (fn_jpegabort)dlsym(handle, "jpeg_abort"); + if (jpegabort == NULL) { + dlclose(handle); + } + + jpegabortdecompress = (fn_jpegabortdecompress)dlsym(handle, "jpeg_abort_decompress"); + if (jpegabortdecompress == NULL) { + dlclose(handle); + } + + jpegallochufftable = (fn_jpegallochufftable)dlsym(handle, "jpeg_alloc_huff_table"); + if (jpegallochufftable == NULL) { + dlclose(handle); + } + + jpegallocquanttable = (fn_jpegallocquanttable)dlsym(handle, "jpeg_alloc_quant_table"); + if (jpegallocquanttable == NULL) { + dlclose(handle); + } + + jpegcreatecompress = (fn_jpegcreatecompress)dlsym(handle, "jpeg_CreateCompress"); + if (jpegcreatecompress == NULL) { + dlclose(handle); + } + + jpegcreatedecompress = (fn_jpegcreatedecompress)dlsym(handle, "jpeg_CreateDecompress"); + if (jpegcreatedecompress == NULL) { + dlclose(handle); + } + + jpegdestroy = (fn_jpegdestroy)dlsym(handle, "jpeg_destroy"); + if (jpegdestroy == NULL) { + dlclose(handle); + } + + jpegfinishcompress = (fn_jpegfinishcompress)dlsym(handle, "jpeg_finish_compress"); + if (jpegfinishcompress == NULL) { + dlclose(handle); + } + + jpeginputcomplete = (fn_jpeginputcomplete)dlsym(handle, "jpeg_input_complete"); + if (jpeginputcomplete == NULL) { + dlclose(handle); + } + + jpegsavemarkers = (fn_jpegsavemarkers)dlsym(handle, "jpeg_save_markers"); + if (jpegsavemarkers == NULL) { + dlclose(handle); + } + + jpegsetcolorspace = (fn_jpegsetcolorspace)dlsym(handle, "jpeg_set_colorspace"); + if (jpegsetcolorspace == NULL) { + dlclose(handle); + } + + jpegsetdefaults = (fn_jpegsetdefaults)dlsym(handle, "jpeg_set_defaults"); + if (jpegsetdefaults == NULL) { + dlclose(handle); + } + + jpegsimpleprogression = (fn_jpegsimpleprogression)dlsym(handle, "jpeg_simple_progression"); + if (jpegsimpleprogression == NULL) { + dlclose(handle); + } + + jpegstartcompress = (fn_jpegstartcompress)dlsym(handle, "jpeg_start_compress"); + if (jpegstartcompress == NULL) { + dlclose(handle); + } + + jpegsuppresstables = (fn_jpegsuppresstables)dlsym(handle, "jpeg_suppress_tables"); + if (jpegsuppresstables == NULL) { + dlclose(handle); + } + + jpegwritescanlines = (fn_jpegwritescanlines)dlsym(handle, "jpeg_write_scanlines"); + if (jpegwritescanlines == NULL) { + dlclose(handle); + } + + jpegwritetables = (fn_jpegwritetables)dlsym(handle, "jpeg_write_tables"); + if (jpegwritetables == NULL) { + dlclose(handle); + } +} + /********************** Writer JNI calls **********************/ @@ -2363,6 +2567,8 @@ jclass qTableClass, jclass huffClass) { + initIDs(); + ImageOutputStream_writeID = (*env)->GetMethodID(env, IOSClass, "write", @@ -2436,7 +2642,7 @@ } /* We set up the normal JPEG error routines, then override error_exit. */ - cinfo->err = jpeg_std_error(&(jerr->pub)); + cinfo->err = jpegstderror(&(jerr->pub)); jerr->pub.error_exit = sun_jpeg_error_exit; /* We need to setup our own print routines */ jerr->pub.output_message = sun_jpeg_output_message; @@ -2453,7 +2659,7 @@ } /* Perform library initialization */ - jpeg_create_compress(cinfo); + jpegcreatecompress(cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct jpeg_compress_struct)); /* Now set up the destination */ dest = malloc(sizeof(struct jpeg_destination_mgr)); @@ -2560,7 +2766,7 @@ return; } - jpeg_suppress_tables(cinfo, TRUE); // Suppress writing of any current + jpegsuppresstables(cinfo, TRUE); // Suppress writing of any current data->streamBuf.suspendable = FALSE; if (qtables != NULL) { @@ -2575,7 +2781,7 @@ DCHuffmanTables, ACHuffmanTables, TRUE); } - jpeg_write_tables(cinfo); // Flushes the buffer for you + jpegwritetables(cinfo); // Flushes the buffer for you RELEASE_ARRAYS(env, data, NULL); } @@ -2758,9 +2964,9 @@ cinfo->input_components = numBands; cinfo->in_color_space = inCs; - jpeg_set_defaults(cinfo); + jpegsetdefaults(cinfo); - jpeg_set_colorspace(cinfo, outCs); + jpegsetcolorspace(cinfo, outCs); cinfo->optimize_coding = optimize; @@ -2797,7 +3003,7 @@ (*env)->ReleaseIntArrayElements(env, QtableSelectors, qsels, JNI_ABORT); - jpeg_suppress_tables(cinfo, TRUE); // Disable writing any current + jpegsuppresstables(cinfo, TRUE); // Disable writing any current qlen = setQTables(env, (j_common_ptr) cinfo, qtables, writeDQT); @@ -2822,7 +3028,7 @@ if (progressive) { if (numScans == 0) { // then use default scans - jpeg_simple_progression(cinfo); + jpegsimpleprogression(cinfo); } else { cinfo->num_scans = numScans; // Copy the scanInfo to a local array @@ -2864,7 +3070,7 @@ #endif // start the compressor; tables must already be set - jpeg_start_compress(cinfo, FALSE); // Leaves sent_table alone + jpegstartcompress(cinfo, FALSE); // Leaves sent_table alone if (haveMetadata) { // Flush the buffer @@ -2927,7 +3133,7 @@ } } // write it out - jpeg_write_scanlines(cinfo, (JSAMPARRAY)&scanLinePtr, 1); + jpegwritescanlines(cinfo, (JSAMPARRAY)&scanLinePtr, 1); targetLine += stepY; } @@ -2936,9 +3142,9 @@ * so use jpeg_abort instead of jpeg_finish_compress. */ if (cinfo->next_scanline == cinfo->image_height) { - jpeg_finish_compress(cinfo); // Flushes buffer with term_dest + jpegfinishcompress(cinfo); // Flushes buffer with term_dest } else { - jpeg_abort((j_common_ptr)cinfo); + jpegabort((j_common_ptr)cinfo); } if (scale != NULL) { diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c --- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c 2011-06-11 00:38:12.000000000 +0100 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c 2011-06-13 15:12:16.481040676 +0100 @@ -45,7 +45,9 @@ #undef boolean #undef FAR #include <jpeglib.h> -#include "jerror.h" +#include <jerror.h> +#include <dlfcn.h> + /* The method IDs we cache. Note that the last two belongs to the * java.io.InputStream class. @@ -56,6 +58,32 @@ static jmethodID InputStream_readID; static jmethodID InputStream_availableID; +typedef struct jpeg_error_mgr * (*fn_jpegstderror)(struct jpeg_error_mgr *); +typedef void (*fn_jpegcreatedecompress)(j_decompress_ptr, int, size_t); +typedef boolean (*fn_jpegresynctorestart)(j_decompress_ptr, int); +typedef JDIMENSION (*fn_jpegreadscanlines)(j_decompress_ptr, JSAMPARRAY, JDIMENSION); +typedef boolean (*fn_jpegfinishoutput)(j_decompress_ptr); +typedef int (*fn_jpegreadheader)(j_decompress_ptr, boolean); +typedef boolean (*fn_jpegstartdecompress)(j_decompress_ptr); +typedef boolean (*fn_jpeghasmultiplescans)(j_decompress_ptr); +typedef void (*fn_jpegdestroydecompress)(j_decompress_ptr); +typedef int (*fn_jpegconsumeinput)(j_decompress_ptr); +typedef boolean (*fn_jpegfinishdecompress)(j_decompress_ptr); +typedef boolean (*fn_jpegstartoutput)(j_decompress_ptr, int); + +fn_jpegstderror jpegstderror; +fn_jpegstartoutput jpegstartoutput; +fn_jpegfinishdecompress jpegfinishdecompress; +fn_jpegconsumeinput jpegconsumeinput; +fn_jpegdestroydecompress jpegdestroydecompress; +fn_jpeghasmultiplescans jpeghasmultiplescans; +fn_jpegstartdecompress jpegstartdecompress; +fn_jpegreadheader jpegreadheader; +fn_jpegfinishoutput jpegfinishoutput; +fn_jpegreadscanlines jpegreadscanlines; +fn_jpegresynctorestart jpegresynctorestart; +fn_jpegcreatedecompress jpegcreatedecompress; + /* Initialize the Java VM instance variable when the library is first loaded */ JavaVM *jvm; @@ -462,6 +490,76 @@ Java_sun_awt_image_JPEGImageDecoder_initIDs(JNIEnv *env, jclass cls, jclass InputStreamClass) { +#if JPEG_LIB_VERSION >= 80 + void *handle = dlopen("libjpeg.so.8", RTLD_LAZY | RTLD_GLOBAL); +#else +#if JPEG_LIB_VERSION >= 70 + void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); +#else + void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); +#endif +#endif + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { + dlclose(handle); + } + + jpegdestroydecompress = (fn_jpegdestroydecompress)dlsym(handle, "jpeg_destroy_decompress"); + if (jpegdestroydecompress == NULL) { + dlclose(handle); + } + + jpegcreatedecompress = (fn_jpegcreatedecompress)dlsym(handle, "jpeg_CreateDecompress"); + if (jpegcreatedecompress == NULL) { + dlclose(handle); + } + + jpegreadheader = (fn_jpegreadheader)dlsym(handle, "jpeg_read_header"); + if (jpegreadheader == NULL) { + dlclose(handle); + } + + jpeghasmultiplescans = (fn_jpeghasmultiplescans)dlsym(handle, "jpeg_has_multiple_scans"); + if (jpeghasmultiplescans == NULL) { + dlclose(handle); + } + + jpegstartdecompress = (fn_jpegstartdecompress)dlsym(handle, "jpeg_start_decompress"); + if (jpegstartdecompress == NULL) { + dlclose(handle); + } + + jpegconsumeinput = (fn_jpegconsumeinput)dlsym(handle, "jpeg_consume_input"); + if (jpegconsumeinput == NULL) { + dlclose(handle); + } + + jpegstartoutput = (fn_jpegstartoutput)dlsym(handle, "jpeg_start_output"); + if (jpegstartoutput == NULL) { + dlclose(handle); + } + + jpegfinishdecompress = (fn_jpegfinishdecompress)dlsym(handle, "jpeg_finish_decompress"); + if (jpegfinishdecompress == NULL) { + dlclose(handle); + } + + jpegreadscanlines = (fn_jpegreadscanlines)dlsym(handle, "jpeg_read_scanlines"); + if (jpegreadscanlines == NULL) { + dlclose(handle); + } + + jpegfinishoutput = (fn_jpegfinishoutput)dlsym(handle, "jpeg_finish_output"); + if (jpegfinishoutput == NULL) { + dlclose(handle); + } + + jpegresynctorestart = (fn_jpegresynctorestart)dlsym(handle, "jpeg_resync_to_restart"); + if (jpegresynctorestart == NULL) { + dlclose(handle); + } + sendHeaderInfoID = (*env)->GetMethodID(env, cls, "sendHeaderInfo", "(IIZZZ)Z"); sendPixelsByteID = (*env)->GetMethodID(env, cls, "sendPixels", "([BI)Z"); @@ -519,7 +617,7 @@ /* Step 1: allocate and initialize JPEG decompression object */ /* We set up the normal JPEG error routines, then override error_exit. */ - cinfo.err = jpeg_std_error(&jerr.pub); + cinfo.err = jpegstderror(&jerr.pub); jerr.pub.error_exit = sun_jpeg_error_exit; /* We need to setup our own print routines */ @@ -530,7 +628,7 @@ /* If we get here, the JPEG code has signaled an error. * We need to clean up the JPEG object, close the input file, and return. */ - jpeg_destroy_decompress(&cinfo); + jpegdestroydecompress(&cinfo); RELEASE_ARRAYS(env, &jsrc); if (!(*env)->ExceptionOccurred(env)) { char buffer[JMSG_LENGTH_MAX]; @@ -541,7 +639,7 @@ return; } /* Now we can initialize the JPEG decompression object. */ - jpeg_create_decompress(&cinfo); + jpegcreatedecompress(&cinfo, JPEG_LIB_VERSION, (size_t) sizeof(struct jpeg_decompress_struct)); /* Step 2: specify data source (eg, a file) */ @@ -555,17 +653,17 @@ jsrc.pub.init_source = sun_jpeg_init_source; jsrc.pub.fill_input_buffer = sun_jpeg_fill_input_buffer; jsrc.pub.skip_input_data = sun_jpeg_skip_input_data; - jsrc.pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ + jsrc.pub.resync_to_restart = jpegresynctorestart; /* use default method */ jsrc.pub.term_source = sun_jpeg_term_source; if (!GET_ARRAYS(env, &jsrc)) { - jpeg_destroy_decompress(&cinfo); + jpegdestroydecompress(&cinfo); return; } /* Step 3: read file parameters with jpeg_read_header() */ - (void) jpeg_read_header(&cinfo, TRUE); + (void) jpegreadheader(&cinfo, TRUE); /* select buffered-image mode if it is a progressive JPEG only */ - buffered_mode = cinfo.buffered_image = jpeg_has_multiple_scans(&cinfo); + buffered_mode = cinfo.buffered_image = jpeghasmultiplescans(&cinfo); grayscale = (cinfo.out_color_space == JCS_GRAYSCALE); #ifdef YCCALPHA hasalpha = (cinfo.out_color_space == JCS_RGBA); @@ -584,7 +682,7 @@ grayscale, hasalpha, buffered_mode); if ((*env)->ExceptionOccurred(env) || !ret) { /* No more interest in this image... */ - jpeg_destroy_decompress(&cinfo); + jpegdestroydecompress(&cinfo); return; } /* Make a one-row-high sample array with enough room to expand to ints */ @@ -595,7 +693,7 @@ } if (jsrc.hOutputBuffer == 0 || !GET_ARRAYS(env, &jsrc)) { - jpeg_destroy_decompress(&cinfo); + jpegdestroydecompress(&cinfo); return; } @@ -613,7 +711,7 @@ /* Step 5: Start decompressor */ - jpeg_start_decompress(&cinfo); + jpegstartdecompress(&cinfo); /* We may need to do some setup of our own at this point before reading * the data. After jpeg_start_decompress() we have the correct scaled @@ -638,28 +736,28 @@ do { sun_jpeg_fill_suspended_buffer(&cinfo); jsrc.suspendable = TRUE; - ret = jpeg_consume_input(&cinfo); + ret = jpegconsumeinput(&cinfo); jsrc.suspendable = FALSE; } while (ret != JPEG_SUSPENDED && ret != JPEG_REACHED_EOI); if (ret == JPEG_REACHED_EOI) { final_pass = TRUE; cinfo.dct_method = JDCT_ISLOW; } - jpeg_start_output(&cinfo, cinfo.input_scan_number); + jpegstartoutput(&cinfo, cinfo.input_scan_number); } while (cinfo.output_scanline < cinfo.output_height) { if (! final_pass) { do { sun_jpeg_fill_suspended_buffer(&cinfo); jsrc.suspendable = TRUE; - ret = jpeg_consume_input(&cinfo); + ret = jpegconsumeinput(&cinfo); jsrc.suspendable = FALSE; } while (ret != JPEG_SUSPENDED && ret != JPEG_REACHED_EOI); if (ret == JPEG_REACHED_EOI) { break; } } - (void) jpeg_read_scanlines(&cinfo, (JSAMPARRAY) &(jsrc.outbuf), 1); + (void) jpegreadscanlines(&cinfo, (JSAMPARRAY) &(jsrc.outbuf), 1); if (grayscale) { RELEASE_ARRAYS(env, &jsrc); @@ -695,18 +793,18 @@ if ((*env)->ExceptionOccurred(env) || !ret || !GET_ARRAYS(env, &jsrc)) { /* No more interest in this image... */ - jpeg_destroy_decompress(&cinfo); + jpegdestroydecompress(&cinfo); return; } } if (buffered_mode) { - jpeg_finish_output(&cinfo); + jpegfinishoutput(&cinfo); } } while (! final_pass); /* Step 7: Finish decompression */ - (void) jpeg_finish_decompress(&cinfo); + (void) jpegfinishdecompress(&cinfo); /* We can ignore the return value since suspension is not possible * with the stdio data source. * (nor with the Java data source) @@ -715,7 +813,7 @@ /* Step 8: Release JPEG decompression object */ /* This is an important step since it will release a good deal of memory. */ - jpeg_destroy_decompress(&cinfo); + jpegdestroydecompress(&cinfo); /* After finish_decompress, we can close the input file. * Here we postpone it until after no more JPEG errors are possible, diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c --- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c 2011-03-14 22:10:33.000000000 +0000 +++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c 2011-06-13 15:12:16.481040676 +0100 @@ -26,7 +26,7 @@ #include "splashscreen_impl.h" #include "splashscreen_gfx.h" -#include "../giflib/gif_lib.h" +#include <gif_lib.h> #define GIF_TRANSPARENT 0x01 #define GIF_USER_INPUT 0x02 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c --- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2010-07-29 21:56:12.000000000 +0100 +++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2011-06-13 15:12:16.481040676 +0100 @@ -25,9 +25,8 @@ #include "splashscreen_impl.h" -#include "jinclude.h" -#include "jpeglib.h" -#include "jerror.h" +#include <jpeglib.h> +#include <jerror.h> #include <setjmp.h> @@ -105,13 +104,9 @@ stream_src_ptr src; 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)); - src = (stream_src_ptr) cinfo->src; - src->buffer = (JOCTET *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, - JPOOL_PERMANENT, INPUT_BUF_SIZE * SIZEOF(JOCTET)); + cinfo->src = (struct jpeg_source_mgr *)(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, 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)); } src = (stream_src_ptr) cinfo->src; diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c --- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2011-03-14 22:10:33.000000000 +0000 +++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2011-06-13 15:12:16.481040676 +0100 @@ -25,7 +25,7 @@ #include "splashscreen_impl.h" -#include "../libpng/png.h" +#include <png.h> #include <setjmp.h>