IcedTea 2.3.14 & 2.4.6: Considered ARMful Released!

Andrew Hughes gnu_andrew at member.fsf.org
Fri Mar 28 13:13:38 UTC 2014


The IcedTea project provides a harness to build the source code from
OpenJDK using Free Software build tools, along with additional
features such as a PulseAudio sound driver, the ability to build
against system libraries and support for alternative virtual machines
and architectures beyond those supported by OpenJDK.

These releases are mainly focused on ARM support. In 2.4.6, we see
the first appearance of support for both the ARM32 JIT (previously
in 2.3.x and earlier) and the AArch64 port. As it successfully
built itself on Fedora, the ARM32 JIT is enabled by default, but
can now be disabled using --disable-arm32-jit.

We also update the 2.3 series, containing the more stable version
of the ARM32 JIT, with the fixes previously released in 2.4.5.
2.3.14 also adds the two missing HotSpot security updates from
the 2.3.12 release. However, these are only enabled by default
when building Zero. They can be forced on for other builds by
setting --enable-jsr292-update.

This will be the last release of the 2.3.x series and users should
transition to 2.4.x as soon as possible. More updates on this and
other releases to follow shortly.

If you find an issue with one of the releases, please report it to our
bug database (http://icedtea.classpath.org/bugzilla) under the
appropriate component. Development discussion takes place on the
distro-pkg-dev OpenJDK mailing list and patches are always welcome.

Full details of the releases can be found below.

What's New?
===========
New in release 2.4.6 (2014-03-28):

* Backports
  - S8009062: poor performance of JNI AttachCurrentThread after fix for 7017193
  - S8035893: JVM_GetVersionInfo fails to zero structure
  - Re-enable the 'gamma' test at the end of the HotSpot build, but only for HotSpot based bootstrap JDKs.
* Bug fixes
  - PR1101: Undefined symbols on GNU/Linux SPARC
  - PR1659: OpenJDK 7 returns incorrect TrueType font metrics when bold style is set
  - PR1677, G498288: Update PaX support to detect running PaX kernel and use newer tools
  - PR1679: Allow OpenJDK to build on PaX-enabled kernels
  - PR1684: Build fails with empty PAX_COMMAND
  - RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError (revised fix)
  - Link against $(LIBDL) if SYSTEM_CUPS is not true
  - Perform configure checks using ecj.jar when --with-gcj (native ecj build) is enabled.
* ARM32 port
  - Add arm_port from IcedTea 6
  - Add patches/arm.patch from IcedTea 6
  - Add patches/arm-debug.patch from IcedTea 6
  - Add patches/arm-hsdis.patch from IcedTea 6
  - added jvmti event generation for dynamic_generate and compiled_method_load events to ARM JIT compiler
  - Adjust saved SP when safepointing.
  - First cut of invokedynamic
  - Fix trashed thread ptr after recursive re-entry from asm JIT.
  - JIT-compilation of ldc methodHandle
  - Rename a bunch of misleadingly-named functions
  - Changes for HSX22
  - Rename a bunch of misleadingly-named functions
  - Patched method handle adapter code to deal with failures in TCK
  - Phase 1
  - Phase 2
  - RTC Thumb2 JIT enhancements.
  - Zero fails to build in hsx22+, fix for hsx22 after runs gamma OK, hsx23 still nogo.
  - Use ldrexd for atomic reads on ARMv7.
  - Use unified syntax for thumb code.
  - Corrected call from fast_method_handle_entry to CppInterpreter::method_handle_entry so that thread is loaded into r2
  - Don't save locals at a return.
  - Fix call to handle_special_method().  Fix compareAndSwapLong.
  - Fix JIT bug that miscompiles org.eclipse.ui.internal.contexts.ContextAuthority.sourceChanged
  - invokedynamic and aldc for JIT
  - Modified safepoint check to rely on memory protect signal instead of polling
  - Minor review cleanups.
  - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel
  - PR1363: Fedora 19 / rawhide FTBFS SIGILL
  - Changes for HSX23
  - Remove fragment from method that has been removed
  - Remove C++ flags from CC_COMPILE and fix usage in zeroshark.make.
  - Use $(CC) to compile mkbc instead of $(CC_COMPILE) to avoid C++-only flags
  - Add note about use of $(CFLAGS)/$(CXXFLAGS)/$(CPPFLAGS) at present.
  - Override automatic detection of source language for bytecodes_arm.def
  - Include $(CFLAGS) in assembler stage
  - PR1626: ARM32 assembler update for hsx24. Use ARM32JIT to turn it on/off.
  - Replace literal offsets for METHOD_SIZEOFPARAMETERS and ISTATE_NEXT_FRAME with correct symbolic names.
  - Turn ARM32 JIT on by default
* AArch64 port
  - PR1713: Support AArch64 Port
* Shark
  - Add Shark definitions from 8003868
  - Drop compile_method argument removed in 7083786 from sharkCompiler.cpp

New in release 2.3.14 (2014-03-28):

* Security fixes
  - S7023639, CVE-2013-5838: JSR 292 method handle invocation needs a fast path for compiled code (JSR292 update only)
  - S8029507, CVE-2013-5893: Enhance JVM method processing (JSR292 update only)
* Backports
  - S7024118: possible hardcoded mnemonic for JFileChooser metal and motif l&f
  - S7032018: The file list in JFileChooser does not have an accessible name
  - S7032436: When running with the Nimbus look and feel, the JFileChooser does not display mnemonics
  - S7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages
  - S7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites (JSR292 update only)
  - S7196242: vm/mlvm/indy/stress/java/loopsAndThreads crashed (JSR292 update only)
  - S7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path (JSR292 update only)
  - S8000780: make Zero build and run with JDK8 (JSR292 update only)
  - S8008764: 7uX l10n resource file translation update
  - S8009062: poor performance of JNI AttachCurrentThread after fix for 7017193
  - S8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
  - S8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions
  - S8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option
  - S8023310: Thread contention in the method Beans.IsDesignTime()
  - S8024302: Clarify jar verifications
  - S8024461: [macosx] Java crashed on mac10.9 for swing and 2d function manual test
  - S8025255: (tz) Support tzdata2013g
  - S8026037: [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris
  - S8026304: jarsigner output bad grammar
  - S8026887: Make issues due to failed large pages allocations easier to debug
  - S8027204: Revise the update of 8026204 and 8025758
  - S8027224: test regression - ClassNotFoundException
  - S8027370: Support tzdata2013h
  - S8027378: Two closed/javax/xml/8005432 fails with jdk7u51b04
  - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms
  - S8027943: serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45
  - S8028057: Modify jarsigner man page documentation to document CCC 8024302: Clarify jar verifications
  - S8028111: XML readers share the same entity expansion counter
  - S8028215: ORB.init fails with SecurityException if properties select the JDK default ORB
  - S8028293: Check local configuration for actual ephemeral port range
  - S8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147
  - S8028453: AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win)
  - S8028823: java/net/Makefile tabs converted to spaces
  - S8029038: Revise fix for XML readers share the same entity expansion counter
  - S8035893: JVM_GetVersionInfo fails to zero structure
* Bug fixes
  - Fix broken bootstrap build by updating ecj-multicatch.patch
  - PR1626: ARM32 assembler update for hsx24 (JSR292 update only)
  - PR1654: ppc32 needs a larger ThreadStackSize to build
  - PR1677, G498288: Update PaX support to detect running PaX kernel and use newer tools
  - PR1679: Allow OpenJDK to build on PaX-enabled kernels
  - PR1684: Build fails with empty PAX_COMMAND
  - Re-enable the 'gamma' test at the end of the HotSpot build, but only for HotSpot based bootstrap JDKs.
  - RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError (revised fix)
  - RH910107: fail to load PC/SC library
  - Perform configure checks using ecj.jar when --with-gcj (native ecj build) is enabled.
* New features
  - PR1653: Support ppc64le via Zero
* ARM port
  - Allow ARM32 JIT to be disabled
  - Replace literal offsets for METHOD_SIZEOFPARAMETERS and ISTATE_NEXT_FRAME with correct symbolic names.
  - Turn ARM32 JIT on by default
* Shark
  - Add Shark definitions from 8003868
  - Drop compile_method argument removed in 7083786 from sharkCompiler.cpp

The tarballs can be downloaded from:

    http://icedtea.classpath.org/download/source/icedtea-2.3.14.tar.gz
    http://icedtea.classpath.org/download/source/icedtea-2.3.14.tar.xz

and:

    http://icedtea.classpath.org/download/source/icedtea-2.4.6.tar.gz
    http://icedtea.classpath.org/download/source/icedtea-2.4.6.tar.xz

We provide both gzip and xz tarballs, so that those who are able to
make use of the smaller tarball produced by xz may do so.

The tarballs are accompanied by digital signatures available at:

    http://icedtea.classpath.org/download/source/icedtea-2.3.14.tar.gz.sig
    http://icedtea.classpath.org/download/source/icedtea-2.3.14.tar.xz.sig
    http://icedtea.classpath.org/download/source/icedtea-2.4.6.tar.gz.sig
    http://icedtea.classpath.org/download/source/icedtea-2.4.6.tar.xz.sig

These are produced using my public key. See details below.

      PGP Key: 248BDC07 (https://keys.indymedia.org/)
      Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07

SHA256 checksums:

aa152c7b61dc9b1d2e66ff3270e8c59e399a39035fa707ae4b637f4c223cc474  icedtea-2.3.14.tar.gz
5aef30fbd8e6c3d59f7428154c470bf662261b6e12caaba24dc1cb2f20cc6e49  icedtea-2.3.14.tar.gz.sig
9743fbe6cad015b725eee1f6fdb0f476298c0469da7bd685d4f47b342f85c7a7  icedtea-2.3.14.tar.xz
d96d3ad3abb0bfb8e19a0dfb0e28272729b27c20a81711b8d6027ad5fa8a479a  icedtea-2.3.14.tar.xz.sig
1f2ea0a29d946b0e8dd8f74c485adc41c02710e88c17ef827b635e1e4215ad33  icedtea-2.4.6.tar.gz
60dfd60e5033c04d759882be206e8c27be0d54b6ad438cf48549921474fa74dc  icedtea-2.4.6.tar.gz.sig
c333bcaba46d8684b5ac727486d8b935ac77b9ba3cc5da1aad9d8c7422cbfa19  icedtea-2.4.6.tar.xz
0a05a678a29545b598846755acb9d2359933b607e1ab2473f88dba6ece7ae22e  icedtea-2.4.6.tar.xz.sig

The checksums can be downloaded from:

    http://icedtea.classpath.org/download/source/icedtea-2.3.14.sha256
    http://icedtea.classpath.org/download/source/icedtea-2.4.6.sha256

The following people helped with these releases:

* Severin Gehwolf (RH910107)
* Andrew Haley (ARM32 literal offsets fix)
* Andrew Hughes (all other bug fixes & backports, release management)
* Chris Phillips (ARM32 hs24 support, RH1015432)
* Yasumasa Suenaga (PR1659)

We would also like to thank the bug reporters and testers!

To get started:

$ tar xzf icedtea-${version}.tar.gz

or:

$ tar x -I xz -f icedtea-${version}.tar.xz

then:

$ mkdir icedtea-build
$ cd icedtea-build
$ ../icedtea-${version}/configure
$ make

where ${version} is either 2.3.14 or 2.4.6.

Full build requirements and instructions are available in the INSTALL file.

Happy hacking!
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140328/986ee9e2/signature-0001.asc>


More information about the distro-pkg-dev mailing list