Mercurial > hg > release > icedtea6-1.7
changeset 1037:16c322628d9f
2008-09-12 Matthias Klose <doko@ubuntu.com>
* fsg.sh: Update for b12 code drop.
* Makefile.am, NEWS: Update for b12.
* patches/icedtea-LCMS-setTagData.patch: Remove, applied upstream.
* patches/icedtea-color-createcontext.patch: Likewise.
* patches/icedtea-hotspot-citypeflow.patch: Likewise.
* patches/icedtea-hotspot-gcc-pr36917.patch: Likewise.
* patches/icedtea-lcms-leak.patch: Likewise.
* patches/icedtea-corba.patch: Likewise.
* patches/icedtea-gervill.patch: Likewise.
* patches/icedtea-directaudio-close-trick.patch: Likewise.
* patches/icedtea-generated.patch: Remove, obsolete.
* patches/icedtea-version.patch: Update.
* patches/icedtea-ecj.patch: Update.
* patches/icedtea-javafiles.patch: Regenerate.
* HACKING: Update for b12.
author | doko@ubuntu.com |
---|---|
date | Fri, 12 Sep 2008 22:35:46 +0200 |
parents | 8306580ee906 |
children | a26c5e78d8f4 |
files | ChangeLog HACKING Makefile.am NEWS fsg.sh patches/icedtea-LCMS-setTagData.patch patches/icedtea-color-createcontext.patch patches/icedtea-corba.patch patches/icedtea-directaudio-close-trick.patch patches/icedtea-ecj.patch patches/icedtea-generated.patch patches/icedtea-gervill.patch patches/icedtea-hotspot-citypeflow.patch patches/icedtea-hotspot-gcc-pr36917.patch patches/icedtea-javafiles.patch patches/icedtea-lcms-leak.patch patches/icedtea-version.patch |
diffstat | 17 files changed, 71 insertions(+), 768 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Sep 12 15:20:06 2008 +0100 +++ b/ChangeLog Fri Sep 12 22:35:46 2008 +0200 @@ -1,3 +1,21 @@ +2008-09-12 Matthias Klose <doko@ubuntu.com> + + * fsg.sh: Update for b12 code drop. + * Makefile.am, NEWS: Update for b12. + * patches/icedtea-LCMS-setTagData.patch: Remove, applied upstream. + * patches/icedtea-color-createcontext.patch: Likewise. + * patches/icedtea-hotspot-citypeflow.patch: Likewise. + * patches/icedtea-hotspot-gcc-pr36917.patch: Likewise. + * patches/icedtea-lcms-leak.patch: Likewise. + * patches/icedtea-corba.patch: Likewise. + * patches/icedtea-gervill.patch: Likewise. + * patches/icedtea-directaudio-close-trick.patch: Likewise. + * patches/icedtea-generated.patch: Remove, obsolete. + * patches/icedtea-version.patch: Update. + * patches/icedtea-ecj.patch: Update. + * patches/icedtea-javafiles.patch: Regenerate. + * HACKING: Update for b12. + 2008-09-12 Gary Benson <gbenson@redhat.com> Xerxes RĂ„nby <xerxes@zafena.se>
--- a/HACKING Fri Sep 12 15:20:06 2008 +0100 +++ b/HACKING Fri Sep 12 22:35:46 2008 +0200 @@ -17,21 +17,16 @@ * icedtea-ant.patch: Remove use of $(ANT_HOME). * icedtea-uname.patch: Handle output of uname on arm and mips{,el}. * icedtea-bytebuffer-compact.patch: Add clearMark() method to java.nio.Buffer (PR60). -* icedtea-color-createcontext.patch: Add support for a PaintContext to java.awt.Color. * icedtea-copy-plugs.patch: Add IcedTea's 'plugs' for Java WebStart support, add cast to getAnnotation and trapAuthenticationFailure variable to com.sun.jmx.snmp.SnmpPduTrap. -* icedtea-corba.patch: Adds additional files to org.omg.CORBA Makefile. * icedtea-core-build.patch: Add support for building IcedTea core VM. * icedtea-debuginfo.patch: Add -g option to build to generate debugging information. * icedtea-demos.patch: Fix building of JVMTI demo. -* icedtea-directaudio-close-trick.patch: Allow hardware sound device to be reopened. * icedtea-enum-bug-181.patch: Fixes class type check (PR181/S6736248) * icedtea-float-double-trailing-zeros.patch: Remove trailing zeros from Double/Float (PR29/30) * icedtea-fonts.patch: Add Fedora fontconfig. * icedtea-gcc-4.3.patch: Fix code to compile with GCC 4.3 and turn off -Werror. * icedtea-gcc-suffix.patch: Append $(GCC_SUFFIX) to end of 'gcc' binary name. -* icedtea-generated.patch: Force use of /bin/bash. -* icedtea-gervill.patch: Add support for Gervill from the overlay. * icedtea-graphics.patch: Fix word wrap in JTextArea (PR57/S6593649) * icedtea-ia64-fdlibm.patch: Fix name of ia64 architecture from _M_IA64 to ia64. * icedtea-javafiles.patch: Add missing Java files to list. @@ -61,8 +56,6 @@ * icedtea-webservices.patch: Add applet support. * icedtea-zero-build.patch: Add support for the zero assembler build. * icedtea-shark-build.patch: Add support for building the Shark JIT. -* icedtea-hotspot-gcc-pr36917.patch: Work around miscompilation with GCC 4.3 (PR 36917). -* icedtea-hotspot-citypeflow.patch: Fix hotspot miscompilation with GCC 4.3 on x86. * icedtea-alpha-fixes.patch: Fix build issues on alpha-linux. * icedtea-arch.patch: Add support for additional architectures. * icedtea-alt-jar.patch: Add support for using an alternate jar tool in JDK building.
--- a/Makefile.am Fri Sep 12 15:20:06 2008 +0100 +++ b/Makefile.am Fri Sep 12 22:35:46 2008 +0200 @@ -1,6 +1,6 @@ -OPENJDK_DATE = 10_jul_2008 -OPENJDK_MD5SUM = 8e60cdac02ec1b2d8ddb9d7369be69df -OPENJDK_VERSION = b11 +OPENJDK_DATE = 28_aug_2008 +OPENJDK_MD5SUM = b53e1ef643909ce82721ee4c970d958b +OPENJDK_VERSION = b12 CACAO_VERSION = 0.99.3 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8 @@ -467,24 +467,17 @@ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ - patches/icedtea-corba.patch \ patches/icedtea-core-build.patch \ patches/icedtea-linker-options.patch \ patches/icedtea-static-libstdc++.patch \ - patches/icedtea-lcms-leak.patch \ patches/icedtea-timerqueue.patch \ - patches/icedtea-generated.patch \ patches/icedtea-lib64.patch \ patches/icedtea-zero-build.patch \ patches/icedtea-print-lsb-release.patch \ patches/icedtea-jpegclasses.patch \ patches/icedtea-uname.patch \ patches/icedtea-ia64-fdlibm.patch \ - patches/icedtea-LCMS-setTagData.patch \ - patches/icedtea-color-createcontext.patch \ patches/icedtea-fonts.patch \ - patches/icedtea-gervill.patch \ - patches/icedtea-directaudio-close-trick.patch \ patches/icedtea-sparc.patch \ patches/icedtea-sparc64-linux.patch \ patches/icedtea-sparc-ptracefix.patch \ @@ -496,8 +489,6 @@ patches/icedtea-jdk-docs-target.patch \ patches/icedtea-nomotif-6706121.patch \ patches/icedtea-nomotif.patch \ - patches/icedtea-hotspot-gcc-pr36917.patch \ - patches/icedtea-hotspot-citypeflow.patch \ patches/icedtea-alpha-fixes.patch \ patches/icedtea-alt-jar.patch \ patches/icedtea-enum-bug-181.patch \
--- a/NEWS Fri Sep 12 15:20:06 2008 +0100 +++ b/NEWS Fri Sep 12 22:35:46 2008 +0200 @@ -1,6 +1,6 @@ New in release UNRELEASED (2008-xx-xx) -- Updated to b11 build. +- Updated to b12 build. New in release 1.2 (2008-05-28)
--- a/fsg.sh Fri Sep 12 15:20:06 2008 +0100 +++ b/fsg.sh Fri Sep 12 22:35:46 2008 +0200 @@ -87,9 +87,5 @@ openjdk/jdk/test/javax/xml/crypto/dsig/data/xml-stylesheet \ openjdk/jdk/test/javax/xml/crypto/dsig/data/xml-stylesheet.b64 -# PR157, S6713083 -rm -f \ - openjdk/jdk/src/share/classes/java/lang/instrument/package.html - # END Debian/Ubuntu additions
--- a/patches/icedtea-LCMS-setTagData.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,296 +0,0 @@ -*** openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/lcms.h.orig 2008-04-11 19:17:54.000000000 -0700 ---- openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/lcms.h 2008-04-11 19:19:48.000000000 -0700 -*************** LCMSAPI BOOL LCMSEXPORT _cmsSaveProfile( -*** 1244,1250 **** - LCMSAPI BOOL LCMSEXPORT _cmsSaveProfileToMem(cmsHPROFILE hProfile, void *MemPtr, - size_t* BytesNeeded); - -! - - // PostScript ColorRenderingDictionary and ColorSpaceArray - ---- 1244,1251 ---- - LCMSAPI BOOL LCMSEXPORT _cmsSaveProfileToMem(cmsHPROFILE hProfile, void *MemPtr, - size_t* BytesNeeded); - -! // Modify data for a tag in a profile -! LCMSAPI BOOL LCMSEXPORT _cmsModifyTagData(cmsHPROFILE hProfile, icTagSignature sig, void *data, size_t size); - - // PostScript ColorRenderingDictionary and ColorSpaceArray - -*************** typedef struct _lcms_iccprofile_struct { -*** 1838,1843 **** ---- 1839,1845 ---- - BOOL (* Seek)(struct _lcms_iccprofile_struct* Icc, size_t offset); - BOOL (* Close)(struct _lcms_iccprofile_struct* Icc); - size_t (* Tell)(struct _lcms_iccprofile_struct* Icc); -+ BOOL (* Grow)(struct _lcms_iccprofile_struct* Icc, size_t amount); - - // Writting - -*** openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c.orig 2008-04-11 19:18:43.000000000 -0700 ---- openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c 2008-04-11 19:19:48.000000000 -0700 -*************** JNIEXPORT void JNICALL Java_sun_java2d_c -*** 347,353 **** - JNIEXPORT void JNICALL Java_sun_java2d_cmm_lcms_LCMS_setTagData - (JNIEnv *env, jobject obj, jlong id, jint tagSig, jbyteArray data) - { -! fprintf(stderr, "setTagData operation is not implemented"); - } - - void* getILData (JNIEnv *env, jobject img, jint* pDataType, ---- 347,368 ---- - JNIEXPORT void JNICALL Java_sun_java2d_cmm_lcms_LCMS_setTagData - (JNIEnv *env, jobject obj, jlong id, jint tagSig, jbyteArray data) - { -! cmsHPROFILE profile; -! storeID_t sProf; -! jbyte* dataArray; -! int tagSize; -! -! if (tagSig == SigHead) { -! fprintf(stderr, "setTagData on icSigHead not permitted"); -! return; -! } -! -! sProf.j = id; -! profile = (cmsHPROFILE) sProf.pf; -! dataArray = (*env)->GetByteArrayElements(env, data, 0); -! tagSize =(*env)->GetArrayLength(env, data); -! _cmsModifyTagData(profile, (icTagSignature) tagSig, dataArray, tagSize); -! (*env)->ReleaseByteArrayElements(env, data, dataArray, 0); - } - - void* getILData (JNIEnv *env, jobject img, jint* pDataType, -*** openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio0.c.orig 2008-04-11 19:17:54.000000000 -0700 ---- openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio0.c 2008-04-11 19:19:48.000000000 -0700 -*************** BOOL MemoryWrite(struct _lcms_iccprofile -*** 157,164 **** - if (size == 0) return TRUE; - - if (ResData != NULL) -! CopyMemory(ResData ->Block + Icc ->UsedSpace, Ptr, size); - - Icc->UsedSpace += size; - - return TRUE; ---- 157,165 ---- - if (size == 0) return TRUE; - - if (ResData != NULL) -! CopyMemory(ResData ->Block + ResData ->Pointer, Ptr, size); - -+ ResData->Pointer += size; - Icc->UsedSpace += size; - - return TRUE; -*************** BOOL MemoryWrite(struct _lcms_iccprofile -*** 166,171 **** ---- 167,184 ---- - - - static -+ BOOL MemoryGrow(struct _lcms_iccprofile_struct* Icc, size_t size) -+ { -+ FILEMEM* ResData = (FILEMEM*) Icc->stream; -+ ResData->Size += size; -+ ResData->Block = realloc(ResData->Block, ResData->Size); -+ if (!ResData->Block) -+ return FALSE; -+ return TRUE; -+ } -+ -+ -+ static - BOOL MemoryClose(struct _lcms_iccprofile_struct* Icc) - { - FILEMEM* ResData = (FILEMEM*) Icc ->stream; -*************** BOOL FileWrite(struct _lcms_iccprofile_s -*** 239,244 **** ---- 252,264 ---- - - - static -+ BOOL FileGrow(struct _lcms_iccprofile_struct* Icc, size_t size) -+ { -+ return TRUE; -+ } -+ -+ -+ static - BOOL FileClose(struct _lcms_iccprofile_struct* Icc) - { - return fclose((FILE*) Icc ->stream); -*************** LPLCMSICCPROFILE _cmsCreateProfileFromFi -*** 382,387 **** ---- 402,408 ---- - NewIcc ->Seek = FileSeek; - NewIcc ->Tell = FileTell; - NewIcc ->Close = FileClose; -+ NewIcc ->Grow = FileGrow; - NewIcc ->Write = NULL; - - NewIcc ->IsWrite = FALSE; -*************** LPLCMSICCPROFILE _cmsCreateProfileFromMe -*** 419,425 **** - NewIcc ->Seek = MemorySeek; - NewIcc ->Tell = MemoryTell; - NewIcc ->Close = MemoryClose; -! NewIcc ->Write = NULL; - - NewIcc ->IsWrite = FALSE; - ---- 440,447 ---- - NewIcc ->Seek = MemorySeek; - NewIcc ->Tell = MemoryTell; - NewIcc ->Close = MemoryClose; -! NewIcc ->Grow = MemoryGrow; -! NewIcc ->Write = MemoryWrite; - - NewIcc ->IsWrite = FALSE; - -*** openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio1.c.orig 2008-04-11 19:17:54.000000000 -0700 ---- openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio1.c 2008-04-11 19:19:48.000000000 -0700 -*************** CleanUp: -*** 3661,3663 **** ---- 3661,3800 ---- - CopyMemory(Icc, &Keep, sizeof(LCMSICCPROFILE)); - return FALSE; - } -+ -+ BOOL LCMSEXPORT _cmsModifyTagData(cmsHPROFILE hProfile, icTagSignature sig, -+ void *data, size_t size) -+ { -+ BOOL isNew; -+ int i, idx, delta, count; -+ LPBYTE padChars[3] = {0, 0, 0}; -+ LPBYTE beforeBuf, afterBuf, ptr; -+ size_t beforeSize, afterSize; -+ icUInt32Number profileSize, temp; -+ LPLCMSICCPROFILE Icc = (LPLCMSICCPROFILE) (LPSTR) hProfile; -+ -+ isNew = FALSE; -+ idx = _cmsSearchTag(Icc, sig, FALSE); -+ if (idx < 0) -+ { -+ isNew = TRUE; -+ idx = Icc->TagCount++; -+ if (Icc->TagCount >= MAX_TABLE_TAG) -+ { -+ fprintf(stderr, "Too many tags (%d)\n", Icc->TagCount); -+ Icc->TagCount = MAX_TABLE_TAG-1; -+ return FALSE; -+ } -+ } -+ -+ /* Read in size from header */ -+ Icc->Seek(Icc, 0); -+ Icc->Read(&profileSize, sizeof(icUInt32Number), 1, Icc); -+ AdjustEndianess32((LPBYTE) &profileSize); -+ -+ /* Compute the change in profile size */ -+ if (isNew) -+ delta = sizeof(icTag) + ALIGNLONG(size); -+ else -+ delta = ALIGNLONG(size) - ALIGNLONG(Icc->TagSizes[idx]); -+ -+ /* Add tag to internal structures */ -+ ptr = malloc(size); -+ CopyMemory(ptr, data, size); -+ Icc->TagSizes[idx] = size; -+ Icc->TagNames[idx] = sig; -+ if (Icc->TagPtrs[idx]) -+ free(Icc->TagPtrs[idx]); -+ Icc->TagPtrs[idx] = ptr; -+ if (isNew) -+ Icc->TagOffsets[idx] = profileSize; -+ -+ /* Compute size of tag data before/after the modified tag */ -+ beforeSize = Icc->TagOffsets[idx] - Icc->TagOffsets[0]; -+ if (Icc->TagCount == (idx + 1)) -+ afterSize = 0; -+ else -+ afterSize = profileSize - Icc->TagOffsets[idx+1]; -+ -+ /* Make copies of the data before/after the modified tag */ -+ if (beforeSize > 0) -+ { -+ beforeBuf = malloc(beforeSize); -+ Icc->Seek(Icc, Icc->TagOffsets[0]); -+ Icc->Read(beforeBuf, beforeSize, 1, Icc); -+ } -+ -+ if (afterSize > 0) -+ { -+ afterBuf = malloc(afterSize); -+ Icc->Seek(Icc, Icc->TagOffsets[idx+1]); -+ Icc->Read(afterBuf, afterSize, 1, Icc); -+ } -+ -+ /* Update the profile size in the header */ -+ profileSize += delta; -+ Icc->Seek(Icc, 0); -+ temp = TransportValue32(profileSize); -+ Icc->Write(Icc, sizeof(icUInt32Number), &temp); -+ -+ Icc->Grow(Icc, delta); -+ -+ /* Adjust tag offsets: if the tag is new, we must account -+ for the new tag table entry; otherwise, only those tags after -+ the modified tag are changed (by delta) */ -+ if (isNew) -+ { -+ for (i = 0; i < Icc->TagCount; ++i) -+ Icc->TagOffsets[i] += sizeof(icTag); -+ } -+ else -+ { -+ for (i = idx+1; i < Icc->TagCount; ++i) -+ Icc->TagOffsets[i] += delta; -+ } -+ -+ /* Write out a new tag table */ -+ count = 0; -+ for (i = 0; i < Icc->TagCount; ++i) -+ { -+ if (Icc->TagNames[i] != 0) -+ ++count; -+ } -+ Icc->Seek(Icc, sizeof(icHeader)); -+ temp = TransportValue32(count); -+ Icc->Write(Icc, sizeof(icUInt32Number), &temp); -+ -+ for (i = 0; i < Icc->TagCount; ++i) -+ { -+ if (Icc->TagNames[i] != 0) -+ { -+ icTag tag; -+ tag.sig = TransportValue32(Icc->TagNames[i]); -+ tag.offset = TransportValue32((icInt32Number) Icc->TagOffsets[i]); -+ tag.size = TransportValue32((icInt32Number) Icc->TagSizes[i]); -+ Icc->Write(Icc, sizeof(icTag), &tag); -+ } -+ } -+ -+ /* Write unchanged data before the modified tag */ -+ if (beforeSize > 0) -+ { -+ Icc->Write(Icc, beforeSize, beforeBuf); -+ free(beforeBuf); -+ } -+ -+ /* Write modified tag data */ -+ Icc->Write(Icc, size, data); -+ if (size % 4) -+ Icc->Write(Icc, 4 - (size % 4), padChars); -+ -+ /* Write unchanged data after the modified tag */ -+ if (afterSize > 0) -+ { -+ Icc->Write(Icc, afterSize, afterBuf); -+ free(afterBuf); -+ } -+ -+ return TRUE; -+ } -+
--- a/patches/icedtea-color-createcontext.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -*** openjdk/jdk/src/share/classes/java/awt/Color.java.orig 2008-04-02 17:12:00.000000000 -0700 ---- openjdk/jdk/src/share/classes/java/awt/Color.java 2008-04-02 17:29:29.000000000 -0700 -*************** public class Color implements Paint, jav -*** 251,256 **** ---- 251,262 ---- - */ - private ColorSpace cs = null; - -+ /** -+ * The <code>PaintContext</code> for this solid color. -+ * @see #createContext -+ */ -+ private transient PaintContext context; -+ - /* - * JDK 1.1 serialVersionUID - */ -*************** public class Color implements Paint, jav -*** 1205,1211 **** - Rectangle2D r2d, - AffineTransform xform, - RenderingHints hints) { -! return new ColorPaintContext(getRGB(), cm); - } - - /** ---- 1211,1219 ---- - Rectangle2D r2d, - AffineTransform xform, - RenderingHints hints) { -! if (context == null || !context.getColorModel().equals(cm)) -! context = new ColorPaintContext(getRGB(), cm); -! return context; - } - - /**
--- a/patches/icedtea-corba.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ ---- openjdk.old/corba/make/org/omg/CORBA/Makefile 2007-10-12 03:49:14.000000000 -0400 -+++ openjdk/corba/make/org/omg/CORBA/Makefile 2007-11-06 13:57:24.000000000 -0500 -@@ -49,7 +49,10 @@ - FILES_java = \ - $(ORG_OMG_SENDINGCONTEXT_java) \ - $(ORG_OMG_CORBA_2_3_java) \ -- $(ORG_OMG_CORBA_java) -+ $(ORG_OMG_CORBA_java) \ -+ $(org_omg_SENDINGCONTEXT_java) \ -+ $(org_omg_CORBA_2_3_java) \ -+ $(org_omg_CORBA_java) - - # - # Include
--- a/patches/icedtea-directaudio-close-trick.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,193 +0,0 @@ ---- /home/mark/src/openjdk/jdk/src/share/classes/com/sun/media/sound/DirectAudioDevice.java 2008-04-13 01:05:30.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/media/sound/DirectAudioDevice.java 2008-05-09 02:18:21.000000000 +0200 -@@ -394,7 +394,12 @@ - private float leftGain, rightGain; - protected volatile boolean noService = false; // do not run the nService method - -+ // Guards all native calls. - protected Object lockNative = new Object(); -+ // Guards the lastOpened static variable in implOpen and implClose. -+ protected static Object lockLast = new Object(); -+ // Keeps track of last opened line, see implOpen "trick". -+ protected static DirectDL lastOpened; - - // CONSTRUCTOR - protected DirectDL(DataLine.Info info, -@@ -496,20 +501,47 @@ - // align buffer to full frames - bufferSize = ((int) bufferSize / format.getFrameSize()) * format.getFrameSize(); - -- id = nOpen(mixerIndex, deviceID, isSource, -- encoding, -- hardwareFormat.getSampleRate(), -- hardwareFormat.getSampleSizeInBits(), -- hardwareFormat.getFrameSize(), -- hardwareFormat.getChannels(), -- hardwareFormat.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED), -- hardwareFormat.isBigEndian(), -- bufferSize); -+ synchronized(lockLast) { -+ id = nOpen(mixerIndex, deviceID, isSource, -+ encoding, -+ hardwareFormat.getSampleRate(), -+ hardwareFormat.getSampleSizeInBits(), -+ hardwareFormat.getFrameSize(), -+ hardwareFormat.getChannels(), -+ hardwareFormat.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED), -+ hardwareFormat.isBigEndian(), -+ bufferSize); -+ -+ if (id == 0) { -+ // Bah... Dirty trick. The most likely cause is an application -+ // already having a line open for this particular hardware -+ // format and forgetting about it. If so, silently close that -+ // implementation and try again. Unfortuantely we can only -+ // open one line per hardware format currently. -+ if (lastOpened != null -+ && hardwareFormat.matches(lastOpened.hardwareFormat)) { -+ lastOpened.implClose(); -+ lastOpened = null; -+ -+ id = nOpen(mixerIndex, deviceID, isSource, -+ encoding, -+ hardwareFormat.getSampleRate(), -+ hardwareFormat.getSampleSizeInBits(), -+ hardwareFormat.getFrameSize(), -+ hardwareFormat.getChannels(), -+ hardwareFormat.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED), -+ hardwareFormat.isBigEndian(), -+ bufferSize); -+ } -+ -+ if (id == 0) { -+ // TODO: nicer error messages... -+ throw new LineUnavailableException("line with format "+format+" not supported."); -+ } -+ } -+ lastOpened = this; -+ } - -- if (id == 0) { -- // TODO: nicer error messages... -- throw new LineUnavailableException("line with format "+format+" not supported."); -- } - this.bufferSize = nGetBufferSize(id, isSource); - if (this.bufferSize < 1) { - // this is an error! -@@ -580,12 +612,12 @@ - } - synchronized (lockNative) { - nStop(id, isSource); -- } - -- // need to set doIO to false before notifying the -- // read/write thread, that's why isStartedRunning() -- // cannot be used -- doIO = false; -+ // need to set doIO to false before notifying the -+ // read/write thread, that's why isStartedRunning() -+ // cannot be used -+ doIO = false; -+ } - // wake up any waiting threads - synchronized(lock) { - lock.notifyAll(); -@@ -614,8 +646,12 @@ - doIO = false; - long oldID = id; - id = 0; -- synchronized (lockNative) { -- nClose(oldID, isSource); -+ synchronized (lockLast) { -+ synchronized (lockNative) { -+ nClose(oldID, isSource); -+ if (lastOpened == this) -+ lastOpened = null; -+ } - } - bytePosition = 0; - softwareConversionSize = 0; -@@ -630,7 +666,8 @@ - } - int a = 0; - synchronized (lockNative) { -- a = nAvailable(id, isSource); -+ if (doIO) -+ a = nAvailable(id, isSource); - } - return a; - } -@@ -644,9 +681,9 @@ - int counter = 0; - long startPos = getLongFramePosition(); - boolean posChanged = false; -- while (!drained && doIO) { -+ while (!drained) { - synchronized (lockNative) { -- if ((id == 0) || !nIsStillDraining(id, isSource)) -+ if ((id == 0) || (!doIO) || !nIsStillDraining(id, isSource)) - break; - } - // check every now and then for a new position -@@ -686,7 +723,7 @@ - lock.notifyAll(); - } - synchronized (lockNative) { -- if (id != 0) { -+ if (id != 0 && doIO) { - // then flush native buffers - nFlush(id, isSource); - } -@@ -697,9 +734,10 @@ - - // replacement for getFramePosition (see AbstractDataLine) - public long getLongFramePosition() { -- long pos; -+ long pos = 0; - synchronized (lockNative) { -- pos = nGetBytePosition(id, isSource, bytePosition); -+ if (doIO) -+ pos = nGetBytePosition(id, isSource, bytePosition); - } - // hack because ALSA sometimes reports wrong framepos - if (pos < 0) { -@@ -745,11 +783,12 @@ - } - int written = 0; - while (!flushing) { -- int thisWritten; -+ int thisWritten = 0; - synchronized (lockNative) { -- thisWritten = nWrite(id, b, off, len, -- softwareConversionSize, -- leftGain, rightGain); -+ if (doIO) -+ thisWritten = nWrite(id, b, off, len, -+ softwareConversionSize, -+ leftGain, rightGain); - if (thisWritten < 0) { - // error in native layer - break; -@@ -972,9 +1011,10 @@ - } - int read = 0; - while (doIO && !flushing) { -- int thisRead; -+ int thisRead = 0; - synchronized (lockNative) { -- thisRead = nRead(id, b, off, len, softwareConversionSize); -+ if (doIO) -+ thisRead = nRead(id, b, off, len, softwareConversionSize); - if (thisRead < 0) { - // error in native layer - break; -@@ -1209,7 +1249,8 @@ - // set new native position (if necessary) - // this must come after the flush! - synchronized (lockNative) { -- nSetBytePosition(id, isSource, frames * frameSize); -+ if (doIO) -+ nSetBytePosition(id, isSource, frames * frameSize); - } - - if (Printer.debug) Printer.debug(" DirectClip.setFramePosition: "
--- a/patches/icedtea-ecj.patch Fri Sep 12 15:20:06 2008 +0100 +++ b/patches/icedtea-ecj.patch Fri Sep 12 22:35:46 2008 +0200 @@ -803,7 +803,7 @@ # We want to privatize JVM symbols on Solaris. This is so the user can --- openjdk-ecj/corba/make/com/sun/corba/se/sources/Makefile 2008-06-09 03:12:48.000000000 +0100 +++ /dev/null 2008-05-17 00:35:13.224001676 +0100 -@@ -1,222 +0,0 @@ +@@ -1,224 +0,0 @@ -# -# Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -852,6 +852,8 @@ -include $(CORBA_JMK_DIRECTORY)com_sun_corba_se_PortableActivationIDL.jmk -include $(CORBA_JMK_DIRECTORY)com_sun_corba_se_impl_logging.jmk - +-FILES_java += com/sun/corba/se/org/omg/CORBA/ORB.java +- -# -# Dirs -# @@ -1026,3 +1028,4 @@ -# Include -# -include $(BUILDDIR)/common/Rules.gmk +
--- a/patches/icedtea-generated.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ ---- openjdk/jdk/make/java/nio/Makefile~ 2008-01-04 12:33:11.469154568 +0100 -+++ openjdk/jdk/make/java/nio/Makefile 2008-01-04 12:47:05.441734854 +0100 -@@ -167,7 +167,7 @@ - # - - SPP = spp.sh --SPP_CMD = $(SH) $(SPP) -+SPP_CMD = /bin/bash $(SPP) - - FILES_genout = $(FILES_gen:%.java=$(GENSRCDIR)/%.java)
--- a/patches/icedtea-gervill.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -# Adds the provides defined by gervill (and removes non-existing ones). -# Gervill can be found in the overlays under -# openjdk/jdk/src/share/classes/com/sun/media/sound -# (This currently overrides the one from b10 because we track Gervill CVS) ---- /home/mark/src/openjdk/jdk/src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.FormatConversionProvider 2008-04-13 01:05:30.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.FormatConversionProvider 2008-05-09 02:54:26.000000000 +0200 -@@ -2,3 +2,4 @@ - com.sun.media.sound.UlawCodec - com.sun.media.sound.AlawCodec - com.sun.media.sound.PCMtoPCMCodec -+com.sun.media.sound.AudioFloatFormatConverter ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java 2008-09-11 16:16:23.000000000 +0200 -@@ -71,7 +71,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(true); - limiter.setInput(0, in1); - limiter.setInput(1, in2); ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java 2008-09-11 16:16:23.000000000 +0200 -@@ -63,7 +63,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(true); - limiter.setInput(0, in1); - limiter.setOutput(0, out1); ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java 2008-09-11 16:16:23.000000000 +0200 -@@ -64,7 +64,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(true); - limiter.setInput(0, in1); - limiter.setOutput(0, out1); ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java 2008-09-11 16:16:23.000000000 +0200 -@@ -71,7 +71,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(true); - limiter.setInput(0, in1); - limiter.setInput(1, in2); ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java 2008-09-11 16:16:23.000000000 +0200 -@@ -71,7 +71,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(false); - limiter.setInput(0, in1); - limiter.setInput(1, in2); ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java 2008-09-11 16:16:23.000000000 +0200 -@@ -63,7 +63,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(false); - limiter.setInput(0, in1); - limiter.setOutput(0, out1); ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java 2008-09-11 16:16:23.000000000 +0200 -@@ -71,7 +71,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(false); - limiter.setInput(0, in1); - limiter.setInput(1, in2); ---- openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java 2008-07-10 22:02:36.000000000 +0200 -+++ openjdk/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java 2008-09-11 16:16:23.000000000 +0200 -@@ -63,7 +63,7 @@ - } - - SoftLimiter limiter = new SoftLimiter(); -- limiter.init(synth); -+ limiter.init(44100, 147); - limiter.setMixMode(false); - limiter.setInput(0, in1); - limiter.setOutput(0, out1);
--- a/patches/icedtea-hotspot-citypeflow.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- openjdk/hotspot/src/share/vm/ci/ciTypeFlow.hpp~ 2008-07-10 22:04:30.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/ci/ciTypeFlow.hpp 2008-07-25 14:32:03.544802121 +0200 -@@ -130,7 +130,7 @@ - - // Used as a combined index for locals and temps - enum Cell { -- Cell_0 -+ Cell_0, Cell_max = UINT_MAX - }; - - // A StateVector summarizes the type information at some
--- a/patches/icedtea-hotspot-gcc-pr36917.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ ---- openjdk/hotspot/build/linux/makefiles/i486.make~ 2008-07-10 22:04:18.000000000 +0200 -+++ openjdk/hotspot/build/linux/makefiles/i486.make 2008-07-24 12:23:11.344839305 +0200 -@@ -34,3 +34,6 @@ - CFLAGS += -DVM_LITTLE_ENDIAN - - OPT_CFLAGS/compactingPermGenGen.o = -O1 -+ -+# GCC PR tree-optimization/36917 -+OPT_CFLAGS/ciTypeFlow.o += $(OPT_CFLAGS) -fno-ivopts
--- a/patches/icedtea-javafiles.patch Fri Sep 12 15:20:06 2008 +0100 +++ b/patches/icedtea-javafiles.patch Fri Sep 12 22:35:46 2008 +0200 @@ -1,5 +1,5 @@ ---- openjdk.old/jdk/make/java/java/FILES_java.gmk 2007-10-12 03:54:05.000000000 -0400 -+++ openjdk/jdk/make/java/java/FILES_java.gmk 2007-10-29 13:54:32.000000000 -0400 +--- openjdk/jdk/make/java/java/FILES_java.gmk.orig 2008-08-28 10:10:48.000000000 +0200 ++++ openjdk/jdk/make/java/java/FILES_java.gmk 2008-09-12 21:12:23.000000000 +0200 @@ -29,6 +29,80 @@ # will generate header files # @@ -95,18 +95,9 @@ java/util/BitSet.java \ java/util/Calendar.java \ java/util/GregorianCalendar.java \ ---- openjdk.old/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_presentation_rmi.jmk 2007-10-12 03:49:13.000000000 -0400 -+++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_presentation_rmi.jmk 2007-11-06 16:03:19.000000000 -0500 -@@ -28,5 +28,6 @@ - com/sun/corba/se/spi/presentation/rmi/DynamicStub.java \ - com/sun/corba/se/spi/presentation/rmi/IDLNameTranslator.java \ - com/sun/corba/se/spi/presentation/rmi/PresentationManager.java \ -+ com/sun/corba/se/spi/presentation/rmi/PresentationDefaults.java \ - com/sun/corba/se/spi/presentation/rmi/StubAdapter.java - ---- openjdk.old/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_encoding.jmk 2007-10-12 03:49:13.000000000 -0400 -+++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_encoding.jmk 2007-11-06 16:23:42.000000000 -0500 -@@ -60,7 +60,6 @@ +--- openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_encoding.jmk.orig 2008-08-28 10:24:03.000000000 +0200 ++++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_encoding.jmk 2008-09-12 21:12:23.000000000 +0200 +@@ -62,7 +62,6 @@ com/sun/corba/se/impl/encoding/TypeCodeInputStream.java \ com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java \ com/sun/corba/se/impl/encoding/TypeCodeReader.java \ @@ -117,17 +108,27 @@ + com/sun/corba/se/impl/encoding/WrapperInputStream.java \ + com/sun/corba/se/impl/encoding/IDLJavaSerializationInputStream.java \ + com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java ---- openjdk.old/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk 2007-10-12 03:49:13.000000000 -0400 -+++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk 2007-11-06 16:28:07.000000000 -0500 -@@ -79,4 +79,5 @@ - com/sun/corba/se/impl/orbutil/graph/Node.java \ - com/sun/corba/se/impl/orbutil/graph/NodeData.java \ - com/sun/corba/se/impl/orbutil/graph/Graph.java \ -- com/sun/corba/se/impl/orbutil/graph/GraphImpl.java -+ com/sun/corba/se/impl/orbutil/graph/GraphImpl.java \ -+ com/sun/corba/se/impl/orbutil/GetPropertyAction.java ---- openjdk.old/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_monitoring.jmk 2007-10-12 03:49:13.000000000 -0400 -+++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_monitoring.jmk 2007-11-06 16:34:33.000000000 -0500 +--- openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_presentation_rmi.jmk.orig 2008-08-28 10:24:03.000000000 +0200 ++++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_presentation_rmi.jmk 2008-09-12 21:12:23.000000000 +0200 +@@ -29,5 +29,6 @@ + com/sun/corba/se/spi/presentation/rmi/IDLNameTranslator.java \ + com/sun/corba/se/spi/presentation/rmi/PresentationDefaults.java \ + com/sun/corba/se/spi/presentation/rmi/PresentationManager.java \ ++ com/sun/corba/se/spi/presentation/rmi/PresentationDefaults.java \ + com/sun/corba/se/spi/presentation/rmi/StubAdapter.java + +--- openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_protocol.jmk.orig 2008-08-28 10:24:03.000000000 +0200 ++++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_protocol.jmk 2008-09-12 21:12:23.000000000 +0200 +@@ -81,5 +81,5 @@ + com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_1.java \ + com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_2.java \ + com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddress.java \ +- com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddressHelper.java +- ++ com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddressHelper.java \ ++ com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyOrReplyMessage.java +--- openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_monitoring.jmk.orig 2008-08-28 10:24:03.000000000 +0200 ++++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_spi_monitoring.jmk 2008-09-12 21:12:23.000000000 +0200 @@ -30,6 +30,7 @@ com/sun/corba/se/spi/monitoring/StringMonitoredAttributeBase.java \ com/sun/corba/se/spi/monitoring/LongMonitoredAttributeBase.java \ @@ -136,22 +137,21 @@ com/sun/corba/se/spi/monitoring/MonitoredAttributeInfo.java \ com/sun/corba/se/spi/monitoring/MonitoredObject.java \ com/sun/corba/se/spi/monitoring/MonitoredObjectFactory.java \ ---- openjdk.old/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_ior.jmk 2007-10-12 03:49:13.000000000 -0400 -+++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_ior.jmk 2007-11-06 16:40:45.000000000 -0500 -@@ -65,4 +65,5 @@ - com/sun/corba/se/impl/ior/iiop/JavaCodebaseComponentImpl.java \ +--- openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_ior.jmk.orig 2008-08-28 10:24:03.000000000 +0200 ++++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_ior.jmk 2008-09-12 21:12:23.000000000 +0200 +@@ -66,4 +66,5 @@ + com/sun/corba/se/impl/ior/iiop/JavaSerializationComponent.java \ com/sun/corba/se/impl/ior/iiop/MaxStreamFormatVersionComponentImpl.java \ com/sun/corba/se/impl/ior/iiop/RequestPartitioningComponentImpl.java \ - com/sun/corba/se/impl/ior/iiop/ORBTypeComponentImpl.java + com/sun/corba/se/impl/ior/iiop/ORBTypeComponentImpl.java \ + com/sun/corba/se/impl/ior/iiop/JavaSerializationComponent.java ---- openjdk.old/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_protocol.jmk 2007-10-12 03:49:13.000000000 -0400 -+++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_protocol.jmk 2007-11-06 16:43:49.000000000 -0500 -@@ -80,5 +80,5 @@ - com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_1.java \ - com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_2.java \ - com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddress.java \ -- com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddressHelper.java -- -+ com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddressHelper.java \ -+ com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyOrReplyMessage.java +--- openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk.orig 2008-08-28 10:24:03.000000000 +0200 ++++ openjdk/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk 2008-09-12 21:12:23.000000000 +0200 +@@ -81,4 +81,5 @@ + com/sun/corba/se/impl/orbutil/graph/Node.java \ + com/sun/corba/se/impl/orbutil/graph/NodeData.java \ + com/sun/corba/se/impl/orbutil/graph/Graph.java \ +- com/sun/corba/se/impl/orbutil/graph/GraphImpl.java ++ com/sun/corba/se/impl/orbutil/graph/GraphImpl.java \ ++ com/sun/corba/se/impl/orbutil/GetPropertyAction.java
--- a/patches/icedtea-lcms-leak.patch Fri Sep 12 15:20:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c.orig 2007-11-17 11:07:47.000000000 -0500 -+++ openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c 2007-11-17 11:12:47.000000000 -0500 -@@ -182,6 +182,8 @@ - - sProf.pf = cmsOpenProfileFromMem((LPVOID)dataArray, (DWORD) dataSize); - -+ (*env)->ReleaseByteArrayElements (env, data, dataArray, 0); -+ - if (sProf.pf == NULL) { - JNU_ThrowIllegalArgumentException(env, "Invalid profile data"); - }
--- a/patches/icedtea-version.patch Fri Sep 12 15:20:06 2008 +0100 +++ b/patches/icedtea-version.patch Fri Sep 12 22:35:46 2008 +0200 @@ -1,23 +1,15 @@ ---- openjdk.old/jdk/make/common/shared/Defs.gmk 2007-09-13 03:52:42.000000000 -0400 -+++ openjdk/jdk/make/common/shared/Defs.gmk 2007-09-18 16:24:59.000000000 -0400 -@@ -194,13 +194,13 @@ +--- openjdk/jdk/make/common/shared/Defs.gmk.orig 2008-09-12 21:05:40.000000000 +0200 ++++ openjdk/jdk/make/common/shared/Defs.gmk 2008-09-12 21:07:14.000000000 +0200 +@@ -194,7 +194,7 @@ # Default names - LAUNCHER_NAME = java --PRODUCT_NAME = Java(TM) -+PRODUCT_NAME = OpenJDK - PRODUCT_SUFFIX = SE Runtime Environment - COMPANY_NAME = Sun Microsystems, Inc. - ifdef OPENJDK - LAUNCHER_NAME = openjdk -- PRODUCT_NAME = OpenJDK + LAUNCHER_NAME = java -+ PRODUCT_NAME = OpenJDK + PRODUCT_NAME = OpenJDK PRODUCT_SUFFIX = Runtime Environment - COMPANY_NAME = - endif -@@ -258,12 +258,7 @@ + JDK_RC_PLATFORM_NAME = Platform +@@ -260,12 +260,7 @@ JDK_UNDERSCORE_VERSION = $(subst .,_,$(JDK_VERSION)) JDK_MKTG_UNDERSCORE_VERSION = $(subst .,_,$(JDK_MKTG_VERSION)) @@ -31,14 +23,3 @@ # FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set ifdef BUILD_NUMBER ---- openjdk.old/hotspot/src/share/vm/runtime/arguments.cpp 2007-12-10 15:46:40.000000000 -0500 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2007-12-19 09:41:41.000000000 -0500 -@@ -28,7 +28,7 @@ - #include "incls/_precompiled.incl" - #include "incls/_arguments.cpp.incl" - --#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" -+#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" - #define DEFAULT_JAVA_LAUNCHER "generic" - - char** Arguments::_jvm_flags_array = NULL;