From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libjava/NEWS | 621 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 621 insertions(+) create mode 100644 libjava/NEWS (limited to 'libjava/NEWS') diff --git a/libjava/NEWS b/libjava/NEWS new file mode 100644 index 000000000..f028b6fec --- /dev/null +++ b/libjava/NEWS @@ -0,0 +1,621 @@ +*** Changes in GCC 4.1: + +Core library (libgcj) updates based on GNU Classpath 0.15 - 0.19+ + +- Networking + +* The java.net.HttpURLConnection implementation no longer buffers the + entire response body in memory. This means that response bodies + larger than available memory can now be handled. + +- (N)IO + +* NIO FileChannel.map implementation, fast bulk put implementation for + DirectByteBuffer (speeds up this method 10x). + +* FileChannel.lock() and FileChannel.force() implemented. + +- XML + +* gnu.xml fix for nodes created outside a namespace context. + +* Add support for output indenting and cdata-section-elements output + instruction in xml.transform. + +* xml.xpath corrections for cases where elements/attributes might have + been created in non-namespace-aware mode. Corrections to handling of + XSL variables and minor conformance updates. + +- AWT + +* Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X + users with a Qt4 installation can build the qt-peers with the argument + --with-qt4dir=. + +* GNU JAWT implementation, the AWT Native Interface, which allows direct + access to native screen resources from within a Canvas's paint method. + GNU Classpath Examples comes with a Demo, + see libjava/classpath/examples/README. + +* awt.datatransfer updated to 1.5 with supports for FlavorEvents. + The gtk+ awt peers now allow copy/paste of text, images, uris/files + and serialized objects with other applications and tracking + clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and + serialized objects are supported). A GNU Classpath Examples + datatransfer Demo was added to show the new functionality. + +* Split gtk+ awt peers event handling in two threads and improve gdk lock + handling (solves several AWT lock ups). + +* Speed up awt Image loading. + +* Better GTK scrollbar peer implementation when using GTK >= 2.6. + +* Handle image loading errors correctly for gdkpixbuf and MediaTracker. + +* Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk). + +* GdkGraphics2D has been updated to use Cairo 0.5.x APIs. + +* BufferedImage and GtkImage rewrites. All image drawing operations + should now work correctly (flipping requires gtk+ >= 2.6) + +* Future Graphics2D, Image and Text work is documented at: + http://developer.classpath.org/mediation/ClasspathGraphicsImagesText + +* When gtk+ 2.6 or higher is installed the default log handler will produce + stack traces whenever a WARNING, CRITICAL or ERROR message is produced. + +- Free Swing + +* The Swing RepaintManager has been reworked for more efficient painting, + especially for large GUIs. + +* The Swing layout manager OverlayLayout has been implemented, the BoxLayout + has been rewritten to make use of the SizeRequirements utility class and + caching for more efficient layout. + +* Improved accessibility support for Swing. + +* Significant progress has been made in the implementation of the + javax.swing.plaf.metal.* package, with most UI delegates in a working state + now. Please test this with your own applications and provide feedback that + will help us to improve this package. + +* The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to + highlight various features in our free-swing implementation. And includes + a look and feel switcher (Metal default, Ocean or GNU). + +* The javax.swing.plaf.multi.* package is now implemented. + +* Editing and several key actions for JTree and JTable were implemented. + +* Lots of icons and look and feel improvements for Free Swing basic and + metal themes were added. Try running the GNU Classpath Swing Demo in + examples (gnu.classpath.examples.swing.Demo) with: + -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel + -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel + +* Start of styled text capabilites for java.swing.text. + +* DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst + traversal enumerations implemented. + +* JInternalFrame colors and titlebar draw properly. + +* JTree is working up to par (icons, selection and keyboard traversal). + +* JMenus were made more compatible in visual and programmatic behavior. + +* JTable changeSelection and multiple selections implemented. + +* JButton and JToggleButton change states work properly now. + +* JFileChooser fixes. + +* revalidate and repaint fixes which make Free Swing much more responsive. + +* MetalIconFactory implemented. + +* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet, + JInternalFrame, and JWindow are now 1.5 compatible in the sense that you + can call add() and setLayout() directly on them, which will have the same + effect as calling getContentPane().add() and getContentPane().setLayout(). + +* The JTree interface has been completed. JTrees now recognizes mouse clicks + and selections work, but the visual implementation is not yet complete. + Work on expansion and collapsing of the tree nodes is being implemented. + +* BoxLayout works properly now. + +* Fixed GrayFilter to actually work. + +* Metal SplitPane implemented. + +* Lots of free swing text and editor stuff work now. + +- Free RMI and Corba + +* The Andrew Watson, Vice President and Technical Director of the Object + Management Group, has officially assigned us 20 bit Vendor Minor Code Id: + 0x47430 ("GC") that will mark remote Classpath - specific system exceptions. + Obtaining the VMCID means that GNU Classpath now is a recogniseable type of + node in a highly interoperable CORBA world. + +* Classpath now includes the first working draft to support the RMI over + IIOP protocol. The current implementation is capable for remote invocations, + transferring various Serializables and Externalizables via RMI-IIOP protocol. + It can flatten graphs and, at least for the simple cases, is interoperable + with Sun's jdk 1.5. + +* org.omg.PortableInterceptor and related functionality in other packages + is now implemented: + - The sever and client interceptors work as required since 1.4. + - The IOR interceptor works as needed for 1.5. + +* The org.omg.DynamicAny package is completed and passes the prepared tests. + +* The Portable Object Adapter should now support the output of the + recent IDL to java compilers. These compilers now generate servants and + not CORBA objects as before, making the output depended on the existing + POA implementation. Completing POA means that such code can already be + tried to run on Classpath. Our POA is tested for the following usager + scenarios: + - POA converts servant to the CORBA object. + - Servant provides to the CORBA object. + - POA activates new CORBA object with the given Object Id (byte array) + that is later accessible for the servant. + - During the first call, the ServantActivator provides servant for this + and all subsequent calls on the current object. + - During each call, the ServantLocator provides servant for this call + only. + - ServantLocator or ServantActivator forwards call to another server. + - POA has a single servant, responsible for all objects. + - POA has a default servant, but some objects are explicitly connected + to they specific servants. + The POA is verified using tests from the former cost.omg.org. + +* The CORBA implementation is now a working prototype that should support + features up till 1.3 inclusive. + We would invite groups writing CORBA dependent applications to + try Classpath implementation, reporting any possible bugs. + + The CORBA prototype is interoperable with Sun's implementation v 1.4, + transferring object references, primitive types, narrow and wide + strings, arrays, structures, trees, abstract interfaces and + value types (feature of CORBA 2.3) between these two platforms. + The remote exceptions are transferred and handled correctly. + The stringified object references (IORs) from various sources are + parsed as required. + The transient (for current session) and permanent (till jre restart) + redirections work. + Both Little and Big Endian encoded messages are accepted. + The implementation is verified using tests from the former cost.omg.org. + The current release includes working examples (see the examples directory), + demonstrating the client-server communication, using either CORBA Request + or IDL-based stub (usually generated by a IDL to java compiler). + These examples also show how to use the Classpath CORBA naming service. + The IDL to java compiler is not yet written, but as our library must be + compatible, it naturally accepts the output of other idlj implementations. + +- Misc + +* Updated TimeZone data against Olson tzdata2005l. + +* Make zip and jar UTF-8 "clean". + +* "native" code builds and compiles (warning free) on Darwin and Solaris. + +* java.util.logging.FileHandler now rotates files. + +* Start of a generic JDWP framework in gnu/classpath/jdwp. + This is unfinished, but feedback (at classpath@gnu.org) from runtime + hackers is greatly appreciated. Although most of the work is currently + being done around gcj/gij we want this framework to be as VM neutral as + possible. Early design is described in: + http://gcc.gnu.org/ml/java/2005-05/msg00260.html + +* QT4 AWT peers, enable by giving configure --enable-qt-peer. + Included, but not ready for production yet. They are explicitly + disabled and not supported. But if you want to help with the + development of these new features we are interested in feedback. You + will have to explicitly enable them to try them out + (and they will most likely contain bugs). + +* Documentation fixes all over the place. + See http://developer.classpath.org/doc/ + +Thanks! The following people helped with the above new features, bug +reports, testing and integration: + +Aaron Luchko (JDWP updates and documentation fixes) Andreas Jaeger +(mprec updates) Andreas Tobler (Darwin and Solaris testing and fixing, +Qt4 support for Darwin/OSX, Graphics2D support, gtk+ updates.) Andrew +Haley (Serialization and URLClassLoader fixes, gcj build speedups) +Andrew John Hughes (Locale and net fixes, URI RFC2986 updates, +Serialization fixes, Properties XML support and generic branch work, +VMIntegration guide update) Andrew Overholt (File locking) Anthony +Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes, Lots +of Free Swing work including JTable editing) Anthony Green (MIDI +framework, ALSA and DSSI providers) Archie Cobbs (Build fixes, VM +interface updates, URLClassLoader updates) Audrius Meskauskas (Lots of +Free Corba, RMI and HTML work plus testing and documenting) Bastiaan +Huisman (TimeZone bug fixing) Bryce McKinlay (RMI work) Casey Marshall +(Crypto algorithm fixes, FileChannel lock, SystemLogger and +FileHandler rotate impl, NIO FileChannel.map support, security and +policy updates) Chris Burdess (Lots of gnu.xml and http protocol +fixes, StAX and dom xml:id support) Christian Schlichtherle (Zip fixes +and cleanups) Christian Thalinger (64-bit cleanups, Configuration and +VM interface fixes and CACAO integration, fdlibm updates) Dalibor +Topic (Better DEBUG support, Build cleanups and Kaffe integration. Qt4 +build infrastructure, SHA1PRNG and GdkPixbugDecoder updates) Daniel +Bonniot (Serialization fixes) David Daney (BitSet bugfixes, +HttpURLConnection rewrite and improvements) David Gilbert (Basic and +Metal icon and plaf and lots of documenting, Lots of Free Swing and +metal theme additions. MetalIconFactory implementation) David +Lichteblau (JCL support library global/local reference cleanups) Gael +Thomas (VMClassLoader boot packages support sugestions) Gary Benson +(MessageFormat fixes) Goffredo Baroncelli (HTTPURLConnection fixes) +Guilhem Lavaux (Configuration, thread and channel fixes and Kaffe +integration. JCL native Pointer updates. Logger bug fixes) Ingo +Proetel (Image, Logger and URLClassLoader updates) Ito Kazumitsu +(NetworkInterfaces implementation and updates) Jan Roehrich +(BasicTreeUI and JTree fixes) Jeroen Frijters (ClassLoader and nio +cleanups, Serialization fixes, better Proxy support, bug fixes and +IKVM integration) Julian Scheid (Documentation updates and gjdoc +support) Ka-Hing Cheung (TreePath and TreeSelection fixes) Kalle Olavi +Niemitalo (Build fixes) Keith Seitz (Lots of JDWP work) Kelley Cook +(Build fixes) Kim Ho (JFileChooser implementation) Lillian Angel +(JTree implementation and lots Free Swing additions and bug fixes) +Mark Wielaard (Bug fixes, packaging and release management, Clipboard +implementation, System call interrupts and network timeouts and +GdkPixpufDecoder fixes) Martin Cordova (Suggestions for better +SocketTimeoutException) Michael Koch (Configuration fixes. Locale +updates, bug and build fixes) Nicolas Geoffray (VMClassLoader and +AccessController improvements) Olga Rodimina (MenuSelectionManager) +Paul Jenner (Better -Werror support) Rainer Orth (Build fixes) Robert +Schuster (Documentation updates and beans fixes, TreeNode enumerations +and ActionCommand and various fixes, XML and URL, AWT and Free Swing +bug fixes) Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus +bugfixes all over. Lots of Free Swing work including styled text) +Santiago Gala (AccessControlContext fixes) Simon Kitching (String +cleanups and optimization suggestions) Stuart Ballard (RMI constant +fixes) Sven de Marothy (BMP imageio support, CSS and TextLayout +fixes. GtkImage rewrite, 2D, awt, free swing and date/time fixes, Qt4 +peers) Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo +2D support. Lots of imageio framework additions, lots of AWT and Free +Swing bug fixes) Tom Tromey (Eclipse integration, generics work, lots +of bug fixes and gcj integration including coordinating The Big Merge) +Wolfgang Baer (GapContent bug fixes) Ziga Mahkovec (Graphics2D +upgraded to cairo 0.5 and new regex features) + +*** Changes in GCC 4.0: + +* Character encoders and decoders have been added for: iso-8859-6 +(arabic), iso-8859-7 (greek), iso-8859-8 (hebrew), iso-8859-9 +(latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic), +ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian), +UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little +Endian). + +* Lots of Calendar bug fixes. + +* The http url protocol handler has been replaced with a full HTTP/1.1 +version from GNU inetlib. + +* A new ftp url protocol handler has been added also from GNU inetlib. + +* java.beans has been updated to 1.4 including support for XMLEncoder +and XMLDecoder. + +* Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) +and org.w3c.dom (DOM Level 3) interfaces. It is possible to switch +between different implementations AElfred2, GNU DOM, GNU XSL, libxmlj +SAX, libxmlj DOM and libxmlj XSL by setting different system +properties. Also provided is a preliminary XPath 1.0 +implementation. The libxmlj versions are build around libxml2 and +libxslt and have to be enabled during build time by the --enable-xmlj +configure flag. The current support is equal to the last released GNU +JAXP 1.3 release. These packages will be maintained as part of the GNU +Classpath core classes in the future. For more information, +conformance results and documentation on selecting different +implementations see doc/README.jaxp. + +* Much fuller collection documentation. + +* libgcj can now load service providers that are described via +META-INF/services/* resources in extension JARs. This is useful for +implementing the various APIs that are supposed to be extensible via +custom plugins. For details, please see the documentation of +gnu.classpath.ServiceFactory. + +* GNU Classpath's JAR implementation now has preliminary support for +signed entries, for so called "signed JAR" file support. Signed JAR +files are one of the key security features of managed runtimes, and +allows code to run privileged given unforgeable proofs of identity. + +* A much improved version of X.509 certificates has been added, +including a robust certificate path checking algorithm. Also included +is an implementation of the RSA signature scheme. + +* New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, +javax.net, javax.net.ssl, javax.security.auth, +javax.security.auth.callback, javax.security.auth.login, +javax.security.auth.x500, javax.security.sasl and org.ietf.jgss +packages are now officially part of GNU Classpath. Extra crypto +algorithms can be obtained from the GNU Crypto project, a full TLS +implementation is provided by the Jessie project. +http://www.gnu.org/software/gnu-crypto/ +http://www.nongnu.org/jessie/ + +* java.security.AccessController has been implemented. + +* The default java.lang.SecurityManager now uses AccessController. + +* Lookahead support for regular expressions. + +* java.util.regexp implementation through gnu.regexp wrappers. + +* Serialization object stream fixes for multiple ClassLoader scenarios. + +* java.net.URL now uses application classloader to load +URLStreamHandlers and reuses URLStreamHandlers when URL is reset (but +protocol isn't changed). + +* java.io.File.deleteOnExit() implementation. + +* java.io is now implemented by delegating most tasks directly to +java.nio. + +* Reworked/Optimized implementations of java.nio.Buffer and subclasses. + +* BufferedReader speed improvements. + +* Multiple java.net.InetAdress fixes and java.rmi fixes. + +* ServerSocket.accept() now restarts listening when system call +interrupted. + +* java.net.URI implementation. + +* New javax.print, javax.print.attribute[.standard] and +javax.print.event packages and classes. + +* java.text multiple new features and bug fixes (only 2 out of the +1000+ java.text Mauve tests now fail). + +* java.text attributed iterators support. + +* Improved useabilty of java.text implementation for several +applications. + +* More AWT accessible support. + +* AWT gtk+ peers component layout, dialog placement, keyboard focus +handling and text positioning have been improved. + +* ImageIO interfaces are more complete. + +* JList, JTable and JTree have been hugely improved. + +* java.awt.Robot support with GdkRobot in the gtk+ awt peers. Needs +XTest Extension (libXtst) XServer support. + +* Full java.awt.color implementation, with all standard ICC profiles, +except for PhotoYCC color space. + +* java.awt.image support updated to 1.4. + +* Big-endian (PowerPC) fixes for native awt GTK+ peers. + +* Better AWT focus management fro GTK+ peers. + +* Much faster and better fonts support (for both gdk Graphics and cairo +Graphics2D) + +* AWT Choice fixes for hidden components. + +* More javax.imageio support. + +* Better AWT Help MenuBar support. + +* Swing TabbedPane, ColorChooser and ComboBox improvements. + +* Start of JTree functionality. + +* javax.swing.Spring and SpringLayout support. + +* Added pluggable look and feel support for BasicTextFieldUI and +BasicToolBarSeparatorUI. + +* java.swing.text support for (Default and Layered) Highlighter, +FieldView, PlainView, TabExpander and TabableView added. + +* Start of JTable and JTree implementation. + +* Internal Swing frames work. + +* JMenu and JPopupMenu work. + +* New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher. + +* java.awt.image LookupTables and kernel support. + +* Improved java.awt.image.BufferedImage support. + +* AWT 1.0 event model support. + +* Frame.setIconImage() support. + +* AWT GDKGraphics scaling. + +* New configure flag --enable-gtk-cairo to build Graphics2D +implementation build on cairo and pangoft2. Enabled at runtime by +defining the system property gnu.java.awt.peer.gtk.Graphics=Graphics2D. + +* javax.swing.JSpinner implemented. + +* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D +implemented. + +* JColorChooser, JComboBox and JTextField implemented, including +example uses in GNU Classpath Examples swing Demo. + +* Better (non-black) default AWT System colors. + +* AWT lists use GTK treeviews. + +* Proper AWT focus management has been implemented. + +* Swing menus and scrollpanes are beginning to work. + +* Swing splitpanes, dialogs and internal frames were added. + +* Swing repainting / double buffering was redone. + +* Font management and Pango DPI conversion fixes. + +* A lot of AWT imaging and event bugs have been picked out. + +* More of javax.swing.text has been implemented. + +* javax.swing.Timer has been reimplemented. + +* The gnu.java.awt.EmbeddedWindow class has been improved, and now +supports embedding AWT windows in other top-level X windows. This +functionality is required by gcjwebplugin. + +* New javax.imageio, javax.imageio.event and javax.imageio.spi packages +and classes. + +* Working implementation of javax.swing.undo. + +* java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and +quadratic equations; implementation adapted from the GNU Scientific +Library. + +* Lots of java.awt and gtk+ peer improvements. Also more Swing work. +Start of EmbeddedWindow support. + +*** Changes in GCC 3.4: + +* Compiling a .jar file will now cause non-.class entries to be automatically + compiled as resources. + +* libgcj has been ported to Darwin. + +* Jeff Sturm has adapted Jan Hubicka's call graph optimization code to gcj. + +* libgcj has a new gcjlib URL type; this lets URLClassLoader load code from + shared libraries. + +* libgcj has been much more completely merged with GNU Classpath. + +* Class loading is now much more correct; in particular the caller's class + loader is now used when that is required. + +* Eclipse 2.x will run out of the box using gij. + +* Parts of java.nio have been implemented. Direct and indirect buffers work, + as do fundamental file and socket operations. + +* java.awt has been improved, though it is still not ready for general use. + +* The HTTP protocol handler now uses HTTP/1.1 and can handle the POST method. + +* The MinGW port has matured. Enhancements include socket timeout support, + thread interruption, improved Runtime.exec() handling and support for + accented characters in filenames. + +*** Changes in GCC 3.3: + +* The java.sql and javax.sql packages now implement the JDBC 3.0 (JDK 1.4) + API. + +* The JDK 1.4 assert facility has been implemented. + +* The bytecode interpreter is now direct threaded and thus faster. + + +*** Changes in GCC 3.1: + +* libgcj now includes RMI, java.lang.ref.*, javax.naming, and + javax.transaction. + +* Property files and other system resources can be compiled into executables + which use libgcj using the new gcj --resource feature. + +* libgcj has been ported to more platforms. In particular there is now a + mostly-functional mingw32 (Windows) target port. + +* JNI and CNI invocation interfaces were implemented, so gcj-compiled Java + code can now be called from a C/C++ application. + +* gcj can now use builtin functions for certain known methods, for instance + Math.cos. + +* gcj can now automatically remove redundant array-store checks in some common + cases. + +* The --no-store-checks optimization option was added. This can be used to + omit runtime store checks for code which is known not to throw + ArrayStoreException + +* The following third party interface standards were added to libgcj: + org.w3c.dom and org.xml.sax. + +* java.security has been merged with GNU Classpath. The new package is now + JDK 1.2 compliant, and much more complete. + +* A bytecode verifier was added to the libgcj interpreter. + +* java.lang.Character was rewritten to comply with the Unicode 3.0 standard, + and improve performance. + +* Partial support for many more locales was added to libgcj. + +* Socket timeouts have been implemented. + +* libgcj has been merged into a single shared library. There are no longer + separate shared libraries for the garbage collector and zlib. + +* Several performance improvements were made to gcj and libgcj: + o Hash synchronization (thin locks) + o A special allocation path for finalizer-free objects + o Thread-local allocation + o Parallel GC, and other GC tweaks + +*** Changes in GCC 3.0: + +* libgcj now includes a bytecode interpreter. If a compiled version of a class +is not found in the application binary or linked shared libraries, the +class loader will search for a bytecode version in the CLASSPATH and execute +it using the interpreter. A new front end that behaves like the traditional +`java' command is also provided: `gij'. + +* Support for specifying java system properties. Properties can either be set +at runtime via the GCJ_PROPERTIES environment variable in the format +"= ..."'; or can be compiled into an application binary using +-D=. + +* Support for setjmp/longjmp (sjlj) exception handling has been added, as an +alternative to the existing range-table based mechanism. sjlj is the default +on non-sparc, non-x86 targets, or can be specified with the +`--enable-sjlj-exceptions' configure parameter. + +* Complete JDK 1.1 reflection support, including invocation. + +* Throwable.printStackTrace() has been implemented. + +* Runtime.loadLibrary() has been implemented. + +* Class.forName() will now try to load a series of shared objects in order +to find the requested class. If a class `gnu.quux.whatever' is requested, +libgcj will search the system shared library path (eg LD_LIBRARY_PATH) for +`gnu-quux-whatever.so', then `gnu-quux.so', and finally `gnu.so'. + +* A pure-java implementation of java.math.BigInteger. + +New in libgcj 2.95: + +* First public release -- cgit v1.2.3