view HACKING @ 1565:d70ae78f89c2

PR381 Stackoverflow error with SecurityManager, signed jar and debug 2009-08-31 Mark Wielaard <mjw@redhat.com> Keith Seitz <keiths@redhat.com> * patches/icedtea-use-system-tzdata.patch: Updated to initialize JAVAZI_DIR once and inside a AccessController.doPrivileged() block. * patches/icedtea-timezone-default-permission.patch: New patch. * overlays/openjdk/jdk/test/java/util/TimeZone/ (TimeZoneDatePermissionCheck.java, TimeZoneDatePermissionCheck.sh): New test. * Makefile.am: Add new patch. * HACKING: Describe new patch.
author Mark Wielaard <mjw@redhat.com>
date Mon, 31 Aug 2009 07:45:07 +0200
parents 99966695a8f7
children e28e125f9a21
line wrap: on
line source

Patches
=======

PRx denotes bug x in the IcedTea bug database (http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=x)
Sx denotes bug x in the Sun bug database (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=x)

The following patches are applied early in the build to meet the Free Software guidelines and are also
included in the tarball resulting from the dist-openjdk-fsg target:

[ currently no patches applied ]

The fsg.sh script is also run to delete certain files with dubious licensing and/or only occuring
in binary format.

The following patches are currently applied before the building of OpenJDK or OpenJDK6 by IcedTea:

* 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-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-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-float-double-trailing-zeros.patch: Remove trailing zeros from Double/Float (PR29/30)
* icedtea-freetypeversion.patch: freetype backend only requires 2.2.1.
* 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-graphics.patch: Fix word wrap in JTextArea (PR57/S6593649)
* icedtea-ia64-fdlibm.patch: Fix name of ia64 architecture from _M_IA64 to ia64.
* icedtea-javac-debuginfo.patch: Ensure debugging information is generated for all class files.
* icedtea-javafiles.patch: Add missing Java files to list.
* icedtea-jpegclasses.patch: Add com.sun.image.codec.jpeg support.
* icedtea-lcms: Applies security patch.
* icedtea-lcms-2.patch: Temporary fix for https://bugs.openjdk.java.net/show_bug.cgi?id=100050.
* icedtea-lib64.patch: Add support for building on platforms with /usr/lib64.
* icedtea-libraries.patch: Use system JPEG and zlib libraries.
* icedtea-linker-options.patch: Add -Xlinker option when linking.
* icedtea-memory-limits.patch: Increase default memory limits.
* icedtea-no-bcopy.patch: Don't define local copies of bcopy, bzero and bcmp from BSD.
* icedtea-override-redirect-metacity.patch: Enable override redirect for Metacity window manager.
* icedtea-print-lsb-release.patch: Use information from Debian LSB file for crash reports.
* icedtea-rhino.patch: Add support for Javascript.
* icedtea-rmi_amd64.patch: Build RMI binaries on all platforms not just 32-bit ones.
* icedtea-sparc64-linux.patch: Fixes needed to build the SPARC port on 32-bit SPARC as used by Fedora.
* icedtea-sparc-ptracefix.patch: Avoid importing asm-sparc/ptrace.h by including pt_regs directly.
* icedtea-sparc-trapsfix.patch: Include traps.h from correct directory.
* icedtea-ssl.patch: Add casts to AlgorithmParameterSpec in sun.security.ssl package.
* icedtea-static-libstdc++.patch: Don't use static C++ on PPC64.
* icedtea-sunsrc.patch: Remove service property files from TOOLS list.
* icedtea-text-relocations.patch: Use correct -fPIC/-fpic flag on all platforms.
* icedtea-timerqueue.patch: Fix setting of running variable (PR87).
* icedtea-tools.patch: Remove DebugHelperHelper and add sources in make/java/awt/Makefile to fix build of jvmti.
* icedtea-use-system-tzdata.patch: Use timezone data from the system (PR70/S6593486).
* icedtea-version.patch: Replace name and bug URL with IcedTea versions.
* 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-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. 
* icedtea-hotspot7-tests.patch: Adds hotspot compiler tests from jdk7 tree.
* icedtea-renderer-crossing.patch: Check whether crossing is initialized in Pisces Renderer.
* icedtea-stroker-finish.patch: Make sure cap calculation doesn't result in
  divide by zero on tiny paths.
* icedtea-alsa-default-device.patch: Fix problems with using the ALSA 'default' device.
* icedtea-linker-libs-order.patch: When linking, put the referenced libraries after the object files (PR237).
* icedtea-f2i-overflow.patch: Replaces the code used by [fd]2[il] bytecodes to correctly handle overflows. (PR244, S6779290)
* icedtea-6761856-freetypescaler.patch: Fix IcedTea bug #227, OpenJDK bug
  #6761856, swing TextLayout.getBounds() returns shifted bounds.
* icedtea-testenv.patch: Provide public reachable machines for net/nio tests.
* icedtea-samejvm-safe.patch: Add samejvmsafe dirs to TEST.ROOT.
* icedtea-6728542-epoll.patch: Make EPoll work on non-x86 platforms. (PR265)
* icedtea-fortify-source.patch: Fix build failures with -D_FORTIFY_SOURCE=2.
* icedtea-format-warnings.patch: Fix build failures with -Wformat=1.
* icedtea-cc-interp-jvmti.patch: Disable some JVMTI capabilities which are unsupported or do not work with the C++ interpreter.
* icedtea-demo-swingapplet.patch: Add missing html file needed to run the demo.
* icedtea-6791168.patch: Fix build failure with GCC-4.4 (PR 38725) and compiler warnings.
* icedtea-no-precompiled.patch: Don't use precompiled header files in hotspot.
* icedtea-includedb.patch: Add missing include files.
* icedtea-awt-window-size.patch: Fix X11 window size calculation (S6721088).
* icedtea-java2d-dasher.patch: Fix interpretation of dash array elements in BasicStroke (S6793344).
* icedtea-cc-interp-backedge.patch: Remove some duplicated code in DO_BACKEDGE_CHECKS.
* icedtea-xml-encodinginfo.patch: Fix possible StackOverflowError in EncodingInfo (PR295).
* icedtea-jtreg-6592792.patch: Fix jtreg test for bug 6592792 so that it compiles.
* icedtea-s390-noinline.patch: Add special flags for javac on s390 to work around a VM problem with bad code generation during inlining.
* icedtea-jtreg-hatrun.patch: Fix jhat test by passing the classpath to the new jvm in HatRun.java.
* icedtea-jtreg-dnd.patch: Fix classpath issues in java/awt/dnd/FileListBetweenJVMsTest.
* icedtea-jtreg-colortest.patch: Remove call to System.exit() that was causing SystemBgColorTest to fail.
* icedtea-jtreg-printjob-multiple-end.patch: Fix test to not require any user interaction.
* icedtea-network-unreachable.patch: Check for ENETUNREACH and EHOSTUNREACH early on when doing a Socket.connect().
* icedtea-jtreg-printjob-edgetest-manual.patch: Mark test that requires user interaction as manual.
* icedtea-jtreg-jrunscript.patch: Fix jrunscript test so it works with newer versions of rhino (by comparing the actual numbers).
* icedtea-ignore-unrecognized-options.patch: Add -XX:+IgnoreUnrecognizedVMOptions flag to hotspot (S6788376).
* icedtea-java2d-mitre-join.patch: Backport fix for mitre join decoration (S6812600).
* icedtea-java2d-stroker-internal-joint.patch: Fix penultimate joint created by GeneralPath.closePath().
* icedtea-java2d-stroker-internal-close-joint.patch: Fix final joint created by GeneralPath.closePath().
* icedtea-cacao.patch: For the 'java' command, create new thread depending on the current VM.
* icedtea-cacao-no-mmap-first-page.patch: Don't mmap the first memory page.
* icedtea-bytecodeInterpreter.patch: Replace fast opcodes with opc_default.
* icedtea-ia64-bugfix.patch: Remove workaround for IA64 GCC bug.
* icedtea-signature-iterator.patch: Add zero-specific signature handling.
* icedtea-test-atomic-operations.patch: Add check to see if GCC's sync_lock_test works.
* icedtea-zero.patch: Generalise architecture support, add ARM and #ifdef out non-zero applicable parts.
* icedtea-shark.patch: Add support for the Shark JIT.

The following patches are only applied to OpenJDK6 in IcedTea6:

* icedtea-sparc.patch: Add support for GNU/Linux on SPARC.
* icedtea-jdk-docs-target.patch: Always set DOCS_TARGET.
* icedtea-lucene-crash.patch: Fix lucene bad code generation bug #6707044.
* icedtea-6700047-loopopts.patch: Fix partial peeling issue, bug #6700047.
* icedtea-6712835-ifnode.patch: Fix infinite loop in PhaseIterGVN::transform.
* icedtea-timezone.patch : Makes java only look for time zone information in
  /etc/sysconfig/clock if /etc/localtime is not found (fix for rh-489586)
* icedtea-timezone-default-permission.patch: Partial fix for PR381
  (in combination with icedtea-use-system-tzdata.patch) security check
  debug printing overflow. Also in openjdk7 b22, but apparently lost
  since b22 was from "before hg".
* icedtea-dnd-filelists.patch: Fix drag and drop behaviour when dragging a file list between JVMs (S5079469). Backported from OpenJDK.
* icedtea-signed-types-hot6.patch: Make use of unsigned/signed types explicit.
* openjdk/6648816.patch: Backport of regression (NPE) fix in AccessControlContext

The following patches are only applied to OpenJDK in IcedTea:

* icedtea-override.patch: Remove @Override annotation in javax.management.AttributeValueExp (unsupported by ecj < 3.4).

The following patches are only applied to the icedtea-ecj bootstrap tree:

* icedtea-ecj.patch: Don't generate CORBA sources using MC/idlj, link against -lgcj
  instead of -ljava, force use of boot tools, don't run HotSpot's test_gamma, use
  javac executable with Ant, remove -Werror from javac call, don't build JDK demos,
  don't run sun.awt.X11.ToBin, explicitly pull in timezone data and rt.jar in javac
  calls, replace hexadecimal floating point literals with decimal variants in
  java.lang.Double and java.lang.Float.
* icedtea-ecj-pr261.patch: Adds a couple of classes that are omitted from rt.jar. (PR261)

The following patches are only applied when building with the plugin support:

* icedtea-liveconnect.patch: Add LiveConnect support to plugin.

The following patches are only applied when building with the CACAO virtual machine:

The following patches are to support Xrender pipeline (-Dsun.java2d.xrender):

* icedtea-xrender-xxx.patch: Numbered patches from xrender branch
  http://hg.openjdk.java.net/xrender/xrender/jdk

Obsolete Patches
================

The following patches were previously applied, but have been made obsolete by
changes to the OpenJDK code base and/or changes within IcedTea:

* icedtea-certbundle.patch: Add support for certificates packaged by Fedora in /etc/pki: Methodology for certificates changed.
* icedtea-color-profiles.patch: Add missing color profiles (S6523403): Included upstream in OpenJDK6 b10 and OpenJDK7 b28. 
* icedtea-hat-spl-gpl.patch: JHat has conflicting GPL/SPL licensing terms (PR143/S6695553): Included upstream in OpenJDK6 b10 and OpenJDK7 b29.
* icedtea-freetype.patch: Use detected freetype in $FT2_LIB and $FREETYPE_HEADERS_PATH: Obsoleted by icedtea-headers.patch.
* icedtea-netx-applet-visibility.patch: Make applet classes package-private for the plugin: Obsoleted by icedtea-webservices.patch.
* icedtea-xinerama.patch: Fix crash talking to second X screen (S6604044): Included upstream in OpenJDK6 b10 and OpenJDK7 b28.
* icedtea-xslfix.patch: Fix malformed bytecodeInterpreterWithChecks XSL file (S6707485): Included upstream in OpenJDK7 b29/hs13.
* openjdk-color.patch: Include Free java.awt.color and java.awt.image (S6662775): Included upstream in OpenJDK6 b06 and OpenJDK7 b28.
* icedtea-cc-interp-no-fer.patch: Replaced with icedtea-cc-interp-jvmti.patch, of which it is a subset.
* icedtea-hotspot-6b14-7b24.patch: Upgrade HotSpot to a version with the C++ interpreter; not required with HS14.
* icedtea-hotspot7-build-fixes.patch: Remove KERNEL #ifdef; not required with HS14.
* icedtea-signed-types.patch: Make use of unsigned/signed types explicit; not required with HS14.
* icedtea-hotspot-citypeflow.patch: Not required with HS14.
* icedtea-core-zero-build.patch: Not required with HS14.
* icedtea-bytecodeInterpreterWithChecks.patch: Same as icedtea-xslfix.patch (OpenJDK6 only, S6707485); not required with HS14.
* icedtea-eclipse-hotspot-6614100-7b24.patch: Fix Eclipse crash (S6614100). Fixed in OpenJDK7 b29/hs13.  Not required with HS14.