2003-05-13  Release Manager

	* GCC 3.3 Released.

2003-05-13  Release Manager

	* GCC 3.3 Released.

2003-05-13  Release Manager

	* GCC 3.3 Released.

2003-05-06  Tom Tromey  <tromey@redhat.com>

	* verify.cc: Reverted previous patch.

2003-05-01  Tom Tromey  <tromey@redhat.com>

	PR libgcj/10582:
	* verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow):
	Removed.
	(type::compatible): Use _Jv_IsAssignableFrom.
	* java/lang/natClass.cc (iindex_mutex_initialized): Now static.
	(_Jv_IsAssignableFrom): Work even when source or target class is
	not prepared.

2003-04-15  Mohan Embar  <gnustuff@thisiscool.com>

	* include/win32.h: added dummy ECONNREFUSED define and
	_Jv_select() declaration
	* win32.cc (_Jv_select): placeholder implementation
	(_Jv_platform_initProperties): Fix by Ranjit
	Mathew (rmathew@hotmail.com): use generic names
	like "x86" for the "os.arch" property to be consistent with
	what Sun's JDK produces. Use the wProcessorArchitecture
	member of the Win32 SYSTEM_INFO structure, filled in a call 
	to GetSystemInfo( ), instead of dwProcessorType
	* gnu/java/nio/natSocketChannelImpl.cc (SocketRead): use
	elements(data) and explicitly cast to char* on platforms
	where jbyte is not signed char
	(SocketWrite): idem

2003-03-29  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: (_Jv_GetNbArgs) added
	(_Jv_GetSafeArg) added
	(_Jv_SetArgs) added
	* prims.cc: (_Jv_GetNbArgs) implemented
	(_Jv_GetSafeArg) implemented
	(_Jv_SetArgs) implemented
	(_Jv_RunMain) use _Jv_SetArgs() instead of explicitly
	setting _Jv_argc and _Jv_argv
	* posix.cc: (_Jv_ThisExecutable) use _Jv_GetSafeArg()
	instead of _Jv_argv
	* java/lang/natRuntime.cc: (insertSystemProperties) use
	_Jv_GetSafeArg() instead of _Jv_argv

2003-04-19  Jerry Quinn  <jlquinn@optonline.net>

	* java/math/BigInteger.java (probablePrime): New.
	* java/math/BigDecimal.java (unscaledValue): New.

2003-04-19  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File.java (getAbsolutePath): On Windows, take care
	of paths like "C:", "G:foo\bar", etc.
	(getName): Make it work correctly on Windows.
	(getParent): Make it work correctly on Windows. For UNIX,
	fix bug that causes "/" to be returned as the parent of "/",
	instead of null as returned by Sun's JRE.

	* java/io/natFileWin32.cc: Change copyright owner to FSF.

2003-04-16  Tom Tromey  <tromey@redhat.com>

	* mauve-libgcj: Disable some tests we can't compile.

2003-04-10  Tom Tromey  <tromey@redhat.com>

	* verify.cc (pop64): Removed.
	(verify_instructions_0) <op_pop2>: Inline code.  Don't throw
	exception if top-of-stack is narrow.
	(initialize_stack): Check to ensure that <init> is not static and
	<clinit> is.

2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.in (HAVE_BACKTRACE) [s390*-*-linux*]: Define.
	* configure: Regenerate.

2003-03-14  Jeroen Frijters  <jeroen@sumatra.nl>

	* java/io/ObjectInputStream.java (readObject): Cleaned up the class
	hierarchy loop.
	(readFields(Object,ObjectStreamField[],boolean)): Changed argument
	list to Object,ObjectStreamClass, moved callReadMethod code up into
	readObject and added Class argument to all setXxxField calls.
	(callReadMethod): Changed Class argument to ObjectStreamClass to be
	consistent with ObjectOutputStream and to facilitate caching the
	Method in the future.
	(setBooleanField): Added Class argument.
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setLongField): Likewise.
	(setShortField): Likewise.
	(setObjectField): Likewise.
	* java/io/ObjectOutputStream.java (writeObject): Cleaned up the
	class hierarchy loop.
	(defaultWriteObject): Call writeFields with new argument list.
	(writeFields(Object,ObjectStreamField[],boolean): Changed argument
	list to Object,ObjectStreamClass, moved callWriteMethod up into
	writeObject and added Class argument to all getXxxField calls.
	(callWriteMethod): Added ObjectStreamClass argument to be able to
	get the proper class to call getMethod on (each class can have (or
	not have) its own writeObject method).
	(getBooleanField): Added Class argument.
	(getByteField): Likewise.
	(getCharField): Likewise.
	(getDoubleField): Likewise.
	(getFloatField): Likewise.
	(getIntField): Likewise.
	(getLongField): Likewise.
	(getShortField): Likewise.
	(getObjectField): Likewise.
	* java/io/ObjectStreamClass.java (hasReadMethod): Added method to
	facilitate caching the Method object in the future.

2003-03-10  2003-02-27  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: removed declaration of _Jv_ThisExecutable()
	setter; made return value of getter const char* instead of char*
	* prims.cc: removed all references to _Jv_ThisExecutable().
	These are in the platform-specific sections now.
	* posix.cc: define platform-specific _Jv_ThisExecutable().
	Handle DISABLE_MAIN_ARGS and HAVE_PROC_SELF_EXE cases
	* win32.cc: define platform-specific _Jv_ThisExecutable()
	using GetModuleFilename()
	* java/lang/natRuntime.cc: set gnu.gcj.progname property
	to argv[0] instead of _Jv_ThisExecutable()

2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>

	* gnu/gcj/runtime/NameFinder.java (usingAddr2name): New flag
	that is set if we are using addr2name.awk instead of addr2line.
	(NameFinder): Set usingAddr2name if using addr2name.awk.
	(getExternalLabel): New native method to convert a method 
	name to an external label.
	(lookup): Convert name given by addr2line to an external label
	before demangling.

	* gnu/gcj/runtime/natNameFinder.cc (LABEL_PREFIX): New string
	constant representing the prefix attached to method names to
	convert them to an external label.
	(gnu::gcj::runtime::NameFinder::getExternalLabel): Define 
	using LABEL_PREFIX.

2003-03-09  Tom Tromey  <tromey@redhat.com>

	PR libgcj/9934:
	* java/io/natFileDescriptorPosix.cc (available): Fixed arguments
	to lseek.  Return 0 if we can't compute the value.

2003-03-03  Tom Tromey  <tromey@redhat.com>

	* verify.cc (handle_jsr_insn): Don't fail if `jsr' appears at end
	of bytecode.
	(handle_ret_insn): Fail if returning to jsr that appears at end of
	bytecode.

2003-03-02  Mark Wielaard  <mark@klomp.org>

	* java/util/Properties.java (load): Only skip line if the first
	character is a comment, whitespaces don't count.

2003-03-01  Jason Thorpe  <thorpej@wasabisystems.com>

	* posix-threads.cc: Include <unistd.h> if HAVE_UNISTD_H is defined.
	(_Jv_ThreadSetPriority): Test for _POSIX_THREAD_PRIORITY_SCHEDULING.

2003-03-01  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File.java (normalizePath): Remove trailing separator
	on Windows only if path is not of the form "x:\".

	* java/io/natFileWin32.cc (WIN32_EPOCH_MILLIS): New constant.
	(java::io::File::attr): Change formatting a bit and use
	WIN32_EPOCH_MILLIS instead of magic numbers.
	(java::io::File::isAbsolute): Path must have at least 3 
	characters for a UNC network path.
	(java::io::File::init_native): Define.
	(java::io::File::performCreate): Likewise.
	(java::io::File::performSetReadOnly): Likewise.
	(java::io::File::performSetLastModified): Likewise.
	(java::io::File::performListRoots): Likewise.

2003-03-01  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(closed): New member variable.
	(close): Use closed variable.
	(getInetAddress): No need to call isConnected().
	(getPort): No need to call isConnected().
	(disconnect): Reset remoteAddress and remotePort, fixed typo.
	(isClosed): Reimplemented.

2003-03-01  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File (getAbsolutePath): Prefix drive specifier on
	Windows for paths starting with a '\'.
	(toURL): Make URL more consistent with what Sun's JDK returns.

	* java/io/natFileWin32.cc (java::io::File::isAbsolute): Return
	true only if the path is a UNC network path or it starts with a
	drive specifier.

	* java/net/URLStreamHandler.java (parseURL): Correct minor typo.
	Be prepared to handle either '/' or '\\' in the file path for
	Windows if using the "file" protocol.
	Canonicalise the file path if using a relative path in the given
	context and the "file" protocol.

2003-03-01  Mohan Embar  <gnustuff@thisiscool.com>

	* java/lang/natWin32Process.cc (startProcess): Double-quote each
	program array element passed to CreateProcess.

2003-03-01  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc:
	Reverse logic for DISABLE_JAVA_NET. Thanks to Krister Walfridsson
	<cato@df.lth.se> for pointing to it.

	* gnu/java/nio/natSocketChannelImpl.cc:
	Added support for platforms without network support.

	* java/nio/channels/FileChannel.java
	(toString): New implementation, added documentation.
	(map): Added exception documentation.
	(size): Added exception documentation.
	(write): New methods, documentation work.
	(read): New methods, documentation work.
	(implCloseChannel): Rewrote exception documentation.
	(force): Throws IOException, added documentation.
	(lock): New methods.
	(tryLock): New methods.
	(position): New methods.
	(transferTo): New method.
	(transferFrom): New method.
	(truncate): New method.
	* java/nio/channels/spi/SelectorProvider.java
	(provider): Implemented.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/DatagramChannelImpl.java
	gnu/java/nio/FileChannelImpl.java
	gnu/java/nio/PipeImpl.java
	gnu/java/nio/SelectionKeyImpl.java
	gnu/java/nio/SelectorImpl.java
	gnu/java/nio/SelectorProviderImpl.java
	gnu/java/nio/ServerSocketChannelImpl.java
	gnu/java/nio/SocketChannelImpl.java
	java/nio/channels/FileLock.java
	(nat_java_source_files): Added the following files:
	gnu/java/nio/natFileChannelImpl.cc
	gnu/java/nio/natSelectorImpl.cc
	gnu/java/nio/natSocketChannelImpl.cc
	* Makefile.in: Regenerated.

2003-03-01  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Renamed two variables.
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Renamed two variables.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Renamed two variables.
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Renamed two variables.
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Renamed two variables.
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Renamed two variables.
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Renamed two variables.
	* java/nio/CharBuffer.java
	(wrap): Fixed arguments to CharBufferImpl constructor.
	(hasArray): Only not read-only buffers have backing arrays.
	(length): Documentation added.
	(subSequence): Documentation added.
	* java/nio/DoubleBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/FloatBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/IntBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/LongBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/ShortBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.

2003-03-01  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectInputStream.java: Reindent.
	* java/io/ObjectOutputStream.java: Likewise.

2003-02-28  Hans Boehm  <Hans.Boehm@hp.com>

	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Allocate a full
	jvalue for each argument. Simplify.
	* testsuite/libjava.jni/calls.c (docall),
	testsuite/libjava.jni/calls.java (longpb_f): check for argument
	misalignment.

2003-02-28  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (nat_source_files): Remove
	java/io/natObjectOutputStream.cc.
	* Makefile.in: Regenerated.
	* mauve-libgcj: Don't exclude java.io.ObjectInputOutput tests.
	* java/io/ObjectStreamField.java (typename): New field.
	(ObjectStreamField(String, Class)): Initialize new field.
	(ObjectStreamField(String, String)): New Constructor.
	(getTypeCode): Use new field.
	(getTypeString): Use new field.
	* java/io/ObjectOutputStream.java (writeObject): Rethrow fatal
	ObjectStreamExceptions. Remember and reset old BlockDataMode.
	Handle reading of Proxy classes. Never drain(), just write
	TC_ENDBLOCKDATA. Rethrow ObjectStreamExceptions.
	(drain): Check writeDataAsBlocks before calling writeBlockDataHeader.
	(flush): Call flush(), not just drain().
	(writeBoolean): Always use blockDataOutput.
	(writeByte): Likewise.
	(writeShort): Likewise.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Likewise.
	(writeFloat): Likewise.
	(writeDouble): Likewise.
	(writeBytes): Likewise.
	(putfield (put(String,Object))): Throw IllegalArgumentException if
	field cannot be found.
	(putfield (write(ObjectOutput))): Remember old BlockDataMode.
	(writeArraySizeAndElements): Write byte[] in one go.
	(writeFields): Write TC_ENDBLOCKDATA when call_write_method, otherwise
	set BlockDataMode to false.
	(annotateProxyClass): New method.
	(defaultProtocolVersion): Now defaults to PROTOCOL_VERSION_2
	(getField): No longer native.
	(getMethod): Likewise.
	(setBlockDataMode): Always drain() on switch, return old mode.
	(static): New static code block.
	* java/io/natObjectOutputStream.cc: Removed.
	* java/io/ObjectInputStream.java (getField): No longer native.
	(getMethod): Likewise.
	(readObject): Remember and reset old BlockDataMode. Track whether
	object is consumed. Handle TC_ENDBLOCKDATA, TC_PROXYCLASSDESC and
	TC_LONGSTRING.
	(defaultReadObject): Set BlockDataMode to false during readFields.
	(resolveClass): Create new SecurityManager if necessary.
	Use Class.forName() if null ClassLoader found.
	(read(byte[],int,int): Copy remaining bytes to data before calling
	readNextBlock().
	(readFields): Set and reset BlockDataMode on call_read_method.
	Catch NoSuchFieldErrors.
	(setBlockDataMode): Return old mode.
	(static): New static code block.
	* java/io/natObjectInputStream.cc (getField): Removed.
	(getMethod): Likewise.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java (setComment): Don't check length when
	argument is null.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java (ZipEntry(String)): When name is bigger
	then 65535 chars throw IllegalArgumentException.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (finalize): New method.

2003-02-20  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
	config.status.
	* configure: Rebuilt.

2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* gnu/gcj/runtime/natStackTrace.cc: Include platform.h immediately
	after config.h.  Use <> for consistency.
	* java/lang/natObject.cc: Likewise.
	* java/lang/natRuntime.cc: Likewise.
	* java/lang/natSystem.cc: Likewise.
	* java/util/natTimeZone.cc: Likewise.
	* win32.cc: Likewise.
	* include/posix.h (fcntl, socket, connect, close, bind, accept,
	listen, write, read): Undef to avoid interference from OS macros.

2003-02-18  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Take result array as an
	argument.  Updated all callers.
	(modInverse): Removed unused variables.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(connect): Merged with classpath.
	(disconnect): Merged documentation with classpath.
	(receice): Merged documentation with classpath.
	(send): Merged documentation with classpath.

2003-02-17  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/nio/charset/Charset.java
	(isRegistered): Fixed method args and implementation.
	* java/nio/charset/CharsetEncoder.java
	(unmappableCharacterAction): New method.

2003-02-17  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Return array of
	`BigInteger's.  Changed all callers.

2003-02-16  Ranjit Mathew  <rmathew@hotmail.com>

	* java/util/Properties.java (store): Move the code formerly in
	list(), into this method.
	(list (PrintStream)): Just call list (PrintWriter) with a 
	PrintWriter object constructed from the given PrintStream object.
	(list (PrintWriter)): Emulate the output of Properties.list()
	as found in JDK 1.3/1.4.

2003-02-16  Tom Tromey  <tromey@redhat.com>

	* verify.cc (_Jv_BytecodeVerifier::pop_jump): Removed unused
	variable.

2003-02-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(SocketAccept): Removed.
	(accept): Commented out use of SocketAccept.

2003-02-14  Mark Wielaard  <mark@klomp.org>

	* java/math/BigDecimal.java (BigDecimal(String)): Always set scale to
	zero when there is an exponent and the significant is zero.
	(divide): Always set scale to newScale even in special ZERO case.

2003-02-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/System.java (properties): Use Properties.clone.
	(setProperties): Likewise.

2003-02-13  Tom Tromey  <tromey@redhat.com>

	* verify.cc (state::seen_subrs): New field.
	(state::state): Initialize it.
	(state::clean_subrs): New method.
	(state::~state): Call it.
	(state::copy): Copy subroutine list.
	(state::add_subr): New method.
	(state::merge): Only register a change if the current subroutine
	hasn't yet been noted.

2003-02-13  Mark Wielaard  <mark@klomp.org>

	* java/io/InputStreamReader.java (getEncoding): Return null when
	closed.
	* java/io/OutputStreamWriter.java (getEncoding): Likewise.

2003-02-13  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/InflaterInputStream.java (read): Return zero when len
	is zero.

2003-02-13  Mark Wielaard  <mark@klomp.org>

	* java/io/BufferedOutputStream.java (write(int)): Only flush when
	next byte cannot be buffered.

2003-02-13  Casey Marshall  <rsdio@metastatic.org>

	PR libgcj/9271:
	* java/security/SecureRandom.java (next): Avoid bias in results.

2003-02-13  Michael  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(lengthInternal): Must be native.
	(size): Check if channel is already closed.
	(implCloseChannel): Reformated.
	(read): w was unused, removed it.
	(read): Removed.
	(read): New method.
	(write): New method.
	(map): Check arguments.
	(force): Throws IOException, check if channel is closed.
	(transferTo): New method.
	(transferFrom): New method.
	(lock): New method.
	(tryLock): New method.
	(position): New method.
	(truncate): New method.
	(nio_mmap_file): Uncommented.
	(nio_munmap_file): Uncommented.
	(nio_msync): Uncommented.
	* gnu/java/nio/natFileChannelImpl.cc: New file.

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(endian): New member variable.
	(get): New methods.
	(equals): New method.
	(compareTo): New method.
	(order): New methods.
	(compact): New method.
	(isDirect): New method.
	(slice): New method.
	(duplicate): New method.
	(asReadOnlyBuffer): New method.
	(asCharBuffer): New method.
	(asDoubleBuffer): New method.
	(asFloatBuffer): New method.
	(asIntBuffer): New method.
	(asLongBuffer): New method.
	(asShortBuffer): New method.
	(get*): New methods.
	(put*): New methods.
	(toString): New method.
	* java/nio/CharBuffer.java
	(CharBuffer): Implement Comparable instead of Cloneable.
	(get): May not be final.
	(put): May not be final.

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc
	(SocketConnect): This is not implemented yet.
	(SocketBind): This is not implemented yet.

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc,
	gnu/java/nio/natDoubleBufferImpl.cc,
	gnu/java/nio/natFloatBufferImpl.cc,
	gnu/java/nio/natIntBufferImpl.cc,
	gnu/java/nio/natLongBufferImpl.cc,
	gnu/java/nio/natShortBufferImpl.cc:
	Added copyright and license.
	* java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java
	(array): Throw exceptions.
	(arrayOffset): Throw exceptions.

2002-02-13  Ranjit Mathew  <rmathew@hotmail.com>

	* gnu/gcj/runtime/NameFinder.java (createStackTraceElement): Use
	lastIndexOf( ) instead of indexOf( ) to find the colon before
	the line number, because Win32 file names might contain a
	drive letter and a colon at the start of an absolute path.

2003-02-12  Jeff Sturm  <jsturm@one-point.com>

	* configure.host (alpha*-*): Default to -mieee.
	* configure.in (IEEESPEC): New.
	* libgcj.spec.in (jc1): Add IEEESPEC.
	* configure: Rebuild.

2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>

	* include/win32.h: Include ws2tcpip.h instead of
	winsock.h to obtain definition of the socklen_t type.
	Remove IP_TOS definition - not needed with ws2tcpip.h
	(_Jv_connect): Correct slight formatting error.

2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>

	* jni.cc (_Jv_LookupJNIMethod): Modify to accept the
	size of the arguments for a JNI function. For Win32,
	modify to search for all forms of possible exported
	names of an stdcall JNI function.
	(_Jv_JNIMethod::call): Modify to calculate the size
	of the arguments passed to a JNI function and pass
	it to _Jv_LookupJNIMethod.

2003-02-12  Michael Koch  <konqueror@gmx.de>

	* java/net/NetPermission.java
	(NetPermission): Make doucmentation match the method declaration.
	* java/net/NetworkInterface.java
	(equals): Reformated for GNU coding style.
	* java/net/ServerSocket.java: Merged with classpath.
	* java/net/Socket.java: Partly merged with classpath (Added some
	@since).
	* java/net/SocketImpl.java
	(localPort): Merged with classpath (initialize with -1).
	* java/net/SocketPermission.java: Merged with classpath (reindented).
	* java/net/URLDecoder.java: Merged with classpath (reindented).

2003-02-12  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/Channels.java: New file.
	* Makefile.am
	(ordinary_java_source_files): Added java/nio/channels/Channels.java.
	* Makefile.in: Regenerated.

2003-02-12  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(allocate): Implemented.
	(wrap): Implemented.
	* java/nio/CharBuffer.java:
	Some documentation added and reworked.
	(endian): Removed.
	(allocate): Implemented.
	(wrap): Implemented.
	(array): Throw exceptions.
	(arrayOffset): Throw exceptions.
	(toString): Implemented.
	(length): Implemented.
	(put): Implemented.
	(charAt): Implemented.

2003-02-11  John Leuner  <jewel@debian.org>

	* java/util/zip/ZipInputStream.java: Fix problem with 0-length 
	reads from end of file.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java:
	Reformated and removed some code.
	(backing_buffer): Removed.	
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(ByteBufferImpl): Use parent constructor, initialize readOnly.
	* gnu/java/nio/CharBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(CharBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/DoubleBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(DoubleBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/FloatBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(FloatBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/IntBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(IntBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/LongBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(LongBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/ShortBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(ShortBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/ByteBufferImpl.java
	gnu/java/nio/CharBufferImpl.java
	gnu/java/nio/DoubleBufferImpl.java
	gnu/java/nio/FloatBufferImpl.java
	gnu/java/nio/IntBufferImpl.java
	gnu/java/nio/LongBufferImpl.java
	gnu/java/nio/ShortBufferImpl.java
	java/nio/DoubleBuffer.java
	java/nio/FloatBuffer.java
	java/nio/IntBuffer.java
	java/nio/LongBuffer.java
	java/nio/ShortBuffer.java
	(nat_source_files): Added the following files:
	gnu/java/nio/natByteBufferImpl.cc
	gnu/java/nio/natCharBufferImpl.cc
	gnu/java/nio/natDoubleBufferImpl.cc
	gnu/java/nio/natFloatBufferImpl.cc
	gnu/java/nio/natIntBufferImpl.cc
	gnu/java/nio/natLongBufferImpl.cc
	gnu/java/nio/natShortBufferImpl.cc
	* Makefile.in: Regenerated.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natCharBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natDoubleBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natFloatBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natIntBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natLongBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natShortBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/SelectorProviderImpl.java
	(openDatagramChannel): Throws IOException.
	(openPipe): Throws IOException.
	(openSelector): Throws IOException.
	(openServerSocketChannel): Throws IOException.
	(openSocketChannel): Throws IOException.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(ServerSocketChannelImpl): Throws IOException.
	(implCloseSelectableChannel): Throws IOException.
	(implConfigureBlocking): Throws IOException.
	* java/nio/ByteBuffer.java
	(readOnly): Removed.
	(hasArray): Use isReadOnly() instead of readOnly.
	(array): Use isReadOnly() instead of readOnly.
	(arrayOffset): Use isReadOnly() instead of readOnly.
	* java/nio/CharBuffer.java
	(CharBuffer): Implements Cloneable and CharSequence.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/Buffer.java
	(cap, lim, pos, mark): Made private
	(Buffer): Added package private constructor.
	* java/nio/ByteBuffer.java
	(ByteBuffer): Implements Cloneable.
	(offset): New member variable.
	(readOnly): New member variable.
	(backing_buffer): New member variable.
	(allocateDirect): Throw exception and tell that direct buffers are
	not supported yet, documentation added.
	(allocate): Documentation added.
	(wrap): Documentation added.
	(ByteBuffer): New constructor.
	(hasArray): New method.
	(array): New method.
	(arrayOffset): New method.
	(get): Documentation added.
	(put): Documentation added.
	* java/nio/CharBuffer.java
	(CharBuffer): New constructor.
	(compareTo): Don't access member variables of Buffer directly.
	* java/nio/DoubleBuffer.java
	(allocateDirect): Throw exception and tell that direct buffers are
	not supported yet.
	* java/nio/FloatBuffer.java
	(allocateDirect): Throw exception and tell that direct buffers are
	not supported yet.
	* java/nio/IntBuffer.java
	(allocateDirect): Throw exception and tell that direct buffers are
	not supported yet.
	* java/nio/LongBuffer.java
	(allocateDirect): Throw exception and tell that direct buffers are
	not supported yet.
	* java/nio/MappedByteBuffer.java
	(MappedByteBuffer): New method.
	(force): New method.
	(isLoaded): New method.
	(load): New method.
	* java/nio/ShortBuffer.java
	(allocateDirect): Throw exception and tell that direct buffers are
	not supported yet.

2003-02-11  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/natFileDescriptorWin32.cc 
	(java::io::FileDescriptor::read): Return -1 (EOF) if ReadFile( )
	returns with Win32 error code ERROR_BROKEN_PIPE.

2003-02-10  Tom Tromey  <tromey@redhat.com>

	* javax/sql/ConnectionEvent.java (serialVersionUID): New field.
	(ex): Renamed from sqlException.

2003-02-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/DoubleBuffer.java
	(DoubleBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(DoubleBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/FloatBuffer.java
	(FloatBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(FloatBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/IntBuffer.java
	(IntBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(IntBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/LongBuffer.java
	(LongBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(LongBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/ShortBuffer.java
	(ShortBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(ShortBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.

2003-02-10  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileLockImpl.java,
	java/nio/channels/FileLock.java: New files.

2003-02-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/charset/IllegalCharsetNameException.java
	(serialVersionUID): New member variable.
	(charsetName): New member variable.
	(IllegalCharsetException): New implementation.
	(getCharsetName): New implementation.
	* java/nio/charset/UnsupportedCharsetException.java
	(serialVersionUID): New member variable.
	(charsetName): New member variable.
	(UnsupportedCharsetException): New implementation.
	(getCharsetName): New implementation.

2003-02-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/DatagramChannel.java
	(write): Throws IOException.
	(connect): Throws IOException.
	(disconnect): Throws IOException.
	(read): Throws IOException.
	(receive): Throws IOException.
	(send): Throws IOException.
	* java/nio/channels/Pipe.java
	(open): Throws IOException.
	* java/nio/channels/SelectableChannel.java
	(configureBlocking): Throws IOException.
	* java/nio/channels/ServerSocketChannel.java
	(accept): Throws IOException.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): Implements ByteChannel, ScatteringByteChannel,
	GatheringByteChannel.
	(read): Throws IOException.
	(write): Throws IOException.
	(finishConnect): Throws IOException.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(end): Throws AsynchronousCloseException.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(configureBlocking): Throws IOException.
	(implCloseChannel): Throws IOException.
	(implCloseSelectableChannel): Throws IOException.
	(implConfigureBlocking): Throws IOException.
	* java/nio/channels/spi/SelectorProvider.java
	(openDatagramChannel): Throws IOException.
	(openPipe): Throws IOException.
	(openSelector): Throws IOException.
	(openServerSocketChannel): Throws IOException.
	(openSocketChannel): Throws IOException.

2003-02-10  Raif S. Naffah  <raif@fl.net.au>

	* gnu/java/security/provider/SHA1PRNG.java (ensureIsSeeded): new 
	method used to ensure seeding has occurred and that a specific 
	seed can be set and used.

2003-02-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/SelectionKey.java
	(OP_ACCEPT, OP_CONNECT, OP_READ, OP_WRITE): Initialize with correct
	values.

2003-02-10  Ranjit Mathew  <rmathew@hotmail.com>

	* java/lang/Win32Process.java (destroy): Declare as native.
	(hasExited): New native method.
	(exitValue): Define.
	(getErrorStream): Likewise.
	(getInputStream): Likewise.
	(getOutputStream): Likewise.
	(waitFor): Declare as native.
	(startProcess): New native method.
	(cleanup): Likewise.
	(ConcreteProcess): Define.
	(outputStream, inputStream, errorStream): New members.
	(procHandle, exitCode): Likewise.

	* java/lang/natWin32Process.cc
	(java::lang::ConcreteProcess::cleanup): Define.
	(java::lang::ConcreteProcess::destroy): Likewise.
	(java::lang::ConcreteProcess::hasExited): Likewise.
	(java::lang::ConcreteProcess::waitFor): Likewise.
	(new_string): Likewise.
	(java::lang::ConcreteProcess::startProcess): Likewise.

2003-02-10  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java:
	Updated notice to include years 2002 and 3.
	Added 2 private (int) arrays with values from the HAC (Handbook of
	Applied Cryptography -A. Menezes & al): k[] that contains bit lengths
	and t[] that contains nbr. of tests --used in isProbablePrime().

	* java/math/BigInteger.java (make(long)): Merged into valueOf(long).

	* java/math/BigInteger.java (make(int[],int), add(int,int),
	add(BI,BI,int), times(BI,int), divide(long,long,BI,BI,int), gcd(BI),
	isProbablePrime(int), shift(BI,int), valueOf(String,int), neg(BI),
	bitOp(int,BI,BI), and(BI,int)): Use valueOf(long) instead of
	make(long).

	* java/math/BigInteger.java (euclidInv): Reduce number of work vars
	(euclidInv(int,int,int)): Now returns an array of 2 ints instead of 3.
	(euclidInv(BI,BI,BI)): Used to return an array of 2 BIs; now accepts 6
	BIs and returns void.
	(modInverse(BI)): Use new signatures of euclidInv().

	* java/math/BigInteger.java (isProbablePrime(int)): Use divide() with
	static small primes instead of remainder().
	Use pre-computed max nbr of trials based on bitlength of BI to test.
	Use pre-computed small primes for the trial tests instead of random
	numbers.

	* java/math/BigInteger.java (isOdd, isMinusOne, pow): Removed.
	not used.

	* java/math/BigInteger.java (format(int,StringBuffer)): Removed
	invoacation of MPN.chars_per_word().  not used.

	* java/math/BigInteger.java (gcd(int,int)): Declared 'tmp' once as
	local var and used where needed.

	* java/math/BigInteger.java (modPow(BI,BI)): Fixed spelling.
	Combined declaration with initialisation of locals.
	Removed unused var.

	* java/math/BigInteger.java: Style changes
	(pow(int)): Removed 'else' keyword.
	(toString(int)): idem.
	(doubleValue()): idem.
	(bitLength()): idem.
	(equals(Object)): Use static methods name in same class w/o prepending
	class name.
	(doubleValue()): idem.
	(setNegative(BI)): idem.
	(negate()): idem.
	(and(BI,int)): idem.
	(and(BI)): idem.
	(gcd(BI)): idem.
	(byteArrayToIntArray()): Removed casting to (int). this is
	std. behaviour.
	(canonicalize()): idem.
	(alloc(int)): Always instantiate a new BI.

2003-02-10  Tom Tromey  <tromey@redhat.com>

	* java/sql/Timestamp.java (compareTo(Object)): New method.
	(compareTo(Timestamp)): Likewise.
	(serialVersionUID): Updated.

2003-02-07  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (JarFile(String, boolean)): Read manifest
	when verify is true.
	(JarFile(File, boolean)): Likewise.
	(manifestRead): Set manifestRead field correctly.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/math/BigDecimal(valueOf): fix DiagBigDecimal val008, val013
	tests; see patch #1016 on Savannah.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/math/BigDecimal.java (BigDecimal): enhance parsing of exponents
	(toString): do not return Strings starting with . and - erroneously.
	Improves Mauve results to 12 of 600 instead of 16 of 338 on
	DiagBigDecimal.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/beans/PropertyDescriptor.java
	(PropertyDescriptor(String, Class)): Sanity check getter and setter
	methods.
	(PropertyDescriptor(String, Class, String, String)): Likewise.
	(PropertyDescriptor(String, Method, Method): Factor out getter and
	setter method sanity checks into new method.
	(findMethods): Don't do parameter sanity checking of get method here.
	(checkMethods): New method.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/beans/PropertyDescriptor.java: Reformat.

2003-02-04  Tom Tromey  <tromey@redhat.com>

	* java/io/PipedOutputStream.java (flush): Declare as throwing
	IOException.
	(close): Likewise.
	* java/io/PipedWriter.java (close): Declare as throwing
	IOException.
	* java/io/StringWriter.java (close): Declare as throwing
	IOException.

2003-02-03  Ranjit Mathew <rmathew@hotmail.com>

	* java/lang/natRuntime.cc (java::lang::Runtime::_load)): Take care
	of the fact that on Win32, JNI_OnLoad is an "stdcall" function and
	could also have been exported as "JNI_OnLoad@8" (MinGW) or
	"_JNI_OnLoad@8" (MSVC).

2003-02-03  Ranjit Mathew <rmathew@hotmail.com>

	* resolve.cc (_Jv_JNIMethod::ncode): Use stdcall calling
	convention on Win32 to invoke native JNI methods.

2003-02-03  Andrew Haley  <aph@redhat.com>

	* configure.host (x86_64): Enable interpreter.

2003-01-28  Andrew Haley  <aph@redhat.com>

        * libgcj.spec.in (jc1): Add BACKTRACESPEC.
        * configure.host (x86_64): Default to -fno-omit-frame-pointer.
        * configure.in (BACKTRACESPEC): New.
        * configure: Regenerate.

2003-02-02  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Link against
	libstdc++.

2003-01-31  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be
	cast to element type.
	(_Jv_JNI_SetObjectArrayElement): Check array bounds.
	(_Jv_JNI_GetObjectArrayElement): Likewise.

2003-01-31  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (cond_x_ltlibrary): Renamed library to
	lib-gnu-awt-xlib.la.
	(lib_gnu_awt_xlib_la_SOURCES): Renamed.
	(EXTRA_lib_gnu_awt_xlib_la_SOURCES): Likewise.
	(lib_gnu_awt_xlib_la_DEPENDENCIES): Likewise.
	(lib_gnu_awt_xlib_la_LIBADD): Likewise.
	(lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
	(lib_gnu_awt_xlib_la_LINK): Likewise.
	(install-exec-hook): Removed.
	(lib-gnu-awt-xlib.la): Renamed.

	* aclocal.m4, configure, include/config.h.in: Rebuilt.
	* acinclude.m4 (CHECK_FOR_BROKEN_MINGW_LD): Moved from
	aclocal.m4.

2003-01-31  Julian Dolby  <dolby@us.ibm.com>

	* java/util/Properties.java (load): Ignore backslash before EOF.

2003-01-28  Oscar Pearce  <oscar@pearceenterprises.com>

	* java/awt/Component.java (processPaintEvent): Dispose of Graphics
	object when finished.

2003-01-28  Andreas Tobler  <a.tobler@schweiz.ch>

	* libjava/configure.host: Disable can_unwind_signal on darwin.

2003-01-28  Ranjit Mathew  <rmathew@hotmail.com>

	Fixes PR java/9254:
	* include/win32-threads.h (_Jv_Mutex_t): Convert to a struct
	additionally containing id of the owner thread as well as
	the number of nested times the thread has acquired the mutex.
	(_Jv_MutexInit): Initialise owner thread id and refcount to 0.
	(_Jv_MutexDestroy): Reset owner thread id and refcount to 0.
	(_Jv_MutexUnlock): Check if really the owner thread, reset
	owner thread id to 0 before leaving, if leaving for the last
	time.
	(_Jv_MutexLock): Set owner thread id in the mutex and increment
	refcount.
	(_Jv_ThreadYield): Yield using a call to Sleep(0).
	* win32-threads.cc (_Jv_CondWait): Check if really owner of
	the passed mutex.
	Pass handle of the broadcast event, instead of a pointer to it
	in Win32 ResetEvent( ) call.
	Remove incorrect return values.
	(_Jv_CondDestroy): Close both event handles and delete
	critical section.
	(_Jv_CondNotify): Check if really the owner thread.
	(_Jv_CondNotifyAll): Check if really the owner thread.
	(_Jv_InitThreads): Change daemon_cond to a manual-reset event.
	(really_start): Use SetEvent( ) to signal daemon_cond.
	(_Jv_ThreadWait): Remove SignalObjectAndWait( ) and use
	WaitForSingleObject( ) instead to wait for daemon_cond to be
	signalled.

2003-01-28  Ranjit Mathew  <rmathew@hotmail.com>

	* configure.in: Specifically define HAVE_BACKTRACE if building
	for MinGW.
	* include/win32.h: Remove HAVE_BACKTRACE definition.
	* gnu/gcj/runtime/natStackTrace.cc: Include platform.h.
	* configure: Rebuilt.

2003-01-27  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (toolexecdir, toolexecmainlibdir, toolexeclibdir):
	Set and AC_SUBST.  Remove USE_LIBDIR conditional.
	* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
	(toolexecmainlib_DATA): Renamed from toolexeclib_DATA.
	* Makefile.in, configure: Rebuilt.

2003-01-24  Ranjit Mathew  <rmathew@hotmail.com>

	Fixes PR java/9253:
	* java/io/natFileWin32.cc (performList): Append only "*.*"
	if the canonical file path already has a "\" at the end.

2003-01-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (findLoadedClass): Removed erroneous
	comment.

2003-01-22  Andrew Haley  <aph@redhat.com>

        * x86_64-signal.h: Add simple handler for x86_64 32-bit mode.
        * configure.host (CHECKREFSPEC): Define for x86_64.

2003-01-21  Tom Tromey  <tromey@redhat.com>

	* java/util/natResourceBundle.cc (getCallingClassLoader): Start
	search at 2, not 3.

2003-01-21  Vladimir Puskas  <vpuskas@eunet.yu>

	* java/io/natFileWin32.cc (isAbsolute): Check path length before
	looking at any characters.
	* java/io/natFilePosix.cc (_stat): Only compute `buf' if it will
	be used.
	(isAbsolute): Check path's length as well.

2003-01-17  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (core_java_source_files): Add VMObjectStreamClass.java.
	(nat_source_files): Add natVMObjectStreamClass.cc.
	* Makefile.in: Regenerated.
	* gcj/javaprims.h (namespace java): Regenerated.
	* java/io/ObjectStreamClass.java (getClassUID): Call
	VMObjectStreamClass.hasClassInitializer().
	(hasClassInitializer): Removed.
	* java/io/VMObjectStreamClass.java: New class.
	* java/io/natVMObjectStreamClass.cc: New file.
	* java/lang/Class.h: Make java::io::VMObjectStreamClass friend class.

2003-01-19  Michael Koch  <konqueror@gmx.de>

	* java/net/MulticastSocket.java
	(setInterface): Reindented.

2003-01-16  Mark Wielaard  <mark@klomp.org>

	* java/net/SocketImpl.java (toString): Don't explicitly call
	toString() on possible null address.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/natGC.cc (fillPolygon): New method.
	* gnu/gcj/xlib/GC.java (fillPolygon): Declare.
	* gnu/awt/xlib/XGraphics.java (fillPolygon): Added translateX and
	translateY arguments.  Implement.
	* gnu/awt/j2d/IntegerGraphicsState.java (fillPolygon): Pass
	down translation arguments.
	(drawPolyline, drawPolygon): Fix incorrect tests.
	* gnu/awt/j2d/DirectRasterGraphics.java (fillPolygon): Added
	translateX and translateY arguments.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (xlib_includes): New macro.
	(INCLUDES): Use it.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XToolkit.java (getColorModel): Implemented.
	* gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Work with
	16-bit display mode.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/CardLayout.java (show): Rewrote.
	(gotoComponent): Removed `target' argument.  Simplified code.
	Don't pre-compute `choice' unless `what' is FIRST or LAST.
	Changed all callers.
	(NONE): Removed.

2003-01-14  Michael Koch  <konqueror@gmx.de>

	* java/net/InetSocketAddress.java
	(serialVersionUID): New member variable.
	* java/net/NetPermission.java
	(NetPermission): Dont implement java.io.Serialization directly.
	* java/net/SocketAddress.java:
	(serialVersionUID): Documentation added.

2003-01-14  Michael Koch  <konqueror@gmx.de>

	* java/awt/Label.java
	(Label): Implements javax.accessibility.Accessible;
	* java/awt/List.java
	(List): Implements javax.accessibility.Accessible;
	* java/awt/ScrollPane.java
	(ScrollPane): Implements javax.accessibility.Accessible;
	* java/awt/Scrollbar.java
	(Scrollbar): Implements javax.accessibility.Accessible;
	* java/awt/TextComponent.java
	(setCaretPosition): Throw exception, documentation added.
	* java/awt/Toolkit.java:
	Added some newlines in method documentations.
	(createButton): Exception documentation added.
	(createTextField): Exception documentation added.
	(createLabel): Exception documentation added.
	(createList): Exception documentation added.
	(createCheckbox): Exception documentation added.
	(createScrollbar): Exception documentation added.
	(createScrollPane): Exception documentation added.
	(createTextArea): Exception documentation added.
	(createChoice): Exception documentation added.
	(createFrame): Exception documentation added.
	(createWindow): Exception documentation added.
	(createDialog): Exception documentation added.
	(createMenuBar): Exception documentation added.
	(createMenu): Exception documentation added.
	(createMenuItem): Exception documentation added.
	(createFileDialog): Exception documentation added.
	(createCheckboxMenuItem): Exception documentation added.
	(loadSystemColors): Exception documentation added.
	(setDynamicLayout): Exception documentation added.
	(isDynamicLayoutSet): Exception documentation added.
	(isDynamicLayoutActive): Exception documentation added.
	(getScreenSize): Exception documentation added.
	(getScreenResolution): Exception documentation added.
	(getScreenInsets): Exception documentation added.
	(getColorModel): Exception documentation added.
	(getSystemClipboard): Exception documentation added.
	(getSystemSelection): Exception documentation added.
	(getMenuShortcutKeyMask): Exception documentation added.
	(getSystemEventQueue): Exception documentation added.
	* java/awt/Window.java:
	Reindented some code.
	(Window): Centralized implementation, documentation added.
	(finalize): Documentation added.
	(hide): Fixed typo in comment.
	(getWindowListeners): Documentation added.
	* java/awt/color/ColorSpace.java
	(toRGB): Documentation added.
	* java/awt/color/ICC_ColorSpace.java
	(ICC_ColorSpace): Documentation added.
	(toRGB): Throw exception, documentation added.
	(fromRGB): Throw exception, documentation added.
	(toCIEXYZ): Documentation added.
	(fromCIEXYZ): Documentation added.
	(getMinValue): Documentation added.
	(getMaxValue): Documentation added.
	* java/awt/geom/Dimension2D.java
	(clone): Documentation added.
	* java/awt/geom/GeneralPath.java
	(clone): Documentation added.
	* java/awt/geom/Line2D.java
	(clone): Documentation added.
	* java/awt/geom/QuadCurve2D.java
	(clone): Documentation added.
	* java/awt/image/ColorModel.java
	(ColorModel): Throw exception, documentation added.
	* java/awt/image/ImageFilter.java
	(clone): Doesnt throw CloneNotSupportedException.

2003-01-14  Andrew Haley  <aph@redhat.com>

        * java/lang/natRuntime.cc (_load): StackTrace access needs to be
        in a try block.

2003-01-10  Andrew Haley  <aph@redhat.com>

        * include/dwarf2-signal.h: Remove x86_64.
        * configure.host (x86_64 DIVIDESPEC): Remove.
        * include/x86_64-signal.h: New file.
        * configure.in: Regenerate.

2003-01-10  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(ch): Description added.
	(remotePort): Initialize with -1.
	(connect): Doesnt throws SocketException.
	* java/net/MulticastSocket.java
	(setInterface): Merge with Classpath.
	* java/net/ServerSocket.java
	(closed): New member variable.
	(bind): Check if socket is closed.
	(close): Close an associated channel too, set new value to closed.
	(isBound): Reindented.
	(isClosed): Implemented.
	* java/net/Socket.java
	(closed): New member variable.
	(bind): Check if socket is closed.
	(connect): Check if socket is closed.
	(close): Close an associated channel too, set new value to closed.
	(isClosed): Implemented.

2003-01-10  Michael Koch  <konqueror@gmx.de>

	* java/awt/DisplayMode.java
	(equals): Fixed argument type and implementation.

2003-01-07  Michael Koch  <konqueror@gmx.de>
 
 	* java/net/DatagramSocket.java:
 	Added classpath license info.
 	(DatagramSocket): Merged description with classpath.
 	(close): Merged description with classpath.
 	(getChannel): Merged description with classpath.
 	(getInetAddress): Merged description with classpath.
 	(getPort): Merged description with classpath.
 	(getLocalAddress): Merged description with classpath.
 	(getLocalPort): Merged description with classpath.
 	(getSoTimeout): Merged description with classpath.
 	(setSoTimeout): Merged description with classpath.
 	(getSendBufferSize): Merged description with classpath.
 	(setSendBufferSize): Merged description with classpath.
 	(getReceiveBufferSize): Merged description with classpath.
 	(setReceiveBufferSize): Merged description with classpath.
	
2003-01-07  Tom Tromey  <tromey@redhat.com>

	* include/posix.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.
	* include/win32.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.

2003-01-04  Tom Tromey  <tromey@redhat.com>

	* java/awt/List.java: Merged with Classpath.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	* java/io/FileDescriptor.java (position): New private field.
	* java/io/natFileDescriptorPosix.cc (write): Up position.
	(setLength): Use and set position.
	(seek): Set position.
	(getFilePointer): Return position.
	(read): Up position.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	Merge with Classpath:
	* java/io/ObjectStreamClass.java (lookup): Split method and call
	lookupForClassObject().
	(lookupForClassObject): New method.
	(isProxyClass): New field.
	(setClass): Set isProxyClass, add object to classLookupTable, set
	superClass and calculateOffsets.
	(ObjectStreamClass): Set isProxyClass. Only set uid when Serializable
	and not a proxy class.
	(setFields): Set accessible true for serialPersistentFields.
	(getClassUID): Same for suid. And check if suid is of type long.
	(hasClassInitializer): Don't throw NoSuchMethodError.

2003-01-03  Jeff Sturm  <jsturm@one-point.com>

	* configure.host (sparc*-*): Enable bytecode interpreter.

2003-01-03  Mark Wielaard  <mark@klomp.org>

        * java/io/FileInputStream.java (finalize): Don't explicitly
        finalize FileDescriptor.

2003-01-03  Dhek Bhun Kho  <bhun@chello.nl>

	* gnu/java/rmi/server/UnicastServerRef.java (unexportObject):
	Don't throw RemoteException.
	* java/rmi/server/UnicastRemoteObject.java (unexportObject): Don't
	throw RemoteException.

2003-01-03  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>

	* gnu/gcj/protocol/http/Connection.java (proxyPort, proxyInUse,
	proxyHost): New static fields.
	(<clinit>): Initialize new fields.
	(connect): Use proxy if necessary.
	(usingProxy): Implement.

2003-01-03  Eric Blake  <ebb9@email.byu.edu>

	* java/util/TreeMap.java (fabricateTree): Fix off-by-one error.
	(TreeIterator.remove): Prefer IllegalStateException over
	ConcurrentModificationException, to match Sun.

2002-01-02  Anthony Green  <green@redhat.com>

	* boehm.cc (_Jv_MarkObj): Mark the protectionDomain of a class.

2003-01-02  Mark Wielaard  <mark@klomp.org>

	* java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
	public.
	(HTTP_USE_PROXY): Add field.
	(getResponseVals): Only set responseCode when not yet explicitly
	set by subclass.

2003-01-02  Artur Biesiadowski  <abies@pg.gda.pl>
	    Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (entries): Now HashMap.
	(readLeShort(DataInput, byte[])): Read from given byte array.
	(readLeInt(DataInput, byte[]): Likewise.
	(readLeShort(byte[] b, int off)): New method.
	(readLeInt(byte[] b, int off)): Likewise.
	(readEntries): Use byte arrays to read info in bigger chunks.
	(getEntries): Return HashMap.
	(getEntry): Use HashMap.
	(locBuf): New private field.
	(checkLocalHeader): Use locBuf to read info in one chunk.
	(getInputStream): Use entries HashMap, wrap PartialInputStream
	in BufferedInputStream.
	(ZipEntryEnumeration): Use HashMap and Interator.

2003-01-02  Mark Wielaard  <mark@klomp.org>
	    Jeroen Frijters  <jeroen@sumatra.nl>

	* java/net/URLClassLoader.java (Resource.getCodeSource):
	Fix check certs == null.
	(getCanonicalFileURL): Removed method.
	(JarURLLoader): Don't call removed method.
	(FileURLLoader): Likewise.
	(FileURLLoader.getResource): Don't canonicalize file name.

2003-01-01  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (rmi_java_source_files): Added RMIClassLoaderSpi.
	* java/awt/AlphaComposite.java, java/awt/BasicStroke.java,
	java/awt/BufferCapabilities.java, java/awt/Button.java,
	java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
	java/awt/Container.java, java/awt/Cursor.java,
	java/awt/EventQueue.java, java/awt/FileDialog.java,
	java/awt/Graphics2D.java, java/awt/Label.java, java/awt/Menu.java,
	java/awt/MenuBar.java, java/awt/MenuComponent.java,
	java/awt/PopupMenu.java, java/awt/ScrollPane.java,
	java/awt/Scrollbar.java, java/awt/TextArea.java,
	java/awt/TextField.java, java/awt/color/CMMException.java,
	java/awt/color/ColorSpace.java, java/awt/color/ICC_Profile.java,
	java/awt/color/ProfileDataException.java,
	java/awt/datatransfer/Clipboard.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/datatransfer/FlavorMap.java,
	java/awt/datatransfer/SystemFlavorMap.java,
	java/awt/dnd/DragGestureEvent.java,
	java/awt/dnd/DragGestureRecognizer.java,
	java/awt/dnd/DragSource.java, java/awt/dnd/DropTarget.java,
	java/awt/event/WindowEvent.java, java/awt/geom/PathIterator.java,
	java/awt/im/InputMethodHighlight.java,
	java/io/PipedOutputStream.java, java/io/PipedWriter.java,
	java/rmi/server/RMIClassLoader.java: Merged from Classpath.

	* gnu/awt/j2d/Graphics2DImpl.java (drawImage): Changed type of
	`op' to BufferedImageOp.

2002-12-31  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/7416:
	* javax/naming/InitialContext.java (init): Use
	gnu.classpath.home.url.
	* java/security/Security.java: Use new properties.
	(loadProviders): Accept base url; use it.
	* java/lang/System.java: Document gnu.classpath.vm.shortname, and
	gnu.classpath.home.url.
	(gnu.classpath.home.url): Define.
	(gnu.classpath.vm.shortname): Likewise.

2002-12-31  Tom Tromey  <tromey@redhat.com>
	Ranjit Mathew  <rmathew@hotmail.com>

	Fix for PR libgcj/8997:
	* java/lang/natObject.cc (spin): Use _Jv_platform_usleep.
	Include platform.h.
	* include/posix.h (_Jv_platform_usleep): New function.
	* include/win32.h (_Jv_platform_usleep): New function.

2002-12-30  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class list.

2002-12-30  Mark Wielaard  <mark@klomp.org>

	* java/net/URLStreamHandler.java (toExternalForm): Ignore port
	if zero or smaller.

2002-12-30  Mark Wielaard  <mark@klomp.org>

	* java/util/Properties (formatForOutput): Don't fall through to
	default case after escaping character.

2002-11-30  Mark Wielaard  <mark@klomp.org>

	* java/lang/StringBuffer.java (getChars): Remove wrong dstOffset check
	against count.

2002-11-21  Anthony Green  <green@redhat.com>

	* Makefile.am: Move org.xml.sax and org.w3c.dom into their own
	libraries.
	* Makefile.in: Rebuilt.

2002-12-19  Anthony Green  <green@redhat.com>

	* Makefile.am (ordinary_java_source_files): Add
	org/xml/sax/helpers/NewInstance.java.
	* Makefile.in: Rebuilt.
	* org/xml/sax/package.html, org/xml/sax/ext/package.html,
	org/xml/sax/helpers/package.html: New files.
	* org/xml/sax/*: Upgrade to SAX 2.0.1 release from
	http://www.saxproject.org.

2002-12-19  Andrew Haley  <aph@redhat.com>

	* java/util/natResourceBundle.cc: Include
	ArrayIndexOutOfBoundsException.h.
	(getCallingClassLoader): Don't put upper bound on stack search.
	Catch ArrayIndexOutOfBoundsException.

2002-12-19  Tom Tromey  <tromey@redhat.com>

	* libtool-version: Increased `current'.

2002-12-19  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc (defineClass0): Removed erroneous
	comment.
	* java/lang/ClassLoader.java (defineClass): Use chained
	exception when rethrowing.
	* defineclass.cc (handleClassBegin): Mark class as interpreted.
	* java/lang/reflect/Modifier.java (INVISIBLE, INTERPRETED): New
	constants.
	* resolve.cc (_Jv_PrepareMissingMethods): New function.
	(_Jv_PrepareClass): Use it.
	* include/java-interp.h (_Jv_IsInterpretedClass): Rewrote.
	(_Jv_InterpClass): _Jv_PrepareMissingMethods now friend.
	* java/lang/Class.h (Class::getModifiers): Mask with ALL_FLAGS.
	(Class): _Jv_PrepareMissingMethods now friend.
	* java/lang/natClassLoader.cc (defineClass0): Use JvSynchronize.
	Record `NULL' for system class loader.
	(_Jv_RegisterInitiatingLoader): Use JvSynchronize.  Special case
	system class loader.
	(_Jv_FindClassInCache): Likewise.
	(_Jv_UnregisterClass): Use JvSynchronize.  Free old loader info.
	(_Jv_FindClass): Special case system class loader.
	* java/lang/natClass.cc (_Jv_abstractMethodError): New function.
	(_Jv_SetVTableEntries): Put _Jv_abstractMethodError into empty
	vtable slots.
	(_Jv_LayoutVTableMethods): Don't generate vtable slot for a method
	in a final class.
	(_getDeclaredMethod): Don't return synthetic methods.
	(getDeclaredMethods): Likewise.
	(_getMethod): Likewise.
	(_getMethods): Likewise.

2002-12-18  Raif Naffah  <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Make sure quot and rem are in
	canonical form after divide().
	(modInverse): Likewise.

2002-12-13  Casey Marshall  <rsdio@metastatic.org>
	    Mark Wielaard  <mark@klomp.org>

	* java/security/SecurityRandom (digest): Removed field.
	(SecureRandom): Check all providers for case-insensitive SecureRandom
	implementation. Don't ignore classname == null. Fallback to SHA1PRNG
	if necessary.
	(getInstance(String,Provider,boolean): New method.
	(getInstance(String)): Use new method.
	(getInstance(String,String)): Likewise.
	(getInstance(String,Provider)): Likewise.

2002-12-13  Casey Marshall  <rsdio@metastatic.org>

	* java/security/Security.java (loadProviders): Increment i only once.

2002-12-12  Mark Wielaard  <mark@klomp.org>

	* java/lang/ClassLoader.java (resolveClass0): Transform
	ClassNotFoundException to NoClassDefFoundError. Transform all other
	throwables to LinkageError.

2002-12-11  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (findLoadedClass): Now synchronized.

	* java/lang/ClassLoader.java (loadedClasses): New field.
	(defineClass): Fixed indentation.  Put new class in
	loadedClasses.
	(findLoadedClass): Implement here.
	* java/lang/natClassLoader.cc (findLoadedClass): Removed.

2002-12-10  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natVMClassLoader.cc.
	* gnu/gcj/runtime/natVMClassLoader.cc: New file.
	(gnu::gcj::runtime::VMClassLoader::findClass): Moved here.
	* java/lang/natClassLoader.cc
	(gnu::gcj::runtime::VMClassLoader::findClass): Removed.

2002-12-10  Mark Wielaard  <mark@klomp.org>
            Tom Tromey  <tromey@redhat.com>

	* java/net/URLClassLoader.java (getCanonicalFileURL): New method.
	(JarURLLoader): Use it.
	(FileURLLoader): Likewise.
	(JarURLResource.getURL): Use chained exception.
	(FileResource.getURL): Likewise.
	(FileURLLoader.getResource): Use canonical file name.
	(addURL): Indentation fix.

2002-12-10  Tom Tromey  <tromey@redhat.com>

	* include/win32.h: Fixed typo in "DISABLE_JAVA_NET".
	From Laurent Bardet <l.bardet@magic.fr>.

2002-12-09  Tom Tromey  <tromey@redhat.com>

	* include/win32.h (_Jv_platform_solib_prefix): New define.
	(_Jv_platform_solib_suffix): Likewise.
	* include/posix.h (_Jv_platform_solib_prefix): New define.
	(_Jv_platform_solib_suffix): Likewise.
	* java/lang/natRuntime.cc: Include StackTrace.h.
	(_load): Use findLibrary and new platform defines.
	(nativeGetLibname): Use new platform defines.

	* java/util/natResourceBundle.cc (getCallingClassLoader): Assume
	`t' won't be null.

2002-12-08  Mark Wielaard  <mark@klomp.org>

	* gnu/gcj/protocol/jar/Connection.java (getJarFile): download and
	cache remote jar files.
	* gnu/gcj/runtime/VMClassLoader.java: Don't construct jar URL, only
	add File.separator to URL when it is a directory.
	* java/lang/ClassLoader.java: Add Classpath javadoc.
	(parent): final.
	(getParent): Add (disabled) security check.
	(findLibrary): New default method.
	* java/net/JarURLConnection.java (getManifest): Implement.
	(getInputStream): Only create InputStream when entry exists.
	(getHeaders): Only use jarFileURLConnection or JarEntry to set length
	when they exist.
	* java/net/URLClassLoader.java: New/Rewritten version from Classpath.

2002-12-08  Mark Wielaard  <mark@klomp.org>

	* java/util/ResourceBundle.java (resourceBundleCache): Not final.
	(lastDefaultLocale): New field.
	(getBundle): When Locale.getDefault != lastDefaultLocale reset
	resourceBundleCache.

2002-12-06  Mark Wielaard  <mark@klomp.org>

	* java/net/InetAddress.java (toString): Use hostname when not null,
	don't do an explicit reverse getHostName() lookup.
	* java/net/Socket.java (setSocketImplFactory): When fac == null throw
	NullPointerException.

2002-12-06  Tom Tromey  <tromey@redhat.com>

	* include/java-interp.h (class _Jv_InterpMethod): Added
	JV_MARKOBJ_DECL.
	* boehm.cc (_Jv_MarkObj): Consolidated interpreter code.  Also
	mark `prepared' field of interpreted method.
	* interpret.cc (compile): Use _Jv_AllocBytes.

2002-12-05  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Throw
	#ifdef (HAVE_BACKTRACE) around the whole function body.

2002-12-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (_Jv_SetVTableEntries): Updated declaration.
	* resolve.cc: Don't include AbstractMethodError.h.
	(_Jv_abstractMethodError): Removed.
	* defineclass.cc (handleMethodsBegin): Initialize method index to
	-1.
	* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Don't set
	method index for "new" final method.
	(_Jv_SetVTableEntries): Compare index against -1 instead of using
	isVirtualMethod.  Added `flags' argument.
	(_Jv_MakeVTable): Throw exception for abstract method in concrete
	class.

2002-12-04  Tom Tromey  <tromey@redhat.com>

	* java/net/SocketPermission.java (hashCode): Rewrote.

2002-12-04  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natVMSecurityManager,
	natResourceBundle.
	* java/util/ResourceBundle.java (Security): Removed.
	(getCallingClassLoader): Now native.
	* java/util/natResourceBundle.cc: New file.
	* java/lang/natVMSecurityManager.cc: New file.
	* java/lang/VMSecurityManager.java (getClassContext): Now native.

2002-12-03  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (manifest): Not final.
	(manifestRead): New field.
	(JarFile): Don't read Manifest in constructor.
	(getManifest): New method.
	(JarEnumeration.nextElement): Use new method.
	(getEntry): Likewise.
	* java/util/zip/ZipFile.java (name): Final.
	(raf): Likewsie.
	(entries): Change type to Hashtable.
	(closed): New field.
	(ZipFile): Don't read enties in constructor.
	(readEntries): Use Hashtable.
	(close): Set new close flag and set entries to null inside
	synchronized block.
	(entries): Contruct enumeration using new getEntries() method and
	entries Hashtable.
	(getEntryIndex): Removed.
	(getEntries): New method.
	(getEntry): Use new getEntries() method and entries Hastable.
	(getInputStream): Likewise.
	(size): Return getEntries().size().
	(ZipEntryEnumeration): Wrap entries Hashtable elements.
	* java/util/zip/ZipEntry.java (cal): Don't initialize.
	(time): Removed
	(dostime): New field.
	(zipFileIndex): Removed.
	(ZipEntry(ZipEntry)): Copy dostime.
	(setDOSTime): Now final and doesn't convert dos time.
	(getDOSTime): Likewise.
	(setTime): Convert dos time.
	(getTime): Likewise.
	(getCalendar): New method.
	(setExtra): Use setTime().
	* java/util/zip/ZipInputStream.java (getNextEntry): Format error msg.

2002-12-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/Character.java (forDigit): Formatting fix.

2002-12-03  Raif Naffah  <raif@fl.net.au>

        * java/security/spec/DSAParameterSpec.java (getP): Return p, not q.
        * java/security/spec/DSAPrivateKeySpec.java (getP): Likewise.
        * java/security/spec/DSAPublicKeySpec.java (getP): Likewise.

2002-12-03  Andrew Haley  <aph@redhat.com>

        * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
	_Jv_PushClass.
        (_Jv_InitNewClassFields): Set protectionDomain and chain = NULL.
        (_Jv_PopClass): New.
        (_Jv_PushClass): New.
        * java/lang/natClass.cc (forName (jstring)): Use a StackTrace to
        discover the ClassLoader of our caller.
        (_Jv_CheckArrayStore): Don't check that a class is assignment
        compatible with Object.
        * java/lang/natVMTHrowable.cc: Delete.
        * gnu/gcj/runtime/StackTrace.java: New, partly copied from
	java.lang.VMThrowable.
        (StackTrace(), StackTrace(int)): New constructors.
        (classAt, methodAt, update, methodAtAddress): New methods.
        (map): New field.
	* java/lang/VMThrowable.java: Use StackTrace instead of
	natVMTHrowable.        
	* java/lang/Class.h (getClassLoaderInternal): New.
        (class Class): Be friendly with _Jv_PopClass and _Jv_PushClass.
        Be friendly with gnu::gcj::runtime::StackTrace.
        (Object.chain): New field.
        * include/java-interp.h (class _Jv_InterpMethod): Be friendly with
        gnu::gcj::runtime::StackTrace.
	* gnu/gcj/runtime/natStackTrace.cc: New file.
	* gnu/gcj/runtime/MethodRef.java: New file.
        * prims.cc (_Jv_NewObjectArray): Use getClassLoaderInternal()
        instead of getClassLoader().
        * verify.cc (class _Jv_BytecodeVerifier): Likewise.
        java::lang::VMThrowable.
        * Makefile.am (core_java_source_files): Add MethodRef.java,
	StackTrace.java.
        (nat_source_files): Remove natVMThrowable.cc; add natStackTrace.cc.
        * Makefile.in: Rebuild.

2002-12-02  Tom Tromey  <tromey@redhat.com>

	* jni.cc: Added `name' argument.
	* include/jni.h (struct JNINativeInterface) [DefineClass]: Added
	`const char *' argument.
	(class _Jv_JNIEnv) [DefineClass]: Likewise.

2002-12-01  Tom Tromey  <tromey@redhat.com>

	Bug compatibility, for PR libgcj/8738:
	* java/io/CharArrayWriter.java (close): Do nothing.
	(flush): Likewise.
	(reset): Don't touch `closed'.
	(write(int)): Don't throw IOException.
	(write(char[],int,int)): Likewise.
	(write(String,int,int)): Likewise.
	(closed): Removed.

2002-12-01  Mark Wielaard  <mark@klomp.org>

	* java/lang/SecurityManager.java: Remerge comments, indenting and
	checkXXX methods with Classpath.

2002-11-29  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/image/ColorModel.java (getUnnormalizedComponents,
	getNormalizedComponents): Fix calculation which was using one too
	many bits in the unnormalized format.

2002-11-29  Gary Benson  <gbenson@redhat.com>

	For PR libgcj/8759:
	* java/beans/Introspector.java (flushCaches): New method.
	(flushFromCaches): Likewise.

2002-11-29  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/DatagramChannel.java
	(open): Added exception documentation.
	(write): Added exception documentation.
	(connect): Added exception documentation.
	(disconnect): Added exception documentation.
	(isConnected): Added exception documentation.
	(read): Added exception documentation.
	(receive): Added exception documentation.
	(send): Added exception documentation.
	(validOps): Added exception documentation.
	* java/nio/channels/SocketChannel.java
	(open): Added exception documentation.
	(read): Added exception documentation.
	(write): Added exception documentation.
	(connect): Added exception documentation.
	(finishConnect): Added exception documentation.
	
2002-11-29  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl:
	(fd): New member variable to store file descriptor of socket.
	* gnu/java/nio/SelectionKeyImpl.java:
	(ops): Removed.
	(readyOps): New member variable.
	(interestOps): New member variable.
	(readyOps): Implemented.
	(readyOps): New method to set member variable readyOps.
	(interestOps): Replaced ops by interestOps.
	* gnu/java/nio/SelectorImpl.java:
	(SelectorImpl): Initialize key sets.
	(select): Call select with -1 instead of Long.MAX_VALUE).
	(java_do_select): Make it a native method.
	(getFDsAsArray): New helper method.
	(select): Remove canceled keys, give only interested file discriptors
	to java_do_select, set ready ops.
	(add): No need to initialize keys set here.
	(add_selected): No need to initialize selected set here.
	(deregisterCanceledKeys): New helper method.
	(register): Set interest ops, set attachments, added handling of datagram
	channels.
	* gnu/java/nio/ServerSocketChannelImpl:
	(SocketAccept): Renamed from NioSocketAccept.
	(implConfigureBlocking): Implemented.
	(accept): Use SocketAccept instead of NioSocketAccept.	
	* gnu/java/nio/SocketChannelImpl:
	Reactivate native methods.
	
2002-11-29  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc,
	gnu/java/nio/natDoubleBufferImpl.cc,
	gnu/java/nio/natFloatBufferImpl.cc,
	gnu/java/nio/natIntBufferImpl.cc,
	gnu/java/nio/natLongBufferImpl.cc,
	gnu/java/nio/natSelectorImpl.cc,
	gnu/java/nio/natServerSocketChannelImpl.cc,
	gnu/java/nio/natShortBufferImpl.cc,
	gnu/java/nio/natSocketChannelImpl.cc:
	New files that implement native functionalities.

2002-11-29  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/CharBufferImpl.java:
	Reformated.
	(endian): New member variable string endianess of buffer.
	(CharBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	(subSequence): Implemented.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/FloatBufferImpl.java
	Reformated.
	(FloatBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/IntBufferImpl.java
	Added needed imports, Reformated.
	(IntBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/LongBufferImpl.java
	Reformated.
	(LongBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/ShortBufferImpl.java
	Reformated.
	(ShortBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.

2002-11-27  Julian Dolby  <dolby@us.ibm.com>

	* java/util/Locale.java (toString): Improve efficiency if country
	and variant are both empty.

2002-11-26  Tom Tromey  <tromey@redhat.com>

	* verify.cc (pop_init_ref): New method.
	(verify_instructions_0) [op_iaload, op_laload, op_faload,
	op_daload, op_aaload, op_baload, op_caload, op_saload, op_iastore,
	op_lastore, op_fastore, op_dastore, op_aastore, op_bastore,
	op_castore, op_sastore, op_areturn, op_arraylength, op_checkcast,
	op_instanceof, op_monitorenter, op_monitorexit]: Use it.
	(verify_instructions_0) [op_invokevirtual, op_invokespecial,
	op_invokestatic, op_invokeinterface]:  Use pop_init_ref.  Don't
	let `this' argument be uninitialized.  Don't let `null' be passed
	as `this' to construtor.

2002-11-26  Mark Wielaard  <mark@klomp.org>

	* javax/transaction/HeuristicCommitException.java: Classpath merge.
	* javax/transaction/HeuristicMixedException.java: Likewise.
	* javax/transaction/HeuristicRollbackException.java: Likewise.
	* javax/transaction/InvalidTransactionException.java: Likewise.
	* javax/transaction/NotSupportedException.java: Likewise.
	* javax/transaction/RollbackException.java: Likewise.
	* javax/transaction/Status.java: Likewise.
	* javax/transaction/Synchronization.java: Likewise.
	* javax/transaction/SystemException.java: Likewise.
	* javax/transaction/Transaction.java: Likewise.
	* javax/transaction/TransactionManager.java: Likewise.
	* javax/transaction/TransactionRequiredException.java: Likewise.
	* javax/transaction/TransactionRolledbackException.java: Likewise.
	* javax/transaction/UserTransaction.java: Likewise.
	* javax/transaction/xa/XAException.java: Likewise.
	* javax/transaction/xa/XAResource.java: Likewise.
	* javax/transaction/xa/Xid.java: Likewise.

2002-11-26  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/net/natPlainDatagramSocketImpl.cc (socklen_t): Don't
	define.
	* java/net/natPlainSocketImpl.cc (socklen_t): Don't define.
	* include/posix.h (socklen_t): Define if not already defined.

2002-11-25  Tom Tromey  <tromey@redhat.com>

	* verify.cc (type::compatible): Backed out broken change.

	* verify.cc (type::compatible): Check initialization status
	first.
	* interpret.cc (run) [insn_invokespecial, invokespecial_resolved]:
	Don't use NULLCHECK.

2002-11-23  Mark Wielaard  <mark@klomp.org>

	* javax/naming/AuthenticationException.java: Update copyright header.
	* javax/naming/AuthenticationNotSupportedException.java: Likewise.
	* javax/naming/Binding.java: Likewise.
	* javax/naming/CannotProceedException.java: Likewise.
	* javax/naming/CommunicationException.java: Likewise.
	* javax/naming/CompositeName.java: Likewise.
	* javax/naming/CompoundName.java: Likewise.
	* javax/naming/ConfigurationException.java: Likewise.
	* javax/naming/Context.java: Likewise.
	* javax/naming/ContextNotEmptyException.java: Likewise.
	* javax/naming/InitialContext.java: Likewise.
	* javax/naming/InsufficientResourcesException.java: Likewise.
	* javax/naming/InterruptedNamingException.java: Likewise.
	* javax/naming/LimitExceededException.java: Likewise.
	* javax/naming/LinkException.java: Likewise.
	* javax/naming/LinkLoopException.java: Likewise.
	* javax/naming/LinkRef.java: Likewise.
	* javax/naming/MalformedLinkException.java: Likewise.
	* javax/naming/NameAlreadyBoundException.java: Likewise.
	* javax/naming/NameClassPair.java: Likewise.
	* javax/naming/NameNotFoundException.java: Likewise.
	* javax/naming/NameParser.java: Likewise.
	* javax/naming/NamingEnumeration.java: Likewise.
	* javax/naming/NamingSecurityException.java: Likewise.
	* javax/naming/NoInitialContextException.java: Likewise.
	* javax/naming/NoPermissionException.java: Likewise.
	* javax/naming/NotContextException.java: Likewise.
	* javax/naming/OperationNotSupportedException.java: Likewise.
	* javax/naming/PartialResultException.java: Likewise.
	* javax/naming/Reference.java: Likewise.
	* javax/naming/Referenceable.java: Likewise.
	* javax/naming/ReferralException.java: Likewise.
	* javax/naming/ServiceUnavailableException.java: Likewise.
	* javax/naming/SizeLimitExceededException.java: Likewise.
	* javax/naming/TimeLimitExceededException.java: Likewise.
	* javax/naming/directory/Attribute.java: Likewise.
	* javax/naming/directory/AttributeInUseException.java: Likewise.
	* javax/naming/directory/AttributeModificationException.java: Likewise.
	* javax/naming/directory/Attributes.java: Likewise.
	* javax/naming/directory/BasicAttribute.java: Likewise.
	* javax/naming/directory/BasicAttributes.java: Likewise.
	* javax/naming/directory/DirContext.java: Likewise.
	* javax/naming/directory/InitialDirContext.java: Likewise.
	* javax/naming/directory/InvalidAttributeIdentifierException.java:
	Likewise.
	* javax/naming/directory/InvalidAttributeValueException.java: Likewise.
	* javax/naming/directory/InvalidAttributesException.java: Likewise.
	* javax/naming/directory/InvalidSearchControlsException.java: Likewise.
	* javax/naming/directory/InvalidSearchFilterException.java: Likewise.
	* javax/naming/directory/ModificationItem.java: Likewise.
	* javax/naming/directory/NoSuchAttributeException.java: Likewise.
	* javax/naming/directory/SchemaViolationException.java: Likewise.
	* javax/naming/directory/SearchControls.java: Likewise.
	* javax/naming/directory/SearchResult.java: Likewise.
	* javax/naming/event/EventContext.java: Likewise.
	* javax/naming/event/EventDirContext.java: Likewise.
	* javax/naming/event/NamespaceChangeListener.java: Likewise.
	* javax/naming/event/NamingEvent.java: Likewise.
	* javax/naming/event/NamingExceptionEvent.java: Likewise.
	* javax/naming/event/NamingListener.java: Likewise.
	* javax/naming/event/ObjectChangeListener.java: Likewise.
	* javax/naming/ldap/Control.java: Likewise.
	* javax/naming/ldap/ControlFactory.java: Likewise.
	* javax/naming/ldap/ExtendedRequest.java: Likewise.
	* javax/naming/ldap/ExtendedResponse.java: Likewise.
	* javax/naming/ldap/HasControls.java: Likewise.
	* javax/naming/ldap/InitialLdapContext.java: Likewise.
	* javax/naming/ldap/LdapContext.java: Likewise.
	* javax/naming/ldap/LdapReferralException.java: Likewise.
	* javax/naming/ldap/UnsolicitedNotification.java: Likewise.
	* javax/naming/ldap/UnsolicitedNotificationEvent.java: Likewise.
	* javax/naming/ldap/UnsolicitedNotificationListener.java: Likewise.
	* javax/naming/spi/DirObjectFactory.java: Likewise.
	* javax/naming/spi/DirStateFactory.java: Likewise.
	* javax/naming/spi/DirectoryManager.java: Likewise.
	* javax/naming/spi/InitialContextFactory.java: Likewise.
	* javax/naming/spi/InitialContextFactoryBuilder.java: Likewise.
	* javax/naming/spi/NamingManager.java: Likewise.
	* javax/naming/spi/ObjectFactory.java: Likewise.
	* javax/naming/spi/ObjectFactoryBuilder.java: Likewise.
	* javax/naming/spi/ResolveResult.java: Likewise.
	* javax/naming/spi/Resolver.java: Likewise.
	* javax/naming/spi/StateFactory.java: Likewise.

	* javax/naming/spi/NamingManager.java (ofb): Package private.

2002-11-21  Mark Wielaard  <mark@klomp.org>

	* java/net/URL.java: Merge with Classpath (partly).
	* java/net/URLStreamHandler: Merge with Classpath.

2002-11-22  Michael Koch <konqueror@gmx.de>

	* include/posix.h:
	(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
	* include/win32.h:
	(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
	(backtrace): Moved out of #ifndef DISBALE_JAVA_NET.

2002-11-21  Michael Koch <konqueror@gmx.de>

	* include/posix.h: I put too much into the #ifndef DISABLE_JAVA_NET.
	Only the new network functions should be in it.
	
2002-11-21  Michael Koch <konqueror@gmx.de>

	* include/posix.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
	* include/win32.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
	
2002-11-21  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/AsynchronousCloseException.java,
	java/nio/channels/CancelledKeyException.java,
	java/nio/channels/ClosedByInterruptException.java,
	java/nio/channels/ConnectionPendingException.java,
	java/nio/channels/FileLockInterruptionException.java,
	java/nio/channels/IllegalSelectorException.java,
	java/nio/channels/NoConnectionPendingException.java,
	java/nio/channels/NonReadableChannelException.java,
	java/nio/channels/NonWritableChannelException.java,
	java/nio/channels/NotYetBoundException.java,
	java/nio/channels/NotYetConnectedException.java,
	java/nio/channels/OverlappingFileLockException.java,
	java/nio/channels/UnresolvedAddressException.java,
	java/nio/channels/UnsupportedAddressTypeException.java:
	New files.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-11-21  Michael Koch <konqueror@gmx.de>

	* include/posix.h
	(_Jv_socket): New method.
	(_Jv_connect): New method.
	(_Jv_close): New method.
	(_Jv_platform_close_on_exec): Prefixed system function with "::".
	(_Jv_bind): New method.
	(_Jv_listen): New method.
	(_Jv_write): New method.
	(_Jv_read): New method.
	* include/win32.h
	(_Jv_socket): New method.
	(_Jv_connect): New method.
	(_Jv_close): New method.
	(_Jv_bind): New method.
	(_Jv_listen): New method.
	(_Jv_write): New method.
	(_Jv_read): New method.
	* java/net/natNetworkInterface.cc:
	Include platform.h, removed inclusion of socket.h
	(getRealNetworkInterfaces): Replaced ::socket() by _Jv_socket() and
	::close() by _Jv_close().
	* java/net/natPlainDatagramSocketImpl.cc:
	Removed include of socket.h, definition of NATIVE_CLOSE and _Jv_bind,
	added some new lines to make code more readable.
	(create): Replaced ::socket() by _Jv_socket().
	(close): Replaced NATIVE_CLOSE() by _Jv_close().
	* java/net/natPlainSocketImpl.cc:
	Removed definition of NATIVE_CLOSE, _Jv_bind, Jv_connect and _Jv_accept,
	removed include of socket.h, removed some windows defines
	(now in include/win32.h).
	(create): Replaced ::socket() by _Jv_socket().
	(close): Replaced NATIVE_CLOSE() by _Jv_close().
	(write): Replaced ::read by _Jv_write().
	(read): Replaced ::read by _Jv_read().

2002-11-20  Michael Koch <konqueror@gmx.de>

	* Makefile.am (ordinary_java_source_files):
	Added java/nio/channels/FileChannel.java.
	* Makefile.in: Regenerated.
	
2002-11-20  Michael Koch <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(getChannel): New method.
	* java/io/FileOutputStream.java
	(getChannel): New method.
	* java/net/ServerSocket.java
	(bind): Removed duplicate code and called another bind method instead.
	* java/nio/channels/SelectionKey.java
	(isValid): Removed wrong exception documentation.
	* java/nio/channels/ServerSocketChannel.java
	(accept): Added exception documentation.
	(open): Fixed typo, added exception documentation.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(implCloseChannel): Added exception documentation.
	(add): Reformated.
	(register): Added exception documentation.

2002-11-20  Andreas Jaeger  <aj@suse.de>

	* configure: Regenerated with new libtool.m4.

2002-11-19  Tom Tromey  <tromey@redhat.com>

	* java/lang/ref/natReference.cc (add_to_hash): Look at `copy', not
	`referent'.
	(finalize_referred_to_object): Don't modify `referent' or `copy'
	fields.
	(add_to_hash): Correctly set `n->next' when updating list.
	* java/lang/ref/Reference.java (enqueue): Return false if already
	enqueued.

2002-11-19  Ranjit Mathew <rmathew@hotmail.com>

	* include/jni.h: Add missing JNICALL and JNIEXPORT attributes
	to function and function pointer declarations in accordance with
	Sun's JDKs. Define JNIIMPEXP to either JNIEXPORT or JNIIMPORT
	based on whether __GCJ_JNI_IMPL__ has been defined or not.
	* jni.cc: Add missing JNICALL and JNIEXPORT attributes to
	JNI function definitions.

2002-11-18  Jesse Rosenstock <jmr@ugcs.caltech.edu>

        * java/nio/charset/CoderResult.java (Cache.get): Fix a bug
        that was causing CoderResults to be cached, not WeakReferences
        to CoderResults.

2002-11-18  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>

	* java/security/KeyStore.java (getInstance): Fix
	comment and throw IllegalArgumentException if
	given provider is null.
	(getInstance): New method for jdk1.4 compatibility.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* java/net/PlainSocketImpl.java: Fix imports.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/SelectionKey.java
	(isValid): Added exception documentation.
	* java/nio/channels/Selector.java
	(open): Declare "throws IOException".

2002-11-18  Jesse Rosenstock <jmr@ugcs.caltech.edu>

	* java/nio/charset/Charset.java
	(<clinit>): New method.
	(encode): Synchronize use of cached encoder object.
	(decode): Synchronize use of cached encoder object.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java,
	gnu/java/nio/CharBufferImpl.java,
	gnu/java/nio/DatagramChannelImpl.java,
	gnu/java/nio/DoubleBufferImpl.java,
	gnu/java/nio/FileChannelImpl.java,
	gnu/java/nio/FloatBufferImpl.java,
	gnu/java/nio/IntBufferImpl.java,
	gnu/java/nio/LongBufferImpl.java,
	gnu/java/nio/PipeImpl.java,
	gnu/java/nio/SelectionKeyImpl.java,
	gnu/java/nio/SelectorImpl.java,
	gnu/java/nio/SelectorProviderImpl.java,
	gnu/java/nio/ServerSocketChannelImpl.java,
	gnu/java/nio/ShortBufferImpl.java,
	gnu/java/nio/SocketChannelImpl.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java,
	java/nio/channels/FileChannel.java: New files.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* Makefile.am (ordinary_java_source_files):
	Added java/nio/ReadOnlyBufferException.java and
	java/nio/channels/ClosedSelectorException.java.
	* Makefile.in: Regenerated.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* java/net/PlainSocketImpl.java: Reworked imports.
	* java/net/ServerSocket.java
	(ServerSocket): Create socket.
	* java/net/SocketAddress.java: Documentation added.
	* java/net/natPlainSocketImpl.cc: Reindented.
	* java/nio/ReadOnlyBufferException.java: New file
	* java/nio/channels/ClosedChannelException.java: Documentation added.
	* java/nio/channels/ClosedSelectorException.java: New file.

2002-11-17  Mark Wielaard  <mark@klomp.org>

	* java/net/HttpURLConnection.java ((getPermission): Take port
	into consideration.
	(getErrorStream): Implement.

2002-11-17  Mark Wielaard  <mark@klomp.org>

	* java/net/HttpURLConnection.java: Merge with GNU Classpath.

2002-11-16  Mark Wielaard  <mark@klomp.org>

	Integrate work by Raif S. Naffah (raif@fl.net.au)
	* java/security/DummyKeyPairGenerator.java (clone): New method.
	* java/security/DummyMessageDigest.java (clone): New method.
	(engineUpdate): Now public.
	(engineReset): Likewise.
	(engineDigest): Likewise.
	(engineGetDigestLength): New method.
	* java/security/DummySignature.java (clone): New method.
	* java/security/KeyPairGenerator.java (provider): Now package private.
	(getInstance(String)): Use getInstance(String,Provider).
	(getInstance(String,String): Use getInstance(String,Provider)
	(getInstance(String,Provider): New method.
	(getInstance(String,String,Provider): Don't cast DummyKeyPairGenerator.
	* java/security/KeyPairGeneratorSpi.java (clone): New method.
	* java/security/MessageDigest.java (provider): Now package private.
	(getInstance(String): Use getInstance(String,Provider).
	(getInstance(String,String): Use getInstance(String,Provider)
	(getInstance(String,Provider): New method.
	* java/security/Provider.java (toCanonicalKey): New method.
	(get): New method that uses toCanonicalKey().
	(put): Use toCanonicalKey().
	(remove): Likewise.
	* java/security/Security.java (insertProviderAt): Provider index is one
	based, not zero based.
	(addProvider): Likewise.
	(removeProvider): Likewise.
	* java/security/Signature.java (provider): Now package private.
	(getInstance(String)): Use getInstance(String,Provider).
	(getInstance(String,String): Use getInstance(String,Provider)
	(getInstance(String,Provider): New method.
	(getInstance(String,String,Provider): Don't cast DummySignature.

2002-11-15  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/8593:
	* java/util/zip/GZIPInputStream.java (read): Check file size.
	Look in inflater for remaining input bytes.
	(read4): Added buf and offset arguments.

2002-11-12  Eric Blake  <ebb9@email.byu.edu>

	* java/applet/AppletContext.java: Fix typo and remove redundant
	modifiers.

2002-11-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	gnu.classpath.home.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(allocate): New method.
	(wrap): New method.
	(put): New method.
	(get): New method.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/AlreadyConnectedException.java:
	Removed unneeded import.
	(AlreadyConnectedException): Documentation added.
	* java/nio/channels/Pipe.java
	(SinkChannel.SinkChannel): Documentation added.
	(SinkChannel.validOps): New method.
	(SourceChannel.SourceChannel): Documentation added.
	(SourceChannel.validOps): New method.
	(Pipe): Documentation added.
	(open): Documentation added.
	(SinkChannel.channel): Documentation added.
	(SourceChannel.channel): Documentation added.
	* java/nio/channel/SelectableChannel.java
	(SelectableChannel): Documentation added.
	(blockingLock): Documentation added.
	(configureBlocking):Documentation added.
	(isBlocking):Documentation added.
	(isRegistered):Documentation added.
	(keyFor):Documentation added.
	(provider):Documentation added.
	(register): Documentation added.
	(validOps): Documentation added.
	* jaba/nio/channels/SelectionKey.java
	(SelectionKey): Documentation added.
	(attach): Documentation added.
	(attachment): Documentation added.
	(isAcceptable): Documentation added.
	(isConnetable): Documentation added.
	(isReadable): Documentation added.
	(isWritable): Documentation added.
	(cancel): Documentation added.
	(channel): Documentation added.
	(interestOps): Documentation added.
	(isValid): Documentation added.
	(readyOps): Documentation added.
	(selector): Documentation added.
	* jaba/nio/channels/Selector.java
	(Selector): Documentation added.
	(open): Documentation added.
	(close): Documentation added.
	(isOpen): Documentation added.
	(keys): Documentation added.
	(provider): Documentation added.
	(select): Documentation added.
	(selectedKeys): Documentation added.
	(selectNow): Documentation added.
	(wakeup): Documentation added.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(AbstractInterruptibleChannel): Documentation added.
	(opened): Default to true;
	(begin): Documentation added.
	(close): Set opened to false, documentation added.
	(isOpen): Documentation added.
	* java/nio/channels/spi/AbstractSelectionKey.java
	(AbstractSelectionKey): Documentation added.
	(cancel): Documentation added.
	(isValid): Documentation added.
	* java/nio/channels/spi/AbstractSelector.java
	(AbstractSelector): Documentation added.
	(begin): Documentation added.
	(close): Documentation added.
	(isOpen): Documentation added.
	(deregister): Documentation added.
	(end): Documentation added.
	(provider): Documentation added.
	(implCloseSelector): Documentation added.
	(register): Documentation added.
	* java/nio/channels/spi/SelectorProvider.java
	(SelectorProvider): Documentation added.
	(openDatagramChannel): Documentation added.
	(openPipe): Documentation added.
	(openSelector): Documentation added.
	(openServerSocketChannel): Documentation added.
	(openSocketChannel): Documentation added.
	(provider): Documentation added.

2002-11-12  Michael Koch <konqueror@gmx.de>

	* java/nio/Buffer.java: Implemented.
	* java/nio/CharBuffer.java: New file.
	* java/nio/InvalidMarkException.java: New file.
	* java/nio/channels/DatagramChannel.java: Implemented.
	* java/nio/channels/ServerSocketChannel.java: Implemented.
	* java/nio/channels/SocketChannel.java: Implemented.
	* java/nio/channels/spi/AbstractChannel.java: Removed.
	* java/nio/channels/spi/AbstractSelectableChannel.java:
	Implemented.
	* java/nio/charset/Charset.java:
	Merge from Classpath.
	* java/nio/charset/CharsetDecoder.java: New file.
	* java/nio/charset/CharsetEncoder.java: New file.
	* java/nio/charset/CoderResult.java: New file.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-11-11  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* gnu/java/nio/charset/ISO_8859_1.java,
	gnu/java/nio/charset/Provider.java,
	gnu/java/nio/charset/US_ASCII.java,
	gnu/java/nio/charset/UTF_16.java,
	gnu/java/nio/charset/UTF_16BE.java,
	gnu/java/nio/charset/UTF_16Decoder.java,
	gnu/java/nio/charset/UTF_16Encoder.java,
	gnu/java/nio/charset/UTF_16LE.java,
	gnu/java/nio/charset/UTF_8.java: New files.

2002-11-11  Michael Koch <konqueror@gmx.de>

	* java/nio/charset/CharacterCodingException.java:
	This class must be public.
	* java/nio/charset/CoderMalfunctionError.java:
	This class must be public.
	* java/nio/charset/CodingErrorAction.java:
	This class must be public.
	* java/nio/charset/IllegalCharsetNameException.java:
	This class must be public, better implementation.
	* java/nio/charset/MalformedInputException.java:
	This class must be public, better implementation.
	* java/nio/charset/UnmappableCharacterException.java:
	This class must be public, better implementation.
	* java/nio/charset/UnsupportedCharsetException.java:
	This class must be public, better implementation.

2002-11-11  Michael Koch <konqueror@gmx.de>

	* java/nio/BufferOverflowException.java,
	java/nio/BufferUnderflowException.java: New file.
	* Makefile.am (ordinary_java_source_files):
	Added new files.
	* Makefile.in: Regenerated.

2002-11-10  Tom Tromey  <tromey@redhat.com>

	* java/awt/Container.java (validate): Use tree lock.
	(getComponent): Likewise.
	(getComponents): Likewise.
	(addImpl): Likewise.
	(remove): Likewise.
	(removeAll): Likewise.
	(processEvent): Fixed indentation.
	(getComponentAt): Use tree lock.
	(findComponentAt): Likewise.
	(removeNotify): Likewise.
	(isAncestorOf): Likewise.
	(list): Likewise.
	(visitChildren): Likewise.
	(findNextFocusComponent): Likewise.
	(addNotifyContainerChildren): Likewise.
	(getAccessibleChildrenCount): Likewise.
	(getAccessibleChild): Likewise.

	* java/awt/GridLayout.java (layoutContainer): Use tree lock.
	(getSize): Likewise.
	* java/awt/FlowLayout.java (layoutContainer): Use tree lock.
	(getSize): Likewise.
	* java/awt/BorderLayout.java (layoutContainer): Use tree lock.
	(calcSize): Likewise.
	* java/awt/CardLayout.java (getSize): Use tree lock.
	(gotoComponent): Likewise.
	(layoutContainer): Likewise.

	* java/io/natFileDescriptorWin32.cc (read): Handle case where
	count is 0.
	* java/io/natFileDescriptorPosix.cc (read): Handle case where
	count is 0.

	* java/io/Externalizable.java, java/io/FilePermission.java,
	java/io/ObjectStreamConstants.java, java/io/Serializable.java,
	java/io/SerializablePermission.java, java/text/Format.java,
	java/util/AbstractMap.java, java/util/HashMap.java,
	java/util/LinkedHashMap.java, javax/naming/BinaryRefAddr.java: New
	versions from Classpath.

2002-11-10  Anthony Green  <green@redhat.com>

	* java/util/jar/Attributes.java (Name): Fix name check.

2002-11-10  Mark Wielaard  <mark@klomp.org>

	* java/lang/natClass.cc (initializeClass): Throw NoClassDefFoundError
	with getName() as message.
	(_Jv_CheckArrayStore): Throw ArrayStoreException with object and array
	type as message.

	* java/lang/natVMThrowable.cc: Don't declare parameter t, it is
	unused.

2002-11-08  Ranjit Mathew <rmathew@hotmail.com>

	* include/jni.h (JNIIMPORT, JNIEXPORT, JNICALL): Linker defines
	for Win32. JNICALL has been defined to __stdcall to be compatible
	with Sun's JDKs.

2002-11-10  Tom Tromey  <tromey@redhat.com>

	* java/awt/GridLayout.java (setColumns): Check newCols, not cols.
	(setRows): Check newRows, not rows.

	* jni.cc (_Jv_GetJNIEnvNewFrame): Set env->ex in all cases.

2002-11-09  Tom Tromey  <tromey@redhat.com>

	* java/applet/Applet.java, java/applet/AppletContext.java,
	java/applet/AppletStub.java, java/applet/AudioClip.java,
	java/awt/CardLayout.java,
	java/awt/ContainerOrderFocusTraversalPolicy.java,
	java/awt/Cursor.java, java/awt/Event.java, java/awt/Frame.java,
	java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
	java/awt/GridLayout.java, java/awt/color/ColorSpace.java,
	java/awt/color/ICC_ColorSpace.java,
	java/awt/color/ICC_Profile.java,
	java/awt/color/ICC_ProfileGray.java,
	java/awt/color/ICC_ProfileRGB.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/dnd/DragSourceContext.java, java/awt/dnd/DropTarget.java,
	java/awt/dnd/DropTargetContext.java, java/awt/event/KeyEvent.java:
	New versions from Classpath.
	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added ICC_ProfileGray and
	ICC_ProfileRGB.

	* java/awt/ScrollPane.java (ScrollPane): Fixed test for valid
	display policy.

	* java/awt/List.java (processEvent): Added missing `else's.

	* java/awt/Window.java (show): validate() before showing.  Make
	parent displayable.
	(isDisplayable): New method.

2002-11-07  Mark Wielaard  <mark@klomp.org>

        Merge Orp RMI patches from Wu Gansha <gansha.wu@intel.com>
	* java/rmi/MarshalledObject.java (equals): Check hashcode first.

	* java/rmi/server/RMIClassLoader.java (MyClassLoader): Create/Use
	annotation.
	(loadClass): Take String as codebases.
	(getClassAnnotation): Use MyClassLoader annotations.
	* java/rmi/server/UnicastRemoteObject.java (UnicastRemoteObject):
	call exportObject(this).

	* gnu/java/rmi/RMIMarshalledObjectOutputStream.java
	(RMIMarshalledObjectOutputStream): set locBytesStream and locStream.
	(setAnnotation): Don't set locBytesStream and locStream.
	(replaceObject): Removed.
	(flush): Don't test locStream.
	(getLocBytes): LikeWise.
	* gnu/java/rmi/dgc/DGCImpl.java: extends UnicastServerRef.
	(leaseCache): New field.
	(dirty): Use leaseCache.
	(LeaseRecord): New inner class.
	* gnu/java/rmi/registry/RegistryImpl.java (RegistryImpl): Don't
	explicitly call exportObject().
	* gnu/java/rmi/registry/RegistryImpl_Stub.java: set useNewInvoke to
	false to communicate with Sun JDK130.
	* gnu/java/rmi/server/ConnectionRunnerPool.java: Add CPU comment.
	* gnu/java/rmi/server/RMIObjectInputStream.java
	(UnicastConnectionManager): Removed field.
	* gnu/java/rmi/server/RMIObjectOutputStream.java (replaceObject):
	Use UnicastServer.getExportedRef().
	* gnu/java/rmi/server/UnicastConnection.java (reviveTime): New field.
	(expireTime): Likewise.
	(CONNECTION_TIMEOUT): Likewise.
	(disconnect): Call sock.close().
	(isExpired): New method.
	(resetTime): Likewise.
	(run): Use do while loop and catch Exception for discardConnection().
	* gnu/java/rmi/server/UnicastConnectionManager.java: Pool connections.
	* gnu/java/rmi/server/UnicastRef.java: Lots of changes.
	* gnu/java/rmi/server/UnicastRemoteCall.java: Lots of changes.
	* gnu/java/rmi/server/UnicastServer.java (refcache): New field.
	(exportObject): Use refcache.
	(unexportObject): Likewise.
	(getExportedRef): New method.
	* gnu/java/rmi/server/UnicastServerRef.java (UnicastServerRef): New
	constructor.
	(exportObject): Save manager.serverobj.
	(getStub): New method.

2002-11-07  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/natField.cc (getBoolean): Use getType().
	(getByte): Likewise.
	(getShort): Likewise.
	(getInt): Likewise.
	(getLong): Likewise.
	(getFloat): Likewise.
	(getDouble): Likewise.
	(get): Likewise.
	(setChar): Likewise.
	(setByte): Likewise.
	(setShort): Likewise.
	(setInt): Likewise.
	(setLong): Likewise.
	(setFloat): Likewise.
	(setDouble): Likewise.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/awt/Choice.java,
	java/awt/Container.java,
	java/awt/GridBagLayout.java:
	Fixed documentation.
	* java/awt/peer/ContainerPeer.java:
	Reindented.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/awt/color/ICC_Profile.java:
	Added missing constants.
	* java/awt/color/ICC_ColorSpace.java
	(getMinValue): Added dummy implementation.
	(getMaxValue): Added dummy implementation.
	* java/awt/datatransfer/DataFlavor.java
	(imageFlavor): Added.
	(isMimeTypeEqual): Must be final.
	(getDefaultRepresentationClass): Must be non-static.
	(getDefaultRepresentationClassAsString): Must be non-static.
	* java/awt/dnd/DragSourceContext.java
	(dragExit): Corrected argument.
	(dragDropEnd): Corrected argument.
	* java/awt/dnd/DragSourceListener.java.java
	(dragExit): Corrected argument.
	(dragDropEnd): Corrected argument.
	* java/awt/font/TextHitInfo.java
	(toString): Added stubbed implementation.
	* java/awt/geom/PathIterator.java:
	The constants must be static.
	* java/awt/image/VolatileImage.java
	(IMAGE_INCOMPATIBLE): Fixed typo.
	* java/awt/image/renderable/RenderableImage.java
	(HINTS_OBSERVED): Must be static.
	* java/beans/BeanInfo.java:
	Constants must be final.

2002-11-06  Tom Tromey  <tromey@redhat.com>

	From svens@it.uu.se.  For PR libgcj/8481.
	* java/util/Random.java (nextInt(int)): Only use 31 bits.

2002-11-06  Tom Tromey  <tromey@redhat.com>

	* jni.cc (array_from_valist): Assume that jlong won't be
	promoted.

2002-11-04  R. A. Rivas Diaz  <rivasdiaz@yahoo.com>

	* gnu/java/security/provider/SHA.java (engineGetDigestLength):
	Return 20.
	* gnu/java/security/provider/MD5.java (engineGetDigestLength):
	Return 16.

2002-11-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (loadClass): Call loadClass on
	VMClassLoader, not findClass.

2002-11-03  Jeff Sturm  <jsturm@one-point.com>

	* resolve.cc (METHOD_NOT_THERE, METHOD_INACCESSIBLE): Remove.
	(_Jv_ResolvePoolEntry): Use _Jv_Method.index, not
	_Jv_DetermineVTableIndex, to determine vtable offset.
	(_Jv_DetermineVTableIndex): Remove.
	(_Jv_PrepareClass): Don't layout vtable.  Use _Jv_MakeVTable instead.

	* java/lang/Class.h (friend int _Jv_DetermineVTableIndex): Remove.

2002-11-03  Tom Tromey  <tromey@redhat.com>

	* java/nio/channels/AlreadyConnectedException.java: Extend
	IllegalStateException, per spec.

2002-10-31  Stephen Crawley  <crawley@dstc.edu.au>

	* java/lang/Double.java (valueOf): Return new Double(parseDouble(s)).

2002-10-31  Wu Gansha <gansha.wu@intel.com>:

        * java/util/ArrayList.java (readObject, writeObject): Only read/write
        size items.

2002-10-31  Wu Gansha <gansha.wu@intel.com>:

        * java/io/DataInputStream.java (convertFromUTF): Give StringBuffer an
        initial estimated size to avoid enlarge buffer frequently.

2002-10-31  Wu Gansha <gansha.wu@intel.com>:

	* java/lang/reflect/Proxy.java (ProxyType): Set loader to System
	ClassLoader when null.
	(ProxyType.hashCode): Loader null check no longer needed.
	(ProxyType.sameTypes): New method.
	(ProxyType.equals): Use new method.

2002-10-31  Mark Wielaard  <mark@klomp.org>

        * java/net/URLDecoder.java (decode): Initialize Stringbuffer size to
	length of String.
	* java/net/URLEncoder.java (encode): Likewise.

2002-10-31  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipInputStream.java (getNextEntry): Throw IOException
	when stream is closed.
	(closeEntry): Likewise.
	(read): Likewise.
	* java/util/zip/ZipOutputStream.java (putNextEntry): Throw
	ZipException when no entry active.
	(closeEntry): Likewise.
	(write): Likewise.

2002-11-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h: Move JV_STATE_ERROR before JV_STATE_DONE.
	* java/lang/natClass.cc (initializeClass): Don't return just
	because self==thread.

	For PR java/8415:
	* java/lang/reflect/natMethod.cc (getType): Use _Jv_FindClass.
	* prims.cc (_Jv_FindClassFromSignature): Indentation fix.

2002-11-02  Andreas Schwab  <schwab@suse.de>

	* Makefile.am (AM_MAKEFLAGS): Don't pass JC1FLAGS, CC and CXX, do
	pass GCJFLAGS.
	(FLAGS_TO_PASS): Define.
	* Makefile.in: Regenerated.

2002-11-01  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteOrder.java: New file.
	* java/nio/channels/DatagramChannel.java:
	(DatagramChannel): New constructor.
	* java/nio/channels/Pipe.java: New file.
	* java/nio/channels/SelectableChannel.java: New file.
	* java/nio/channels/SelectionKey.java: New file.
	* java/nio/channels/Selector.java: New file.
	* java/nio/channels/ServerSocketChannel.java
	(ServerSocketChannel): New constructor.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): New constructor.
	* java/nio/channels/Pipe.java: New file.
	* java/nio/channels/spi/AbstractChannel.java: New file.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java: New file.
	* java/nio/channels/spi/AbstractSelectableChannel.java:
	License added
	(AbstractSelectableChannel): New stubbed method.
	* java/nio/channels/spi/AbstractSelectionKey.java: New file.
	* java/nio/channels/spi/AbstractSelector.java: New file.
	* java/nio/channels/spi/SelectorProvider.java: New file.
	* java/nio/charset/Charset.java: New file.
	* java/nio/charset/CoderMalfunctionError.java: New file.
	* java/nio/charset/CodingErrorAction.java: New file.
	* java/nio/charset/spi/CharsetProvider.java
	(charsetForName): Uncommented.
	* Makefile.am (java_native_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-11-01  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	(isAnyLocalAddress): Implemented.
	(isLoopbackAddress): Implemented, comment added.
	(isLinkLocalAddress): Implemented, documentation added.
	(isSiteLocalAddress): Implemented, documentation added.
	(isMCGlobal): Implemented, documentation added.
	(isMCNodeLocal): Implemented, documentation added.
	(isMCLinkLocal): Implemented, documentation added.
	(isMCSiteLocal): Implemented, documentation added.
	(isMCOrgLocal): Implemented, documentation added.
	(getHostName): Documentation added.
	(getCanonicalHostName): Implemented, documentation added.
	(getAddress): Documentation added.
	(hashCode): Documentation added.
	(equals): Documentation added.
	(toString): Fixed implementation.
	(getByAddress): Use Inet4Address and Inet6Address.
	(lookup): New linewrap.
	(getByName): SecurityManager check added, support Inet4Address and
	Inet6address, comments added.
	(getAllByName): SecurityManager check added, comments added.
	* java/net/Inet6Address.java:
	(Inet6Address): Initialize parent class with addr instead of null.
	* java/net/URL.java
	(equals): Documentation added.
	(getFile): Documentation added.
	(hashCode): Documentation added.
	* java/net/natInetAddress.cc:
	(aton): Fix IPv6 support.
	* java/net/natPlainDatagramSocketImpl.cc:
	(peek): Throw PortUnreachableException when suitable.
	(peekData): Throw PortUnreachableException when suitable.
	(send): Throw PortUnreachableException when suitable.
	(receive): Throw PortUnreachableException when suitable.

2002-10-27  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (readLeShort): Take and use DataInput as
	argument.
	(readLeShort): Likewise and use byte[].
	(readLeInt): Likewise.
	(readEntries): Use new versions of methods and use byte[] for reading
	a complete zip entry. Add ZipFile name to exceptions.
	(entries): Add ZipFile name to exceptions.
	(getEntry): Likewise.
	(checkLocalHeader): Use new versions of methods and add ZipFile name
	to exceptions.

2002-10-31  Mark Anderson  <mark@panonet.net>

	* java/awt/GridBagLayout.java (setConstraints): New stubbed method
	added

2002-10-25  Krister Walfridsson  <cato@df.lth.se>

	* configure.in: Disable hash sync when not using threads.
	* configure: Regenerated.

2002-10-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (_Jv_SetDLLSearchPath): New function.
	(_Jv_FindSymbolInExecutable): Removed argument name.
	(insertSystemProperties): Call _Jv_SetDLLSearchPath if
	java.library.path is set.

	* gij.cc (help): Document --showversion.
	(version): Don't exit.
	(main): Handle --showversion.  Exit if --version given.

2002-10-23  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_AllocObject): Removed old FIXME comment.
	(array_from_valist): Correctly handle promotion for jint, jlong,
	jfloat, and jdouble.

2002-10-23  Ranjit Mathew <rmathew@hotmail.com>

	* java/io/natFileWin32.cc (attr): Use FindFirstFile( ) instead of
	GetFileAttributesEx( ) to find file length and modification times,
	as the latter is not present on Windows 95.

2002-10-21  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(URL): Activate SecurityManager checks.
	(equals): Use URLStreamHandler implementation instead of doing it
	alone. This allows special protocol stream handlers to change default
	behaviour.
	(hashCode): Use URLStreamHandler implementation instead of doing it
	alone. This allows special protocol stream handlers to change default
	behaviour.
	* java/net/URLStreamHandler.java
	(equals): Implemented default URL equality check.
	(hostsEqual): Implemented default URL equality check.
	(hashCode): Implemented default URL hashCode algorithm.
	* java/net/natPlainDatagramSocketImpl.cc:
	No lines longer then 80 characters.

2002-10-20  Adam Megacz <adam@xwt.org>

	* aclocal.m4 (CHECK_FOR_BROKEN_MINGW_LD): added
	* configure.in: enabled hash sync on Win32
        * include/win32-threads.h (_Jv_ThreadId_t): added.
        * java/lang/natObject.cc (_Jv_MonitorEnter, _Jv_MonitorExit,
	heavy_lock_obj_finalization_proc, wait, notify, notifyAll):
	removed some posix-isms, use Thread::sleep() instead of usleep,
	added code to clear bottom three bits if platform has a broken
	linker.
	* include/win32-threads.h (_Jv_ThreadId_t): added.

2002-10-19  Ranjit Mathew <rmathew@hotmail.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Added GCJ
	runtime property "gnu.gcj.progname" containing the name used to
	invoke the current Java program (similar to argv[0] for C
	programs).

2002-10-15  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/8234:
	* java/util/zip/natInflater.cc (reset): Reset avail_in.
	* java/util/zip/natDeflater.cc (reset): Reset avail_in.

2002-10-13  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Enable Mauve tests that compile now.

2002-10-11  Mark Wielaard  <mark@klomp.org>

	Fix for PR libgcj/8142
	* java/lang/natClassLoader.cc (findClass): Skip inner classes when
	loading native modules.

2002-10-10  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractListModel.java
	(getListDataListeners): New stubbed method.
	javax/swing/DefaultBoundedRangeModel.java
	(getChangeListeners): New stubbed method.
	javax/swing/DefaultSingleSelectionModel.java
	(getChangeListeners): New stubbed method.

2002-10-10  Michael Koch  <konqueror@gmx.de>

	* gcj/.cvsignore: New file to ignore files generated during build.
	* include/.cvsignore: New file to ignore files generated during build.

2002-10-10  Michael Koch  <konqueror@gmx.de>

	* java/net/HttpURLConnection.java
	(getPermission): New method.
	(getErrorStream): New stub method.
	(getHeaderFieldDate): New stub method.
	* java/net/Inet4Address.java:
	(isLinkLocalAddress): Typo fixed.
	* java/net/InetAddress.java:
	(readResolve): New stubbed method (for serialization).
	(isAnyLocalAddress): New stubbed method.
	(isLoopbackAddress): New stubbed method.
	(isLinkLocalAddress): New stubbed method.
	(isSiteLocalAddress): New stubbed method.
	(isMCGlobal): New stubbed method.
	(isMCNodeGlobal): New stubbed method.
	(isMCLinkLocal): New stubbed method.
	(isMCSiteLocal): New stubbed method.
	(isMCOrgLocal): New stubbed method.
	(getCanonicalHostName): New stubbed method.
	(getByAddress): Create instances of Inet4Address/Inet6Address,
	instead of InetAddress, documentation added.
	* java/net/MulticastSocket.java
	(getInterface): Removed FIXME.
	(getNetworkInterface): New method.
	(setNetworkInterface): New method.
	* java/net/NetworkInterface.java:
	(toString): Use property "line.separator" instead of "\n".
	* java/net/URLConnection.java
	(getContent): New stubbed method.
	* java/net/URLStreamHandler.java:
	(equals): New stubbed method.
	(hostsEqual): New stubbed method.
	(hashCode): New stubbed method.
	* java/net/natNetworkInterface.cc:
	(getRealNetworkInterfaces): Create Inet4Address object
	instead of InetAddress.

2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>

	* interpret.cc (_Jv_InterpMethod::run): Use UINT32 instead of
	unsigned long temporary to implement insn_iushr shifts.

2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.host [s390*-*]: Enable Java interpreter.
	Enable hash synchronization.  Add sysdeps dir.
	* sysdep/s390/locks.h: New file.

2002-10-06  Mark Wielaard  <mark@klomp.org>

	* java/lang/Thread.java (setDaemon): Check startable_flag,
	not isAlive().

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/Buffer.java: New stub file.
	* java/nio/charset/spi/CharsetProvider.java: Commented out all usages
	of class Charset.
	* Makefile.am (java_native_source_files): Added java/nio/Buffer.java.
	* Makefile.in: Regenerated.

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java:
	removed import of not commited class.

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java,
	java/nio/MappedByteBuffer.java:
	New files, forgot to add these dummies.
	* Makefile.am (java_native_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/AlreadyConnectedException.java,
	java/nio/channels/ClosedChannelException.java,
	java/nio/channels/ReadableByteChannel.java,
	java/nio/channels/InterruptibleChannel.java,
	java/nio/channels/Channel.java,
	java/nio/channels/ByteChannel.java,
	java/nio/channels/GatheringByteChannel.java,
	java/nio/channels/ScatteringByteChannel.java,
	java/nio/channels/WritableByteChannel.java,
	java/nio/charset/CharacterCodingException.java,
	java/nio/charset/IllegalCharsetNameException.java,
	java/nio/charset/MalformedInputException.java,
	java/nio/charset/UnmappableCharacterException.java,
	java/nio/charset/UnsupportedCharsetException.java,
	java/nio/charset/spi/CharsetProvider.java: New file.
	These files are exceptions or interfaces,
	no real or abstract classes.
	* Makefile.am (java_native_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-10-05  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(getByAddress): Fixed documentation.
	(getByAddress): New method.
	* java/net/Inet4Address.java: New file.
	* java/net/URL.java
	(URL): Documentation added.
	(getContent): Documentation added.
	(getContent): New stubbed method.
	(getQuery): New method.
	(openConnection): Documentation added.
	(openStream): Documentation added.
	(setURLStreamHandlerFactory): Documentation added.
	* java/net/URI.java: New stub file.
	* Makefile.am
	(java_native_source_files): Added java/net/Inet4Address.java,
	java/net/Inet6Address.java and java/net/URI.java.
	* Makefile.in: Regenerated.

2002-10-04  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* java/lang/ProtectionDomain.java (linesep): Remove field.
	(toString): Use System.getProperty("line.separator").

2002-10-04  Michael Koch  <konqueror@gmx.de>

	* java/security/Identity.java: Added serialVersionUID.
	* java/security/KeyPair.java: Added serialVersionUID.
	* java/security/Provider.java: Added serialVersionUID.
	* java/security/SecureRandom.java: Added serialVersionUID.
	* java/security/SecureRandomSpi.java: Added serialVersionUID.
	* java/security/SignedObject.java: Added serialVersionUID.
	* java/security/cert/Certificate.java: Added serialVersionUID.

2002-10-04  Mark Wielaard <mark@klomp.org>

	* java/security/Security.java: Use java.home or gnu.classpath.home
	to load providers.
	(loadProviders): Extra dir argument.
	(getProvider): Return null when not found.

2002-10-04  Mark Wielaard  <mark@klomp.org>

	* java/lang/Throwable.java: Remerge with Classpath.

2002-10-04  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	(isMulticastAddress): Added documentation.
	(getHostAddress): Added documentation.
	(toString): Added documentation.
	(getByAddress): Fixed documentation.
	(getByName): Added documentation.
	(getAllByName): Added documentation.
	(getLocalHost): Added documentation.

2002-10-04  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextChildSupport.java:
	Added serialVersionUID.
	* java/text/Collator.java: (compare): Made documentation HTML-aware.
	* javax/naming/BinaryRefAddr.java: Added serialVersionUID.
	* javax/naming/Name.java: Added serialVersionUID.

2002-10-03  Adam Megacz <adam@xwt.org>

	* natNetworkInterface.cc (getRealNetworkInterfaces): ifdef out
	some functionality that isn't supported yet on WIN32.

2002-10-03  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(class InetAddress): Removed final keyword.
	(equals): Fixed typo.
	(getByAddress): New method.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/Autoscroll.java:
	New file, merge from Classpath.
	* java/awt/dnd/DragSourceAdapter.java:
	(dragExit): Fixed typos in argument type.
	(dragDropEnd): Fixed typos in argument type.
	* java/awt/dnd/DragSourceDropEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTarget.java:
	Added stubs, merge from Classpath.
	* java/awt/dnd/DropTargetAdapter.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetContext.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetDragEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetDropEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetListener.java:
	New file, merge from Classpath.
	* java/awt/dnd/MouseDragGestureRecognizer.java:
	New file, merge from Classpath.
	* java/awt/dnd/peer/DropTargetContextPeer.java:
	New file, merge from Classpath.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java
	(setLength): Fixed typo and be HTML-aware.
	* java/net/InetSocketAddress.java
	(InetSocketAddress): Correct initialization of hostname, fixed typo.
	(equals): Added comment about equality of InetSocketAddress objects.
	* java/net/ServerSocket.java
	(accept): Added checks.
	(isClosed): New stubbed method.
	* java/net/SocketOptions.java: Reindention.
	* java/net/SocketPermission
	(SocketPermission): Documentation fixed.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(receive): Check with SecurityManager AFTER the packet is received,
	check if connected to multicast address, documentation added.
	(send): Only check SecurityManager if connected, check address of
	packet to send.
	(connect): Implemented, documentation added.
	* java/net/Inet6Address.java: New file (not added yet to Makefile.am).
	* java/net/InetSocketAddress.java
	(whole file): Reindented.
	(hostname): New attribute.
	(InetSocketAddress): Initialize new attribute.
	(getAddress): Documentation added.
	(getHostName): Documentation added.
	(getPort): Documentation added.
	(hashCode): Documentation added.
	(isUnresolved): Documentation added.
	(toString): Conform to output of JDK 1.4.1, documentation added.
	* java/net/MulticastSocket.java
	(joinGroup): Removed FIXME, documentation added.
	(leaveGroup): Removed FIXME, documentation added.
	(send): Documentation added.
	* java/net/Socket.java
	(inputShutdown): New variable.
	(outputShutdown): New variable.
	(Socket): Initialize new variables.
	(getRemoteSocketAddress): Check if connected.
	(shutdownInput): Set new variable.
	(shutdownOutput): Set new variable.
	(isConnected): New method.
	(isClosed): New method.
	(isInputShutdown): New method.
	(isOutputShutdown): New method.
	* java/net/URLStreamHandler.java
	(URLStreamHandler): New method.
	(openConnection): Added documentation.
	(parseURL): Added documentation.
	(getHostAddress): New method.
	(getDefaultPort): New method.

2002-10-02  Tom Tromey  <tromey@redhat.com>

	* java/rmi/activation/ActivationDesc.java,
	java/rmi/activation/ActivationGroupDesc.java,
	java/rmi/activation/ActivationGroupID.java,
	java/rmi/activation/ActivationID.java: New versions from
	Classpath.

2002-09-30  Bo Thorsen  <bo@suse.de>

	* sysdep/x86-64/locks.h (compare_and_swap): Fix multilib support.

2002-09-30  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (resolveProxyClass): New method
	from Classpath.
	* Makefile.in: Rebuilt.
	* Makefile.am (rmi_java_source_files): Added new files.
	* gnu/java/rmi/RMIMarshalledObjectInputStream.java,
	gnu/java/rmi/RMIMarshalledObjectOutputStream.java,
	gnu/java/rmi/server/ConnectionRunnerPool.java: New files from
	Classpath.
	* gnu/java/rmi/dgc/DGCImpl.java,
	gnu/java/rmi/dgc/DGCImpl_Skel.java,
	gnu/java/rmi/dgc/DGCImpl_Stub.java,
	gnu/java/rmi/registry/RegistryImpl_Skel.java,
	gnu/java/rmi/registry/RegistryImpl_Stub.java,
	gnu/java/rmi/server/RMIHashes.java,
	gnu/java/rmi/server/RMIObjectInputStream.java,
	gnu/java/rmi/server/RMIObjectOutputStream.java,
	gnu/java/rmi/server/UnicastConnection.java,
	gnu/java/rmi/server/UnicastConnectionManager.java,
	gnu/java/rmi/server/UnicastRef.java,
	gnu/java/rmi/server/UnicastServer.java,
	gnu/java/rmi/server/UnicastServerRef.java,
	java/rmi/MarshalledObject.java,
	java/rmi/server/RMIClassLoader.java,
	java/rmi/server/RemoteObject.java,
	java/rmi/server/UnicastRemoteObject.java,
	java/security/SecureClassLoader.java: Merged from Classpath.

2002-09-29  Anthony Green  <green@redhat.com>

	* java/lang/reflect/UndeclaredThrowableException.java: New file.
	Imported from GNU Classpath.
	* java/lang/reflect/natProxy.cc: New file.
	* java/lang/reflect/InvocationHandler.java: New file.  Imported
	from GNU Classpath.
	* java/lang/reflect/Proxy.java: New file.  Imported from GNU
	Classpath.
	* gnu/java/lang/reflect/TypeSignature.java: Refresh from GNU
	Classpath.
	* gnu/classpath/Configuration.java.in (HAVE_NATIVE_GET_PROXY_DATA,
	HAVE_NATIVE_GET_PROXY_CLASS, HAVE_NATIVE_GENERATE_PROXY_CLASS):
	New statics.
	* gcj/javaprims.h ("Java"): Add new classes.
	* java/lang/reflect/Proxy.java: Fix check for duplicate interfaces.
	* Makefile.am (java/lang/reflect/Proxy$$ProxyData.h): Create this.
	java/lang/reflect/Proxy$$ProxyType.h): And this.
	(inner_nat_headers): Add these new headers.
	(ordinary_java_source_files): Add new files.
	(nat_source_files): Add new file.
	* Makefile.in: Rebuilt.

2002-09-28  Richard Earnshaw  <rearnsha@arm.com>

	* configure.host: Handle arm*-elf, strongarm*-elf and xscale*-elf with
	a single configuration.

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/util/TimeZone.java (getDSTSavings): New method.
	Fixes PR libgcj/7786.

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* resolve.cc (_Jv_ResolvePoolEntry) [end_of_method_search]: Check
	to see if `the_method == 0' before looking up vtable index.
	Fixes PR libgcj/7709.

2002-09-25  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc:
	(_Jv_PrepareCompiledClass): Throw NoClassDefFoundError, per spec.
	* resolve.cc: Include NoClassDefFoundError.h, not
	ClassNotFoundException.h.
	(_Jv_ResolvePoolEntry): Throw NoClassDefFoundError, per spec.

	* defineclass.cc: Don't include ClassNotFoundException.h.

	* resolve.cc: Include StringBuffer.
	(_Jv_ResolvePoolEntry): Use StringBuffer to create error string.

	* boehm.cc (_Jv_MarkObj): Don't fail if class object has been
	allocated but not initialized.

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	Fix for PR libgcj/7766:
	* java/util/zip/ZipInputStream.java (entryAtEOF): New field.
	(getNextEntry): Set it.
	(closeEntry): Likewise.
	(read): Likewise.
	(close): Likewise.
	(available): Use it.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): Initialize new instance variables.
	(close): Reset new instance variables.
	(getLocalAddress): Remove unneeded SecurityManager usage.
	(getLocalPort): Check if socket is already bound.
	(isConnected): New method.
	(getInetAddress): Implemented.
	(getPort): Better Implementation, documentation fixed.
	(getRemoteSocketAddress): New method.
	* java/net/JarURLConnection.java
	(element): Typo fixed.
	(getMainAttributes): New method.
	(getAttributes): New method (stub only).
	(getManifest): New method (stub only).
	* java/net/NetPermission.java: Added serialVersionsUID.
	* java/net/Socket.java
	(connect): Check blocking mode of associated channel,
	documentation added.
	(getLocalSocketAddress): Better implementation.
	(getRemoteSocketAddress): Implemented.
	(isBound): New method.
	(setSendBufferSize): Documentation added.
	* java/net/SocketAddress.java: Added serialVersionsUID.
	* java/net/SocketPermission.java: Added serialVersionsUID.
	* java/net/URL.java
	(URL): Wrap for shorter lines, initialize new instance variables,
	documentation added.
	(equals): Check new instance variables too.
	(getContent): Documentation added.
	(getPath): Documentation added.
	(getAuthority): New method.
	(getHost): Documentation added.
	(getPort): Documentation added.
	(getDefaultPort): New method.
	(getProtocol): Documentation added.
	(getUserInfo): Documentation added.
	(set): Initialize new instance variables, documentation added.
	* java/net/URLStreamHandler.java
	(setURL): New method.
	* java/net/natPlainDatagramSocketImpl.cc
	(connect): Fix exception name.
	(disconnect): Fix exception name.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/spi/AbstractSelectableChannel.java: New file.
	* java/nio/channels/DatagramChannel.java:
	extends AbstractSelectableChannel
	* java/nio/channels/ServerSocketChannel.java:
	extends AbstractSelectableChannel
	* java/nio/channels/SocketChannel.java:
	extends AbstractSelectableChannel
	* Makefile.am (ordinary_java_source_files):
	java/nio/channels/spi/AbstractSelectableChannel.java added.
	* Makefile.in: Regenerated.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): Exception documentation added.
	(bind): Exception documentation added, addded SecurityManager check,
	added SocketAddress type check.
	(getSoTimeout): Check impl.
	(receive): Fix SecurityManager check, check impl, documentation added.
	(send): Check channel mode, documentation added.
	(connect): New method.
	(disconnect): Implemented.
	(getLocalSocketAddress): New method.
	(getReceiveBufferSize): Check impl.
	(setReuseAddress): Check impl.
	(getReuseAddress): Check impl.
	(setBroadcast): Check impl.
	(getBroadcast): Check impl.
	(setTrafficClass): Check impl, Documentation cleared.
	(getTrafficClass): Check impl.
	(getSendBufferSize): Check impl.
	(setReceiveBufferSize): Check impl, documentation added.
	(setSendBufferSize): Documentation added.
	(setDatagramSocketImplFactory): New method.
	* java/net/HttpURLConnection.java
	(HTTP_INTERNAL_ERROR): The correct code is 500.
	(HTTP_NOT_IMPLEMENTED): Added new constant.
	(setFollowRedirects): Documentation added.
	(getInstanceFollowRedirects): New method.
	(setInstanceFollowRedirects): New method.
	(setRequestMethod): Documentation added.
	(getResponseCode): Documentation added.
	(getResponseMessage): Documentation added.
	* java/net/JarURLConnection.java
	(JarURLConnection): protected since JDK 1.4.
	(getJarEntry): java.io.IOException to IOException, documentation added.
	(getJarFile): Documentation added.
	* java/net/ServerSocket.java
	(ServerSocket): Private to public, exception added.
	(ServerSocket): java.io.IOException to IOException, documentation added.
	(bind): Check socket address type, documentation added.
	(bind): java.io.IOException to IOException, documentation added.
	(accept): Documentation added.
	(implAccept): Check ch is not non-blocking, documentation added.
	(setSoTimeout): Documentation fixed.
	(setReceiveBufferSize): Documentation added.
	* java/net/Socket.java
	(Socket): Documentation added.
	(bind): Documentation added.
	(connect): Check socket address type, documentation added.
	(getRemoteSocketAddress): New method.
	(getLocalSocketAddress): New method.
	(setSoLinger): Documentation added.
	(getReuseAddress): New method.
	(setReuseAddress): New method.
	(getTrafficClass): New method.
	(setTrafficClass): New method.
	* java/net/URLStreamHandler.java
	(openConnection): java.io.IOException to IOException.
	(parseURL): Documentation added.
	(sameFile): public to protected, documentation added.
	(setURL): Documentation added.
	* java/nio/IllegalBlockingModeException.java: New file.
	* Makefile.am (ordinary_java_source_files):
	added java/nio/IllegalBlockingModeException.java
	* Makefile.in: Regenerated.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket
	(DatagramPacket): Exception documentation added.
	(setData): Likewise.
	(setSocketAddress): Likewise.
	* java/net/DatagramSocketImpl.java
	(peek): Documentation addded.
	(peekData): Documentation addded.
	(send): Documentation addded.
	(receive): Documentation addded.
	(connect): New method.
	(disconnect): New method.
	(joinGroup): New abstract method.
	(leaveGroup): New abstract method.
	* java/net/InetSocketAddress.java
	(InetSocketAddress): Documentation added.
	(equals): final keyword added.
	(getAddress): final keyword added.
	(getHostName): final keyword added.
	(getPort): final keyword added.
	(hashCode): final keyword added.
	(isUnresolved): final keyword added.
	* java/net/MulticastSocket.java
	(MulticastSocket): Documentation added.
	(MulticastSocket): New method.
	(joinGroup): Documentation added.
	(joinGroup): New method.
	(leaveGroup): Documentation added.
	(leaveGroup): New method.
	(send): Documentation added.
	* java/net/NetworkInterface.java
	(getByName): Documentation added.
	(getByInetAddress): Documentation added.
	(getNetworkInterfaces): Documentation added.
	* java/net/PlainDatagramSocketImpl.java
	(connect): New method.
	(disconnect): New method.
	* java/net/SocketImpl.java
	(create): Documentation added.
	(shutdownInput): Convert public to protected, as it always was.
	(shutdownOutput): Convert public to protected, as it always was.
	* java/net/SocketOptions.java
	(whole file): Reintented.
	* java/net/URLClassLoader.java
	(URLClassLoader): SecurityManager check added, documentation added.
	(findResources): Documentation added.
	(findClass): Documentation added.
	(newInstance): More correct method arguments.
	* java/net/URLConnection.java
	(connect): Documentation added.
	(getContent): Documentation added.
	(getPermission): Documentation added.
	(getInputStream): Documentation added.
	(getOutputStream): Documentation added.
	(setDoInput): Throw correct exception, documentation added.
	(setDoOutput): Throw correct exception, documentation added.
	(setAllowUserInteraction): Throw correct exception, documentation added.
	(setUseCaches): Throw correct exception, documentation added.
	(setIfModifiedSince): Throw correct exception, documentation added.
	(setRequestProperty): Throw exception, documentation added.
	(addRequestProperty): Throw exception, documentation added.
	(getRequestProperty): Throw exception, documentation added.
	(getRequestProperties): Documentation added.
	(setContentHandlerFactory): Documentation added.
	(guessContentTypeFromName): protected to public.
	(setFileNameMap): Documentation added.
	* java/net/URLDecoder.java
	(URLDecoder): New method.
	(decode): Documentation added.
	(whole file): Reindented.
	* java/net/URLEncoder.java
	(encode): Documentation added.
	* java/net/natPlainDatagramSocketImpl.cc
	(connect): New method.
	(disconnect): New method.
	* javax/naming/RefAddr:
	(addrType): addrType was never final.
	(equals): Fix typo in method name.
	* javax/naming/BinaryRefAddr:
	(equals): Fix typo in method name.

2002-09-22  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/6576:
	* java/util/ResourceBundle.java (tryBundle): Cache `null' if we
	didn't find a given bundle.
	(getBundle): Don't require base bundle.
	(setParent): Removed old comment.
	(tryLocalBundle): Try components even if preceding components were
	empty.

2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.am (all-multi): Fix multilib parallel build.

2002-09-21  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(sendUrgentData): New method.
	(getChannel): New method.
	* java/net/ServerSocket.java
	(getChannel): New method.
	(isBound): New method.
	* java/net/DatagramSocket.java
	(DatagramSocket): Two new methods.
	(bind): New method.
	(getChannel): New method.
	(isBound): New method.
	(send): Added newline to to make shorter lines.
	* java/net/PlainDatagramSocketImpl.java
	(mcastGrp): Added argument.
	(join): Use new mcastGrp.
	(leave): Use new mcastGrp.
	(joinGroup): New method.
	(leaveGroup): New method.
	* java/net/natPlainDatagramSocketImpl.cc
	(mcastGrp): Added argument, no yet really implemented.
	(getOption): Added newline for shorter lines.
	* java/net/natPlainSocketImpl.cc
	(read, setOption, getOption): Added newline for shorter lines.

2002-09-19  Tom Tromey  <tromey@redhat.com>

       * java/lang/ClassLoader.java (resolveClass0): Set cause for
       newly-created exception.

2002-09-18  Michael Koch  <konqueror@gmx.de>

	* java/util/regex/Matcher.java, java/util/regex/Pattern.java,
	java/util/regex/PatternSyntaxException.java:
	Merge with classpath, new files.
	* Makefile.am (core_java_source_files):
	Added java/util/regex/Matcher.java,
	java/util/regex/Pattern.java,
	java/util/regex/PatternSyntaxException.java
	* Makefile.in: Regenerated.
	* include/config.h.in: Added HAVE_NET_IF_H.
	* java/net/natNetworkInterface.cc (getRealNetworkInterfaces):
	Removed #if 0 ... #endif.

2002-09-17  Michael Koch  <konqueror@gmx.de>

	* java/net/natNetworkInterface.cc:
	Removed unneed and yet wrong includes.

2002-09-17  Michael Koch  <konqueror@gmx.de>

	* java/net/NetworkInterface.java: New file.
	* java/net/natNetworkInterface.java: New file.
	* configure.in: Added check for net/if.h.
	* configure: Regenerated.
	* Makefile.am
	(ordinary_java_source_files): Added NetworkInterface.java.
	(nat_source_files): Added natNetworkInterface.cc.
	* Makefile.in: Regenerated.

2002-09-16  Tom Tromey  <tromey@redhat.com>

	* java/net/URLClassLoader.java (findClass): Code source for a
	class from a jar is not necessarily a jar: URL.

2002-09-16  Michael Koch  <konqueror@gmx.de>

	* java/lang/AssertionError.java:
	Merge with classpath, fixes HTML.
	* java/rmi/server/LogStream.java:
	Merge with classpath, fixes some constants.
	* java/net/server/RemoteServer.java:
	Merge with classpath, adds serialVersionUID.
	* javax/naming/BinaryRefAddr.java:
	Merge with classpath, s/equal/equals/.
	* javax/naming/NamingException.java:
	Merge with classpath, fixed typo.
	* javax/naming/RefAddr.java:
	Merge with classpath, s/equal/equals/.
	* java/awt/Toolkit.java:
	s/gnu.java.awt.peer.gtk.GtkToolkit/gnu.awt.gtk.GtkToolkit/
	and typo fixed.

2002-09-15  Adam Megacz <adam@xwt.org>

	* java/net/natPlainSocketImpl.cc: fixed typo.

2002-09-15  Adam Megacz <adam@xwt.org>

	* java/net/natPlainSocketImpl.cc: #ifdef-shielded socket timeouts,
	which don't work on Win32 (yet).

2002-09-14  Adam Megacz <adam@xwt.org>

	* java/net/natPlainDatagramSocket.cc: removed #include
	<ws2tcpip.h>; the mingw header is broken (conflicts with itself).
	* include/win32.h: included definition for IP_TOS to satisfy
	natPlainDatagramSocket.cc

2002-09-13  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java (DatagramPacket):
	Added linebreak for 80 chars per line.
	* java/net/JarURLConection.java
	(getInputStreami, getJarEntry): Likewise.
	* java/net/SocketPErmission.java
	(SocketPermission class docu, implies): Likewise.
	* java/net/URLClassLoader.java (findResources): Likewise.
	* java/net/URLConnection.java: Reindendet remark for 80 chars per line

2002-09-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/DatagramChannel.java,
	java/nio/channels/ServerSocketChannel.java
	java/nio/channels/SocketChannel.java:
	New dummy files to make java.net fully JDK 1.4 compatible
	* Makefile.am (ordinary_java_source_files): Added
	java/net/DatagramSocketImplFactory.java (long forgotten),
	java/nio/SocketChannel.java,
	java/nio/ServerSocketChannel.java,
	java/nio/DatagramChannel.java
	* Makefile.in: Regenrated.

2002-09-12  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocketImpl.java
	(peekData): New method.
	* java/net/PlainDatagramSocketImpl.java
	(peekData): New method.
	* java/net/natPlainDatagramSocketImpl.cc
	(peekData): New method.
	* java/net/URLConnection
	(getPermission): New method.
	(addRequestProperty): New method.
	(getRequestProperties): New method.
	(guessContentTypeFromStream): New method, not really implemented.
	(URLConnection): Added/updated documentation.
	(connect): Added/updated documentation.
	(getURL): Added/updated documentation.
	(getContentLength): Added/updated documentation.
	(getContentType: Added/updated documentation.
	(getContentEncoding): Added/updated documentation.
	(getExpiration): Added/updated documentation.
	(getDate): Added/updated documentation.
	(getLastModified): Added/updated documentation.
	(getHeaderField): Added/updated documentation.
	(getHeaderFields): Added/updated documentation.
	(getHeaderFieldInt): Added/updated documentation.
	(getHeaderFieldDate): Added/updated documentation.
	(getHeaderFieldKey): Added/updated documentation.
	(getContent): Added/updated documentation.
	(getInputStream): Added/updated documentation.
	(getOutputStream): Added/updated documentation.
	(toString): Added/updated documentation.
	(setDoInput): Added/updated documentation.
	(getDoInput): Added/updated documentation.
	(setDoOutput): Added/updated documentation.
	(getDoOutput): Added/updated documentation.
	(setAllowUserInteraction): Added/updated documentation.
	(getAllowUserInteraction): Added/updated documentation.
	(setDefaultAllowUserInteraction): Added/updated documentation.
	(getDefaultAllowUserInteraction): Added/updated documentation.
	(setUseCaches): Added/updated documentation.
	(getUseCaches): Added/updated documentation.
	(setIfModifiedSince): Added/updated documentation.
	(getIfModifiedSince): Added/updated documentation.
	(getDefaultUseCaches): Added/updated documentation.
	(setDefaultUseCaches): Added/updated documentation.
	(setRequestProperty): Added/updated documentation.
	(getRequestProperty): Added/updated documentation.
	(setDefaultRequestProperty): Added/updated documentation.
	(getDefaultRequestProperty): Added/updated documentation.
	(setContentHandlerFactory): Added/updated documentation.
	(guessContentTypeFromName): Added/updated documentation.
	(getFileNameMap): Added/updated documentation.
	(setFileNameMap): Added/updated documentation.

2002-09-11  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(Socket): protected to public (since JDK 1.4). Added @specnote.
	(bind): New method.
	(connect): Two new methods.
	(getKeepalive): Get correct socket option.
	(setKeepalive): Set correct socket option.
	(getOOBInline): New method.
	(setOOBInline): New method.
	* java/net/ServerSocket.java
	(bind): Two new methods.
	(getInetAddress): Reimplemented, catch exception.
	(getLocalSocketAddress): New method.
	(setReuseAddress): New method.
	(getReuseAdress): New method.
	(setReceiveBufferSize): New method.
	(getReceiveBufferSize): New method.
	(toString): Made string JDK 1.4 compliant.

2002-09-10  Michael Koch  <konqueror@gmx.de>

	* java/net/SocketImpl.java
	(connect): New method.
	(supportsUrgentData): New method.
	(sendUrgentData): New method.
	* java/net/PlainSocketImpl.java
	(connect): One new method and two new implementation.
	(sendUrgentData): New method.
	* java/natPlainSocketImpl.cc
	(connect): Arguments changed, added support for timeouts.
	(getOption): Another __java_boolean to jboolean.

2002-09-07  Adam Megacz <adam@xwt.org>

	* java/net/natPlainDatagramSocket.cc: include ws2tcpip.h for
	definition of IP_TOS.

2002-09-04  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): Added documentation.
	(close): Likewise.
	(getLocalAddress): Likewise.
	(getLocalPort): Likewise.
	(receive): Likewise.
	(send): Likewise.
	(setSoTimeout): Likewise.
	(connect): New method.
	(disconnect): New method.
	(getInetAddress): New method (FIXME)
	(getPort): New method.
	(setReuseAddress): New method.
	(getReuseAddress): New method.
	(setBroadcast): New method.
	(getBroadcast): New method.
	(setTrafficClass): New method.
	(getTrafficClass): New method.
	* java/net/MulticastSocket.java):
	(getTTL): Added @see in documentation.
	(setTTL): Added @see in documentation.
	(setLoopbackMode): New method.
	(getLoopbackMode): New method.
	* java/net/PlainSocketImpl.java:
	Added new constants for the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	* java/net/PlainDatagramSocketImpl.java
	Added new constants for the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	* java/net/natPlainSocketImpl.cc
	(getOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	(setOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	This should also fix SO_KEEPALIVE
	* java/net/natPlainDatagramSocketImpl.cc
	(getOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	(setOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS

2002-09-04  Michael Koch  <konqueror@gmx.de>

	* java/net/SocketOptions.java: added static variables to be JDK 1.4
	compatible (SO_BROADCAST, SO_OOBINLINE, IP_MULTICAST_IF2,
	IP_MULTICAST_LOOP, IP_TOS

2002-09-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (_getDeclaredMethod): Declare.
	(_getMethod): Now private.
	* java/lang/natClass.cc (_getDeclaredMethod): Renamed from
	getDeclaredMethod.  Now returns NULL on failure.
	* java/lang/Class.java (_getDeclaredMethod): Declare.
	(getDeclaredMethod): No longer native; implements access checks.

2002-09-01  Mark Wielaard  <mark@klomp.org>

	* gnu/gcj/runtime/NameFinder.java (remove_interpreter): New field.
	(sanitizeStack): Correctly reset unknown and interpreter counters,
	detect interpreter runtime frames.
	(demangleInterpreterMethod): New method.
	* gnu/gcj/runtime/natNameFinder.cc (lookupInterp): Use new method.
	* java/lang/natVMThrowable.cc (fillInStackTrace): Change order of
	filling in addrs[].

2002-09-02  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java, java/net/MulticsstSocket.java:
	re-indented documentation.

2002-08-30  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/util/Calendar.java (getTimeInMillis, getTimeInMillis): Now
	public, per 1.4 spec.  Fixes PR libgcj/7785.

2002-08-30  Jeff Sturm  <jsturm@one-point.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ZIP, GCJH): Remove $(EXEEXT).

2002-08-29  Tom Tromey  <tromey@redhat.com>

	* java/net/JarURLConnection.java (getCertificates): New method
	from Classpath.
	* java/net/URLClassLoader.java (URLClassLoader): Extends
	SecureClassLoader.
	(definePackage): New method from Classpath.
	(getPermissions): Likewise.
	(newInstance): Likewise.
	(findClass): Construct CodeSource for new class (from Classpath).
	* java/net/SocketImpl.java (shutdownInput, shutdownOutput): New
	methods.
	* java/net/URL.java (getUserInfo): New method.
	(set(String,String,int,String,String,String,String,String)): New
	method.
	* java/net/PlainSocketImpl.java (_Jv_SO_KEEPALIVE_): Define.
	(shutdownInput, shutdownOutput): Declare.
	* java/net/PlainDatagramSocketImpl.java (_Jv_SO_KEEPALIVE_):
	Define.
	* java/net/natPlainSocketImpl.cc (setOption): Handle keepalive.
	(getOption): Likewise.
	(shutdownInput): New method.
	(shutdownOutput): Likewise.
	* java/net/natPlainDatagramSocketImpl.cc (setOption): Handle
	keepalive.
	(getOption): Likewise.
	* java/net/SocketOptions.java (SO_KEEPALIVE): New constant.
	* java/net/Socket.java (setKeepAlive): New method.
	(getKeepAlive): Likewise.
	(shutdownInput, shutdownOutput): New methods.

2002-08-29  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java: updated to JDK 1.4 API
	new methods are:
	DatagramPacket(byte[] buf, int offset, int length, SocketAddress
	  address),
	DatagramPacket(byte[] buf, int length, SocketAddress address),
	void setSocketAddress(SocketAddress address)
	public SocketAddress getSocketAddress()

2002-08-29  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorPosix.cc (setLength): Handle case where
	ftruncate is missing.
	* configure, include/config.h.in: Rebuilt.
	* acconfig.h (HAVE_FTRUNCATE): Mention.
	* configure.in: Check for ftruncate.

2002-08-29  Tom Tromey  <tromey@redhat.com>

	* include/jvm.h (struct _Jv_frame_info): New structure.
	* gnu/gcj/runtime/natNameFinder.cc: Include StringBuffer.h,
	java-interp.h.
	(lookupInterp): New method.
	(getAddrAsString): Use _Jv_frame_info.
	(dladdrLookup): Likewise.
	* gnu/gcj/runtime/NameFinder.java (lookup): Try to look up
	interpreted frame.
	(lookupInterp): Declare.
	* java/lang/natVMThrowable.cc: Include Thread.h, java-interp.h.
	(fillInStackTrace): Collect information on interpreted frames.
	Use _Jv_frame_info.
	* interpret.cc: Include Thread.h.
	(run): Create and push _Jv_MethodChain object.
	(_Jv_EndOfInterpreter): New global.
	* java/lang/Thread.java (interp_frame): New field.
	* include/java-interp.h (struct _Jv_MethodChain): New structure.
	Include NameFinder.h.

2002-08-28  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h: Include Package.h.
	(Class::getProtectionDomain): Declare.
	(Class::getPackage): Declare.

2002-08-28  Michael Koch <konqueror@gmx.de>

	* java/net/InetSocketAddress.java: Added some documentation and argument
	checks for the port numbers.
	* java/net/DatagramSocketImplFactory.java: New file.

2002-08-28  Michael Koch <konqueror@gmx.de>

	* java/net/Authenticator.java: added some documentation.

2002-08-27  Tom Tromey  <tromey@redhat.com>

	* java/lang/reflect/natConstructor.cc (newInstance): Initialize
	class.
	* java/lang/reflect/natMethod.cc (invoke): Initialize class.

2002-08-27  Michael Koch <konqueror@gmx.de>

	* java/net/BindException.java,
	java/net/JarURLConnection.java,
	java/net/FileNameMap.java,
	java/net/HttpURLConnection.java,
	java/net/InetSocketAddress.java,
	java/net/DatagramPacket.java,
	java/net/DatagramSocket.java,
	java/net/DatagramSocketImpl.java,
	java/net/MulticastSocket.java,
	java/net/PasswordAuthentication.java,
	java/net/ServerSocket.java,
	java/net/Socket.java,
	java/net/URLClassLoader.java,
	java/net/URLConnection.java: add/update of some @since/@deprecated

2002-08-27  Tony Kimball <alk@pobox.com>
            Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainDatagramSocketImpl.cc (NATIVE_CLOSE): New
	define.
	(::close): Removed.
	(PlainDatagramSocketImpl::close): Use NATIVE_CLOSE.
	* java/net/natPlainSocketImpl.cc (NATIVE_CLOSE): New define.
	(::close): Removed.
	(PlainSocketImpl::close): Use NATIVE_CLOSE.
	* include/win32.h (getcwd): Removed declaration.  Include io.h.

2002-08-25  Adam Megacz <adam@xwt.org>

	* include/win32.h (getcwd): copied function declaration as
	temporary fix for header confusion.

2002-08-24  Mark Wielaard <mark@klomp.org>

	* Makefile.am (libgcj_la_SOURCES): Remove name-finder.cc.
	(core_java_source_files): Add VMThrowable.java and NameFinder.java
	(nat_source_files): Remove natThrowable.cc, add natVMThrowable.cc
	and natNameFinder.cc.
	* Makefile.in: Regenerate.
	* prims.cc: Use trace_enabled from VMThrowable.
	* name-finder.cc: Removed.
	* gcj/javaprims.h: Add class VMThrowable.
	* gnu/gcj/runtime/NameFinder.java: New file.
	* gnu/gcj/runtime/natNameFinder.cc: Likewise.
	* include/name-finder.h: Removed.
	* java/lang/Throwable.java (printStackTrace (PrintStream)): Use new
	method stackTraceString().
	(printStackTrace (PrintWriter)): Likewise.
	(stackTraceString): Complete rewrite of old printStackTrace using
	StringBuffer.
	(stackTraceStringBuffer): New helper method for stackTraceString().
	(fillInStackTrace): Delegate to VMTrowable.
	(getStackTrace): Likewise.
	(getStackTrace0): Removed.
	(trace_enabled, stackTraceBytes): Moved to new VMThrowable.java.
	(setStackTrace): Copy given array.
	* java/lang/natThrowable.cc: Removed (replaced by natVMThrowable).
	* java/lang/VMThrowable.java: New class.
	* java/lang/natVMThrowable.cc: New file.

2003-08-23  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java,
	java/netJarURLConnection.java,
	gnu/gcj/protocol/core/Connection.java,
	gnu/gcj/protocol/file/Connection.java,
	gnu/gcj/protocol/http/Connection.java: Added implementation of
	getHeaderFields().

2002-08-22  Tom Tromey  <tromey@redhat.com>

	* gij.cc (help): Document -cp and -classpath.
	(main): Handle -classpath.

2002-08-21  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added
	SocketAddress.java, InetSocketAddress.java.
	* java/net/PortUnreachableException.java: Merged with Classpath.
	* java/net/SocketTimeoutException.java: Likewise.
	* java/net/URISyntaxException.java: Likewise.
	* java/net/SocketAddress.java: New class from Classpath.
	* java/net/InetSocketAddress.java: Likewise.

2003-08-21  Michael Koch  <konqueror@gmx.de>

	* java/net/Authenticator.java: updated JDK 1.4
	* java/net/ContentHandler.java: updated JDK 1.4

2002-08-20  Michael Koch  <konqueror@gmx.de>

	* java/net/URISyntaxException.java: New file.
	* java/net/SocketTimeoutException.java: New file.
	* java/net/PortUnreachableException.java: New file.
	* Makefile.am: Updated.
	* Makefile.in: Rebuilt.

2002-08-18  Mark Wielaard  <mark@klomp.org>

	Thanks to Vladimir Puskas <vpuskas@eunet.yu>
	* gnu/java/security/provider/MD5.java: Extends MessageDigest, not
	MessageDigestSpi (fixes Classpath bug #783).

2002-08-14  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/lang/natPosixProcess.cc (cleanup): Added `path' argument.
	(startProcess): Allocate path for chdir in async-signal-safe way.

2002-08-13  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	Fix for PR libgcj/7570 and PR libgcj/7578:
	* java/lang/natPosixProcess.cc: Include java/io/File.h.
	(startProcess): Handle new `dir' argument.
	* java/lang/Win32Process.java (ConcreteProcess): Added `dir'
	argument.
	* java/lang/PosixProcess.java (ConcreteProcess): Added `dir'
	argument.
	(startProcess): Likewise.
	* java/lang/EcosProcess.java (ConcreteProcess): Added `dir'
	argument.
	* java/lang/Runtime.java (execInternal): Added `dir' argument.
	(exec): Don't create new environment if ENV==null.  Pass DIR to
	execInternal.
	* java/lang/natRuntime.cc: Include java/io/File.h.
	(execInternal): Added `dir' argument.

2002-08-13  Jesse Rosenstock  <jmr@fulcrummicro.com>

	* java/io/RandomAccessFile.java (skipBytes): Return number of
	bytes skipped.

2002-08-01  Mark Wielaard  <mark@klomp.org>

	Reenable patch since shared library troubles on powerpc are solved:
	* gnu/java/security/provider/Gnu.java: Reference all implementation
	classes by using Class.getName().
	* gnu/java/security/der/DEREncodingException.java,
	gnu/java/security/provider/DERReader.java,
	gnu/java/security/provider/DERWriter.java,
	gnu/java/security/provider/DSAKeyPairGenerator.java,
	gnu/java/security/provider/DSAParameterGenerator.java,
	gnu/java/security/provider/DSAParameters.java,
	gnu/java/security/provider/DSASignature.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/MD5.java,
	gnu/java/security/util/Prime.java: New classes
	* Makefile.am (ordinary_java_source_files): Add above files.
	* Makefile.in: Regenerate.
	* gnu/java/security/provider/DefaultPolicy.java
	(getPermissions): Don't maintain static class variable of Permissions.
	* gnu/java/security/provider/SHA.java
	(engineUpdate): algorithm change.
	(engineDigest): algorithm change.

2002-08-09  Mark Wielaard  <mark@klomp.org>

	* java/awt/image/MemoryImageSource.java: Change constructor to take
	int[] not byte[].
	* java/awt/Graphics2D.java: Uncomment methods that can now be
	compiled.
	* java/awt/GridBagLayout.java: New stub implementation.
	* javax/swing/text/html/HTML.java: Stub implementation.
	* javax/swing/text/html/parser/ParserDelegator.java: New stub
	implementation.

	* Makefile.am: Add new files.
	* Makefile.in: Rebuilt.

2002-08-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* gnu/awt/j2d/Graphics2DImpl.java: Implement stubs for new abstract
	methods in Graphics2D.

2002-08-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	AWT/Swing merge from GNU Classpath.

	* java/awt/AlphaComposite.java, java/awt/AttributeValue.java,
	java/awt/BasicStroke.java, java/awt/BufferCapabilities.java,
	java/awt/color/CMMException.java, java/awt/ColorPaintContext.java,
	java/awt/color/ProfileDataException.java,
	java/awt/CompositeContext.java,	java/awt/Composite.java,
	java/awt/ContainerOrderFocusTraversalPolicy.java,
	java/awt/datatransfer/FlavorTable.java,
	java/awt/DefaultFocusTraversalPolicy.java,
	java/awt/DefaultKeyboardFocusManager.java, java/awt/DisplayMode.java,
	java/awt/dnd/DnDConstants.java, java/awt/dnd/DragGestureEvent.java,
	java/awt/dnd/DragGestureListener.java,
	java/awt/dnd/DragGestureRecognizer.java,
	java/awt/dnd/DragSourceAdapter.java,
	java/awt/dnd/DragSourceContext.java,
	java/awt/dnd/DragSourceDragEvent.java,
	java/awt/dnd/DragSourceEvent.java, java/awt/dnd/DragSource.java,
	java/awt/dnd/DragSourceListener.java,
	java/awt/dnd/DragSourceMotionListener.java,
	java/awt/dnd/DropTarget.java,
	java/awt/dnd/InvalidDnDOperationException.java,
	java/awt/dnd/peer/DragSourceContextPeer.java,
	java/awt/event/AWTEventListenerProxy.java,
	java/awt/event/MouseWheelEvent.java,
	java/awt/event/MouseWheelListener.java,
	java/awt/event/WindowFocusListener.java,
	java/awt/event/WindowStateListener.java,
	java/awt/FocusTraversalPolicy.java, java/awt/FontFormatException.java,
	java/awt/font/TextHitInfo.java, java/awt/geom/Arc2D.java,
	java/awt/geom/Area.java, java/awt/geom/CubicCurve2D.java,
	java/awt/geom/FlatteningPathIterator.java,
	java/awt/geom/GeneralPath.java, java/awt/geom/QuadCurve2D.java,
	java/awt/GradientPaint.java, java/awt/GraphicsConfigTemplate.java,
	java/awt/GraphicsDevice.java, java/awt/GraphicsEnvironment.java,
	java/awt/HeadlessException.java, java/awt/image/BufferedImageOp.java,
	java/awt/image/BufferStrategy.java, java/awt/ImageCapabilities.java,
	java/awt/image/ImagingOpException.java,
	java/awt/image/RasterFormatException.java,
	java/awt/image/RenderedImage.java, java/awt/image/TileObserver.java,
	java/awt/image/VolatileImage.java,
	java/awt/image/WritableRenderedImage.java,
	java/awt/im/InputContext.java, java/awt/im/InputMethodHighlight.java
	java/awt/im/InputMethodRequests.java, java/awt/im/InputSubset.java,
	java/awt/JobAttributes.java, java/awt/KeyboardFocusManager.java,
	java/awt/KeyEventDispatcher.java, java/awt/KeyEventPostProcessor.java
	java/awt/PageAttributes.java, java/awt/print/Book.java,
	java/awt/print/Pageable.java, java/awt/print/PageFormat.java,
	java/awt/print/Paper.java, java/awt/print/Printable.java,
	java/awt/print/PrinterAbortException.java,
	java/awt/print/PrinterException.java,
	java/awt/print/PrinterGraphics.java,
	java/awt/print/PrinterIOException.java, java/awt/print/PrinterJob.java,
	java/awt/Robot.java, java/awt/ScrollPaneAdjustable.java,
	java/awt/Stroke.java, java/awt/TexturePaint.java,
	javax/accessibility/AccessibleAction.java,
	javax/accessibility/AccessibleBundle.java,
	javax/accessibility/AccessibleComponent.java,
	javax/accessibility/AccessibleContext.java,
	javax/accessibility/AccessibleEditableText.java,
	javax/accessibility/AccessibleExtendedComponent.java,
	javax/accessibility/AccessibleExtendedTable.java,
	javax/accessibility/AccessibleHyperlink.java,
	javax/accessibility/AccessibleHypertext.java,
	javax/accessibility/AccessibleIcon.java,
	javax/accessibility/Accessible.java,
	javax/accessibility/AccessibleKeyBinding.java,
	javax/accessibility/AccessibleRelation.java,
	javax/accessibility/AccessibleRelationSet.java,
	javax/accessibility/AccessibleResourceBundle.java,
	javax/accessibility/AccessibleRole.java,
	javax/accessibility/AccessibleSelection.java,
	javax/accessibility/AccessibleState.java,
	javax/accessibility/AccessibleStateSet.java,
	javax/accessibility/AccessibleTable.java,
	javax/accessibility/AccessibleTableModelChange.java,
	javax/accessibility/AccessibleText.java,
	javax/accessibility/AccessibleValue.java,
	javax/swing/AbstractAction.java,
	javax/swing/AbstractButton.java,
	javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/AbstractSet.java, javax/swing/Action.java,
	javax/swing/ActionMap.java, javax/swing/border/AbstractBorder.java,
	javax/swing/border/BevelBorder.java, javax/swing/border/Border.java,
	javax/swing/border/CompoundBorder.java,
	javax/swing/border/EmptyBorder.java,
	javax/swing/border/EtchedBorder.java, javax/swing/BorderFactory.java,
	javax/swing/border/LineBorder.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/border/TitledBorder.java,
	javax/swing/BoundedRangeModel.java, javax/swing/Box.java,
	javax/swing/BoxLayout.java, javax/swing/ButtonGroup.java,
	javax/swing/ButtonModel.java, javax/swing/CellEditor.java,
	javax/swing/CellRendererPane.java,
	javax/swing/colorchooser/AbstractColorChooserPanel.java,
	javax/swing/colorchooser/ColorChooserComponentFactory.java,
	javax/swing/colorchooser/ColorSelectionModel.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/ComboBoxEditor.java, javax/swing/ComboBoxModel.java,
	javax/swing/ComponentInputMap.java, javax/swing/DebugGraphics.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultCellRenderer.java,
	javax/swing/DefaultComboBoxModel.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/DefaultFocusManager.java,
	javax/swing/DefaultListCellRenderer.java,
	javax/swing/DefaultListModel.java,
	javax/swing/DefaultListSelectionModel.java,
	javax/swing/DefaultSingleSelectionModel.java,
	javax/swing/DesktopManager.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/AncestorListener.java,
	javax/swing/event/CaretEvent.java,
	javax/swing/event/CaretListener.java,
	javax/swing/event/CellEditorListener.java,
	javax/swing/event/ChangeEvent.java,
	javax/swing/event/ChangeListener.java,
	javax/swing/event/DocumentEvent.java,
	javax/swing/event/DocumentListener.java,
	javax/swing/event/EventListenerList.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/HyperlinkListener.java,
	javax/swing/event/InternalFrameAdapter.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/InternalFrameListener.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/ListDataListener.java,
	javax/swing/event/ListSelectionEvent.java,
	javax/swing/event/ListSelectionListener.java,
	javax/swing/event/MenuDragMouseEvent.java,
	javax/swing/event/MenuDragMouseListener.java,
	javax/swing/event/MenuEvent.java,
	javax/swing/event/MenuKeyEvent.java,
	javax/swing/event/MenuKeyListener.java,
	javax/swing/event/MenuListener.java,
	javax/swing/event/MouseInputAdapter.java,
	javax/swing/event/MouseInputListener.java,
	javax/swing/event/PopupMenuEvent.java,
	javax/swing/event/PopupMenuListener.java,
	javax/swing/event/SwingPropertyChangeSupport.java,
	javax/swing/event/TableColumnModelEvent.java,
	javax/swing/event/TableColumnModelListener.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/event/TableModelListener.java,
	javax/swing/event/TreeExpansionEvent.java,
	javax/swing/event/TreeExpansionListener.java,
	javax/swing/event/TreeModelEvent.java,
	javax/swing/event/TreeModelListener.java,
	javax/swing/event/TreeSelectionEvent.java,
	javax/swing/event/TreeSelectionListener.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/event/UndoableEditEvent.java,
	javax/swing/event/UndoableEditListener.java,
	javax/swing/filechooser/FileFilter.java,
	javax/swing/filechooser/FileSystemView.java,
	javax/swing/filechooser/FileView.java,
	javax/swing/FocusManager.java, javax/swing/GrayFilter.java,
	javax/swing/Icon.java, javax/swing/ImageIcon.java,
	javax/swing/InputMap.java, javax/swing/InputVerifier.java,
	javax/swing/JApplet.java, javax/swing/JButton.java,
	javax/swing/JCheckBox.java, javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JColorChooser.java, javax/swing/JComboBox.java,
	javax/swing/JComponent.java, javax/swing/JDesktopPane.java,
	javax/swing/JDialog.java, javax/swing/JEditorPane.java,
	javax/swing/JFileChooser.java, javax/swing/JFrame.java,
	javax/swing/JInternalFrame.java, javax/swing/JLabel.java,
	javax/swing/JLayeredPane.java, javax/swing/JList.java,
	javax/swing/JMenuBar.java, javax/swing/JMenuItem.java,
	javax/swing/JMenu.java,	javax/swing/JOptionPane.java,
	javax/swing/JPanel.java, javax/swing/JPasswordField.java,
	javax/swing/JPopupMenu.java, javax/swing/JProgressBar.java,
	javax/swing/JRadioButton.java, javax/swing/JRadioButtonMenuItem.java,
	javax/swing/JRootPane.java, javax/swing/JScrollBar.java,
	javax/swing/JScrollPane.java, javax/swing/JSeparator.java,
	javax/swing/JSlider.java, javax/swing/JSplitPane.java,
	javax/swing/JTabbedPane.java, javax/swing/JTable.java,
	javax/swing/JTextField.java, javax/swing/JTextPane.java,
	javax/swing/JToggleButton.java, javax/swing/JToolBar.java,
	javax/swing/JToolTip.java, javax/swing/JTree.java,
	javax/swing/JViewport.java, javax/swing/JWindow.java,
	javax/swing/KeyStroke.java, javax/swing/ListCellRenderer.java,
	javax/swing/ListModel.java, javax/swing/ListSelectionModel.java,
	javax/swing/LookAndFeel.java, javax/swing/MenuElement.java,
	javax/swing/MenuSelectionManager.java,
	javax/swing/MutableComboBoxModel.java,
	javax/swing/OverlayLayout.java,
	javax/swing/plaf/ActionMapUIResource.java,
	javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicButtonUI.java,
	javax/swing/plaf/basic/BasicCheckBoxUI.java,
	javax/swing/plaf/basic/BasicDefaults.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicIconFactory.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicLookAndFeel.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java,
	javax/swing/plaf/basic/BasicPanelUI.java,
	javax/swing/plaf/basic/BasicRadioButtonUI.java,
	javax/swing/plaf/basic/BasicScrollPaneUI.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/basic/BasicToggleButtonUI.java,
	javax/swing/plaf/basic/BasicTreeUI.java,
	javax/swing/plaf/basic/BasicViewportUI.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/ButtonUI.java,
	javax/swing/plaf/ColorChooserUI.java,
	javax/swing/plaf/ColorUIResource.java,
	javax/swing/plaf/ComboBoxUI.java,
	javax/swing/plaf/ComponentInputMapUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/DesktopIconUI.java,
	javax/swing/plaf/DesktopPaneUI.java,
	javax/swing/plaf/DimensionUIResource.java,
	javax/swing/plaf/FileChooserUI.java,
	javax/swing/plaf/FontUIResource.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/InputMapUIResource.java,
	javax/swing/plaf/InsetsUIResource.java,
	javax/swing/plaf/InternalFrameUI.java,
	javax/swing/plaf/LabelUI.java,
	javax/swing/plaf/ListUI.java,
	javax/swing/plaf/MenuBarUI.java,
	javax/swing/plaf/MenuItemUI.java,
	javax/swing/plaf/OptionPaneUI.java,
	javax/swing/plaf/PanelUI.java,
	javax/swing/plaf/PopupMenuUI.java,
	javax/swing/plaf/ProgressBarUI.java,
	javax/swing/plaf/RootPaneUI.java,
	javax/swing/plaf/ScrollBarUI.java,
	javax/swing/plaf/ScrollPaneUI.java,
	javax/swing/plaf/SeparatorUI.java,
	javax/swing/plaf/SliderUI.java,
	javax/swing/plaf/SplitPaneUI.java,
	javax/swing/plaf/TabbedPaneUI.java,
	javax/swing/plaf/TableHeaderUI.java,
	javax/swing/plaf/TableUI.java,
	javax/swing/plaf/TextUI.java,
	javax/swing/plaf/ToolBarUI.java,
	javax/swing/plaf/ToolTipUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/UIResource.java,
	javax/swing/plaf/ViewportUI.java,
	javax/swing/ProgressMonitorInputStream.java,
	javax/swing/ProgressMonitor.java,
	javax/swing/Renderer.java,
	javax/swing/RepaintManager.java,
	javax/swing/RootPaneContainer.java,
	javax/swing/Scrollable.java,
	javax/swing/ScrollPaneConstants.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SingleSelectionModel.java,
	javax/swing/SizeRequirements.java,
	javax/swing/SizeSequence.java,
	javax/swing/SwingConstants.java,
	javax/swing/SwingUtilities.java,
	javax/swing/table/AbstractTableModel.java,
	javax/swing/table/DefaultTableCellRenderer.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/DefaultTableModel.java,
	javax/swing/table/TableCellEditor.java,
	javax/swing/table/TableCellRenderer.java,
	javax/swing/table/TableColumn.java,
	javax/swing/table/TableColumnModel.java,
	javax/swing/table/TableModel.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/AttributeSet.java,
	javax/swing/text/BadLocationException.java,
	javax/swing/text/Caret.java,
	javax/swing/text/CharacterIterator.java,
	javax/swing/text/ComponentView.java,
	javax/swing/text/DefaultCaret.java,
	javax/swing/text/DefaultEditorKit.java,
	javax/swing/text/Document.java,
	javax/swing/text/EditorKit.java,
	javax/swing/text/Element.java,
	javax/swing/text/GapContent.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/Keymap.java,
	javax/swing/text/MutableAttributeSet.java,
	javax/swing/text/PlainDocument.java,
	javax/swing/text/PlainEditorKit.java,
	javax/swing/text/Position.java,
	javax/swing/text/Segment.java,
	javax/swing/text/StyledDocument.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/text/Style.java,
	javax/swing/text/TextAction.java,
	javax/swing/text/ViewFactory.java,
	javax/swing/text/View.java,
	javax/swing/Timer.java,
	javax/swing/ToggleButtonModel.java,
	javax/swing/ToolTipManager.java,
	javax/swing/tree/AbstractLayoutCache.java,
	javax/swing/tree/DefaultMutableTreeNode.java,
	javax/swing/tree/DefaultTreeCellEditor.java,
	javax/swing/tree/DefaultTreeCellRenderer.java,
	javax/swing/tree/DefaultTreeModel.java,
	javax/swing/tree/DefaultTreeSelectionModel.java,
	javax/swing/tree/ExpandVetoException.java,
	javax/swing/tree/FixedHeightLayoutCache.java,
	javax/swing/tree/MutableTreeNode.java,
	javax/swing/tree/RowMapper.java,
	javax/swing/tree/TreeCellEditor.java,
	javax/swing/tree/TreeCellRenderer.java,
	javax/swing/tree/TreeModel.java,
	javax/swing/tree/TreeNode.java,
	javax/swing/tree/TreePath.java,
	javax/swing/tree/TreeSelectionModel.java,
	javax/swing/tree/VariableHeightLayoutCache.java,
	javax/swing/UIDefaults.java,
	javax/swing/UIManager.java,
	javax/swing/undo/AbstractUndoableEdit.java,
	javax/swing/undo/CannotRedoException.java,
	javax/swing/undo/CannotUndoException.java,
	javax/swing/undo/CompoundEdit.java,
	javax/swing/undo/StateEditable.java,
	javax/swing/undo/StateEdit.java,
	javax/swing/undo/UndoableEdit.java,
	javax/swing/undo/UndoableEditSupport.java,
	javax/swing/undo/UndoManager.java,
	javax/swing/UnsupportedLookAndFeelException.java,
	javax/swing/ViewportLayout.java,
	javax/swing/WindowConstants.java: New files, from GNU Classpath.

	* java/awt/ActiveEvent.java,
	java/awt/Adjustable.java, java/awt/AWTError.java,
	java/awt/AWTEvent.java,	java/awt/AWTEventMulticaster.java,
	java/awt/AWTException.java, java/awt/AWTPermission.java,
	java/awt/BorderLayout.java, java/awt/Button.java, java/awt/Choice.java,
	java/awt/Color.java, java/awt/Component.java,
	java/awt/ComponentOrientation.java, java/awt/Container.java,
	java/awt/datatransfer/MimeTypeParseException.java,
	java/awt/datatransfer/Transferable.java,
	java/awt/datatransfer/UnsupportedFlavorException.java,
	java/awt/Dimension.java, java/awt/event/ActionEvent.java,
	java/awt/event/ActionListener.java,
	java/awt/event/AdjustmentEvent.java,
	java/awt/event/AdjustmentListener.java,
	java/awt/event/AWTEventListener.java,
	java/awt/event/ComponentAdapter.java,
	java/awt/event/ComponentEvent.java,
	java/awt/event/ComponentListener.java,
	java/awt/event/ContainerAdapter.java,
	java/awt/event/ContainerEvent.java,
	java/awt/event/ContainerListener.java,
	java/awt/event/FocusAdapter.java,
	java/awt/event/FocusEvent.java, java/awt/event/FocusListener.java,
	java/awt/event/HierarchyBoundsAdapter.java,
	java/awt/event/HierarchyBoundsListener.java,
	java/awt/event/HierarchyEvent.java,
	java/awt/event/HierarchyListener.java,
	java/awt/event/InputEvent.java, java/awt/event/InputMethodEvent.java,
	java/awt/event/InputMethodListener.java,
	java/awt/event/InvocationEvent.java, java/awt/event/ItemEvent.java,
	java/awt/event/ItemListener.java, java/awt/event/KeyAdapter.java,
	java/awt/event/KeyEvent.java, java/awt/event/KeyListener.java,
	java/awt/event/MouseAdapter.java, java/awt/event/MouseEvent.java,
	java/awt/event/MouseListener.java,
	java/awt/event/MouseMotionAdapter.java,
	java/awt/event/MouseMotionListener.java,
	java/awt/event/PaintEvent.java, java/awt/EventQueue.java,
	java/awt/event/TextEvent.java, java/awt/event/TextListener.java,
	java/awt/event/WindowAdapter.java, java/awt/event/WindowEvent.java,
	java/awt/event/WindowListener.java, java/awt/Font.java,
	java/awt/geom/AffineTransform.java, java/awt/geom/Dimension2D.java,
	java/awt/geom/Ellipse2D.java,
	java/awt/geom/IllegalPathStateException.java,
	java/awt/geom/Line2D.java,
	java/awt/geom/NoninvertibleTransformException.java,
	java/awt/geom/PathIterator.java, java/awt/geom/Point2D.java,
	java/awt/geom/Rectangle2D.java, java/awt/geom/RectangularShape.java,
	java/awt/geom/RoundRectangle2D.java,
	java/awt/GraphicsConfiguration.java,
	java/awt/IllegalComponentStateException.java,
	java/awt/image/IndexColorModel.java,
	java/awt/Image.java, java/awt/image/MemoryImageSource.java,
	java/awt/image/PixelGrabber.java, java/awt/Insets.java,
	java/awt/ItemSelectable.java, java/awt/LayoutManager2.java,
	java/awt/LayoutManager.java, java/awt/MenuContainer.java,
	java/awt/MenuItem.java,	java/awt/PaintContext.java,
	java/awt/Paint.java, java/awt/Panel.java, java/awt/Point.java,
	java/awt/Polygon.java, java/awt/PrintGraphics.java,
	java/awt/PrintJob.java, java/awt/Rectangle.java,
	java/awt/RenderingHints.java, java/awt/ScrollPane.java,
	java/awt/Shape.java, java/awt/SystemColor.java, java/awt/Toolkit.java,
	java/awt/Transparency.java, java/awt/Window.java: Merge from classpath.

	* java/awt/im/spi/InputMethod.java,
	java/awt/im/spi/InputMethodContext.java,
	java/awt/im/spi/InputMethodDescriptor.java,
	java/awt/image/renderable/ContextualRenderedImageFactory.java,
	java/awt/image/renderable/ParameterBlock.java,
	java/awt/image/renderable/RenderContext.java,
	java/awt/image/renderable/RenderableImage.java,
	java/awt/image/renderable/RenderableImageOp.java,
	java/awt/image/renderable/RenderableImageProducer.java,
	java/awt/image/renderable/RenderedImageFactory.java: New files from
	classpath.

	* gnu/java/awt/EventModifier.java,
	gnu/java/awt/image/ImageDecoder.java,
	gnu/java/awt/image/XBMDecoder.java: New files from GNU Classpath.

	* gnu/awt/xlib/XGraphicsConfiguration.java,
	gnu/awt/xlib/XToolkit.java: Updated to compile against 1.4 abstract
	API.

	* javax/swing/plaf/metal/MetalLookAndFeel.java: New file from
	GNU Classpath.

	* Makefile.am: Add new files.
	* Makefile.in: Rebuilt.

2002-08-07  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/ClassLoader.java (getSystemClassLoader, findClass,
	defineClass, setSigners, getSystemResource, getSystemResourceAsStream,
	findResource, getResources, findResources): Add javadoc from classpath.
	(getSystemResources): Implemented.

2002-08-01  Mark Wielaard  <mark@klomp.org>

	Revert patch that breaks libgcj shared library on powerpc:
	* gnu/java/security/provider/Gnu.java: Reverse referencing all
	implementation classes by using Class.getName(). Uses Strings again.
	* gnu/java/security/der/DEREncodingException.java,
	gnu/java/security/provider/DERReader.java,
	gnu/java/security/provider/DERWriter.java,
	gnu/java/security/provider/DSAKeyPairGenerator.java,
	gnu/java/security/provider/DSAParameterGenerator.java,
	gnu/java/security/provider/DSAParameters.java,
	gnu/java/security/provider/DSASignature.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/MD5.java,
	gnu/java/security/util/Prime.java: Removed.
	* Makefile.am (ordinary_java_source_files): Remove above files.
	* Makefile.in: Regenerate.
	* gnu/java/security/provider/DefaultPolicy.java
	(getPermissions): Revert to maintaining static class variable of
	Permissions.
	* gnu/java/security/provider/SHA.java
	(engineUpdate): Revert algorithm change.
	(engineDigest): Revert algorithm change.

2002-08-01  Kaz Kojima  <kkojima@gcc.gnu.org>

	* configure.host: Add SH support.
        * sysdep/sh/locks.h: New file.

2002-07-31  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/Frame.java (Frame): Remove println calls.

2002-07-30  Jeff Sturm  <jsturm@one-point.com>

	* configure.in (LIBFFIINCS): Don't prepend MULTIBUILDTOP.
	* configure: Rebuilt.

2002-07-27  Alan Modra  <amodra@bigpond.net.au>

	* sysdep/powerpc/locks.h: Formatting.
	(_LARX): Define.
	(_STCX): Define.
	(compare_and_swap): Use _LARX and _STCX.
	(compare_and_swap_release): Likewise.

2002-07-26  Tom Tromey  <tromey@redhat.com>

	* java/net/Authenticator.java: New version from Classpath.
	* java/net/DatagramSocketImpl.java: New version from Classpath.

2002-07-27  Alan Modra  <amodra@bigpond.net.au>

	* configure.host: Add powerpc64*-* entry.

2002-07-26  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorPosix.cc: Don't include sys/socket.h or
	fcntl.h.

2002-07-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/Runtime.java (loadLibrary): Pass `true' as search
	argument to _load.

2002-07-24  Tom Tromey  <tromey@redhat.com>
            Tony Kimball <alk@pobox.com>

	* java/io/natFileDescriptorWin32.cc (setLength): New method.
	* java/io/natFileDescriptorPosix.cc (setLength): New method.
	* java/io/RandomAccessFile.java (setLength): New method.
	* java/io/natFileDescriptorEcos.cc (setLength): New method.
	* java/io/FileDescriptor.java (setLength): New method.

2002-07-24  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/natField.cc (setAddr): Check isAccessible().
	* java/io/ObjectInputStream.java (setBooleanField): Before setting
	field call setAccessible(true).
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setLongField): Likewise.
	(setShortField): Likewise.
	(setObjectField): Likewise.

2002-07-24  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (readObject) [TC_ARRAY]: Don't
	use toString() to format array element.

2002-07-23  Mark Wielaard  <mark@klomp.org>

	* gnu/java/security/provider/MD5.java: Extends MessageDigest, not
	MessageDigestSpi (fixes Classpath bug #783).

2002-07-21  Mark Wielaard  <mark@klomp.org>

	* gnu/java/security/provider/Gnu.java: Reference all implementation
	classes by using Class.getName().

2002-07-19  Bo Thorsen  <bo@berlioz.suse.de>

	* java/lang/ieeefp.h: Add x86-64 support.
	* configure.in: Likewise.
	* configure.host: Likewise.
	* configure: Regenerated.
	* sysdep/x86-64/locks.h: New file with x86-64 locks.

2002-07-16  Mark Wielaard  <mark@klomp.org>

	* java/io/StreamTokenizer.java (pushBack): Update documentation.
	(whitespaceChars): call resetChar().

2002-07-15  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/beans/ExceptionListener.java: Merged with Classpath.
	* java/beans/PropertyChangeEvent.java: Merged with Classpath.
	* java/beans/PropertyChangeListener.java: Merged with Classpath.
	* java/beans/PropertyChangeListenerProxy.java: Merged with Classpath.
	* java/beans/PropertyChangeSupport.java: Merged with Classpath.
	* java/beans/VetoableChangeListener.java: Merged with Classpath.
	* java/beans/VetoableChangeListenerProxy.java: Merged with Classpath.
	* java/beans/VetoableChangeSupport.java: Merged with Classpath.

2002-07-14  Mark Wielaard  <mark@klomp.org>

	* gnu/java/security/der/DEREncodingException.java,
	gnu/java/security/provider/DERReader.java,
	gnu/java/security/provider/DERWriter.java,
	gnu/java/security/provider/DSAKeyPairGenerator.java,
	gnu/java/security/provider/DSAParameterGenerator.java,
	gnu/java/security/provider/DSAParameters.java,
	gnu/java/security/provider/DSASignature.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/MD5.java,
	gnu/java/security/util/Prime.java: New files from Classpath.
	* Makefile.am (ordinary_java_source_files): Add new files.
	* Makefile.in: Regenerate.

2002-07-14  C. Brian Jones <cbj@gnu.org>

	* gnu/java/security/provider/DefaultPolicy.java
	(getPermissions): do not maintain static class variable of
	Permissions
	* gnu/java/security/provider/SHA.java
	(engineUpdate): algorithm change
	(engineDigest): algorithm change

2002-07-12  Jesse Rosenstock  <jmr@fulcrummicro.com>

	For PR libgcj/7292:
	* java/lang/Character.java (toString(char)): Now static.

2002-07-12  Mark Wielaard  <mark@klomp.org>

	* java/lang/natThrowable.cc (printRawStackTrace): removed.
	(getStackTrace0): new method.
	* java/lang/Throwable.java (CPlusPlusDemangler): removed.
	(printStackTrace(PrintWriter)): replace with pure java implementation.
	(printRawStackTrace): removed.
	(getStackTrace0): new method.
	* java/lang/StackTraceElement.java (toString): add extra whitespace.
	* gcj/javaprims.h: regenerate class list.
	* include/name-finder.h (lookup): new returns StackTraceElement*.
	(method_name, file_name): fields removed.
	(pid2, f2_pipe, b2_pipe, b2_pipe_fd): new fields.
	(~_Jv_name_finder): close new descriptors.
	* name-finder.cc(_Jv_name_finder): setup c++filt helper process.
	(createStackTraceElement): new method.
	(lookup): returns StackTraceElement*, uses createStackTraceElement().

2002-07-10  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.in: Use `test' after `&&'.  From Chris Faylor.

2002-07-08  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Don't compile java.sql.Blob.BlobTest,
	java.sql.Clob.ClobTest, java.sql.Connection.TestJdbc20,
	java.sql.DatabaseMetaData.TestJdbc20

2002-07-05  Tony Kimball  <alk@pobox.com>

	* java/lang/natRuntime.cc (nativeGetLibname): Added missing `#'.

2002-07-04  Tom Tromey  <tromey@redhat.com>
            Jeff Sturm  <jsturm@one-point.com>

	Fix for PR libgcj/7060:
	* java/lang/Class.h (_getMethod): Renamed from getMethod.
	* java/lang/natClass.cc (_getMethod): Renamed from getMethod.
	Recurse into superinterfaces.  Don't throw NoSuchMethodException.
	* java/lang/Class.java (getMethod): New Java implementation;
	complies with spec.
	(_getMethod): New native method.

2002-07-02  Tom Tromey  <tromey@redhat.com>
            David Hovemeyer  <daveho@cs.umd.edu>

	* java/text/ChoiceFormat.java
	(format(double,StringBuffer,FieldPosition)): Fix fencepost error
	in check loop.
	* java/text/MessageFormat.java
	(format(Object[],StringBuffer,FieldPosition): Pass all arguments
	to MessageFormat.

2002-07-01  Tom Tromey  <tromey@redhat.com>

	* javax/naming/spi/NamingManager.java (getPlusPath): Don't create
	StringTokenizer on null string.  For PR libgcj/7180.
	From daveho@cs.umd.edu.

2002-06-24  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Removed.
	(IntegerClass): Likewise.
	* java/lang/natClass.cc (CloneableClass): Removed.
	(ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass,
	ConstructorClass): Likewise.
	* java/lang/natClassLoader.cc (CloneableClass): Removed.
	(ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass,
	SerializableClass): Likewise.
	* java/lang/reflect/natMethod.cc (BooleanClass): Removed.
	(VoidClass, ByteClass, ShortClass, CharacterClass, IntegerClass,
	LongClass, FloatClass, DoubleClass): Likewise.

	* verify.cc (branch_prepass): Updated for change to exception
	handler type.
	(verify_instructions_0): Likewise.
	* defineclass.cc (handleCodeAttribute): Initialize `prepared'.
	(handleExceptionTableEntry): Updated for change to exception
	handler type.
	* java/lang/Class.h (Class): Removed _Jv_InterpMethodInvocation.
	* include/java-interp.h (_Jv_InterpMethodInvocation): Removed.
	(union _Jv_InterpPC): New.
	(class _Jv_InterpException): Changed types to _Jv_InterpPC.
	(class _Jv_InterpMethod): Added new `prepared' field.
	(class _Jv_InterpMethod): Added `compile' method.  Removed
	`continue1' and `find_exception'.  Changed arguments to `run'.
	* interpret.cc (union insn_slot): New.
	(find_exception): Removed.
	(run_normal): Removed most logic.
	(run_synch_object): Likewise; also, use JvSynchronize.
	(run_synch_class): Likewise.
	(run): Removed.
	(continue1): Renamed as `run'.  Compile bytecode if required.
	Add new code to allow refinement of direct-threaded code at
	runtime.  Handle exceptions.
	(SAVE_PC): Removed.
	(compile): New method.
	(SET_ONE, SET_INSN, SET_INT, SET_DATUM): New defines.
	(NULLARRAYCHECK): Don't use SAVE_PC.
	(pc_t): New typedef.
	(TAKE_GOTO, GET1S, GET1U, GET2U, AVAL1U, AVAL2U, AVAL2UP,
	SKIP_GOTO, GOTO_VAL, PCVAL, AMPAMP): New macros.

2002-06-23  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.in (INTERPRETER): New subst.
	(AM_RUNTESTFLAGS): Don't subst.

	* Makefile.in: Rebuilt.
	* Makefile.am ($(srcdir)/java/lang/Object.h,
	$(srcdir)/java/lang/Class.h): Added dummy targets.

2002-06-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Reformat JDBC classes and add new JDK 1.4 classes and methods.

	* java/sql/ParameterMetaData.java, java/sql/SQLPermission.java,
	java/sql/Savepoint.java: New files.
	* java/sql/Array.java, java/sql/BatchUpdateException.java,
	java/sql/Blob.java, java/sql/CallableStatement.java,
	java/sql/Clob.java, java/sql/Connection.java,
	java/sql/DataTruncation.java, java/sql/DatabaseMetaData.java,
	java/sql/Date.java, java/sql/Driver.java, java/sql/DriverManager.java,
	java/sql/DriverPropertyInfo.java, java/sql/PreparedStatement.java,
	java/sql/Ref.java, java/sql/ResultSet.java,
	java/sql/ResultSetMetaData.java, java/sql/SQLData.java
	java/sql/SQLException.java, java/sql/SQLInput.java,
	java/sql/SQLOutput.java, java/sql/SQLWarning.java
	java/sql/Statement.java, java/sql/Struct.java, java/sql/Time.java,
	java/sql/Timestamp.java, java/sql/Types.java: Updated to JDBC 3.0
	(JDK 1.4) specification.
	* javax/sql/ConnectionEvent.java,
	javax/sql/ConnectionEventListener.java,
	javax/sql/ConnectionPoolDataSource.java,
	javax/sql/DataSource.java, javax/sql/PooledConnection.java,
	javax/sql/RowSetEvent.java, javax/sql/RowSetInternal.java,
	javax/sql/RowSet.java, javax/sql/RowSetListener.java,
	javax/sql/RowSetMetaData.java, javax/sql/RowSetReader.java,
	javax/sql/RowSetWriter.java, javax/sql/XAConnection.java,
	javax/sql/XADataSource.java: New files.
	* Makefile.am: Add new files.
	* Makefile.in: Rebuilt.

2002-06-20  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/7073:
	* resolve.cc (_Jv_PrepareClass): Only resolve superclass if it
	exists.
	* defineclass.cc (handleClassBegin): Superclass for interface is
	`null'.

2002-06-18  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Removed
	BasicMapEntry.java.
	* java/util/BasicMapEntry.java: Removed.

2002-06-18  Jeff Sturm  <jsturm@one-point.com>

	* java/net/natPlainDatagramSocketImpl.cc (receive):
	Check bounds of argument to FD_SET.
	(setOption): Throw exception if socket is closed.

	* java/net/natPlainSocketImpl.cc (accept, read):
	Check bounds of argument to FD_SET.
	(setOption): Throw exception if socket is closed.

2002-06-18  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added
	PropertyPermissionCollection.java.
	* java/lang/Thread.java (group, name): Now package-private.
	* java/lang/ThreadGroup.java: Re-merge with Classpath.
	* java/util/AbstractList.java: Likewise.
	* java/util/AbstractMap.java: Likewise.
	* java/util/Calendar.java: Likewise.
	* java/util/Collections.java: Likewise.
	* java/util/HashMap.java: Likewise.
	* java/util/Hashtable.java: Likewise.
	* java/util/LinkedHashMap.java: Likewise.
	* java/util/LinkedList.java: Likewise.
	* java/util/List.java: Likewise.
	* java/util/ListResourceBundle.java: Likewise.
	* java/util/Map.java: Likewise.
	* java/util/Observable.java: Likewise.
	* java/util/Properties.java: Likewise.
	* java/util/PropertyPermission.java: Likewise.
	* java/util/PropertyPermissionCollection.java: Likewise.
	* java/util/PropertyResourceBundle.java: Likewise.
	* java/util/Random.java: Likewise.
	* java/util/SimpleTimeZone.java: Likewise.
	* java/util/StringTokenizer.java: Likewise.
	* java/util/TimerTask.java: Likewise.
	* java/util/TreeMap.java: Likewise.
	* java/util/WeakHashMap.java: Likewise.
	* java/util/jar/Attributes.java: Likewise.
	* java/util/jar/JarException.java: Likewise.
	* java/util/jar/Manifest.java: Likewise.

2002-06-17  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added new file.
	* java/util/EventListenerProxy.java: New file.
	* java/util/EventListener.java: Re-merge with Classpath.
	* java/util/EventObject.java: Re-merge with Classpath.

2002-06-17  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/lang/ClassNotFoundException.java: New Classpath version.

2002-06-17  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/rmi/activation/ActivateFailedException.java: Remerge from
	Classpath version.
	* java/rmi/activation/ActivationException.java: Ditto.
	* java/rmi/activation/UnknownGroupException.java: Ditto.
	* java/rmi/activation/UnknownObjectException.java: Ditto.
	* java/rmi/server/ExportException: Ditto.
	* java/rmi/server/ServerCloneException: Ditto.
	* java/rmi/server/ServerNotActiveException: Ditto.
	* java/rmi/server/SkeletonMismatchException: Ditto.
	* java/rmi/server/SkeletonNotFoundException: Ditto.
	* java/rmi/server/SocketSecurityException: Ditto.

2002-06-16  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.

	* java/io/LineNumberInputStream.java: Merged with Classpath.

	* java/lang/RuntimeException.java: Re-merge with Classpath.
	* java/util/ArrayList.java: Likewise.
	* java/util/Arrays.java: Likewise.
	* java/util/BitSet.java: Likewise.
	* java/util/Dictionary.java: Likewise.
	* java/util/IdentityHashMap.java: Likewise.
	* java/util/MissingResourceException.java: Likewise.
	* java/util/Observer.java: Likewise.
	* java/util/TooManyListenersException.java: Likewise.
	* java/util/zip/DataFormatException.java: Likewise.
	* java/util/zip/ZipException.java: Likewise.

2002-06-16  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/rmi/AccessException.java: Remerge from Classpath.
	* java/rmi/AlreadyBoundException.java: Ditto.
	* java/rmi/ConnectException.java: Ditto.
	* java/rmi/ConnectIOException.java: Ditto.
	* java/rmi/MarshalException.java: Ditto.
	* java/rmi/NoSuchObjectException.java: Ditto.
	* java/rmi/NotBoundException.java: Ditto.
	* java/rmi/RemoteException.java: Ditto.
	* java/rmi/RMISecurityException.java: Ditto.
	* java/rmi/ServerError.java: Ditto.
	* java/rmi/ServerException.java: Ditto.
	* java/rmi/ServerRuntimeException.java: Ditto.
	* java/rmi/StubNotFoundException.java: Ditto.
	* java/rmi/UnexpectedExcpetion.java: Ditto.
	* java/rmi/UnknownHostException.java: Ditto.
	* java/rmi/UnmarshalException.java: Ditto.

2002-06-15  Tom Tromey  <tromey@redhat.com>

	* java/lang/AbstractMethodError.java: Re-merged with Classpath.
	* java/lang/ArithmeticException.java: Likewise.
	* java/lang/ArrayIndexOutOfBoundsException.java: Likewise.
	* java/lang/ArrayStoreException.java: Likewise.
	* java/lang/Byte.java: Likewise.
	* java/lang/CharSequence.java: Likewise.
	* java/lang/ClassCastException.java: Likewise.
	* java/lang/ClassCircularityError.java: Likewise.
	* java/lang/ClassFormatError.java: Likewise.
	* java/lang/CloneNotSupportedException.java: Likewise.
	* java/lang/Cloneable.java: Likewise.
	* java/lang/Comparable.java: Likewise.
	* java/lang/Compiler.java: Likewise.
	* java/lang/Error.java: Likewise.
	* java/lang/ExceptionInInitializerError.java: Likewise.
	* java/lang/IllegalAccessError.java: Likewise.
	* java/lang/IllegalAccessException.java: Likewise.
	* java/lang/IllegalArgumentException.java: Likewise.
	* java/lang/IllegalMonitorStateException.java: Likewise.
	* java/lang/IllegalStateException.java: Likewise.
	* java/lang/IllegalThreadStateException.java: Likewise.
	* java/lang/IncompatibleClassChangeError.java: Likewise.
	* java/lang/IndexOutOfBoundsException.java: Likewise.
	* java/lang/InheritableThreadLocal.java: Likewise.
	* java/lang/InstantiationError.java: Likewise.
	* java/lang/InstantiationException.java: Likewise.
	* java/lang/InternalError.java: Likewise.
	* java/lang/InterruptedException.java: Likewise.
	* java/lang/LinkageError.java: Likewise.
	* java/lang/NegativeArraySizeException.java: Likewise.
	* java/lang/NoClassDefFoundError.java: Likewise.
	* java/lang/NoSuchFieldError.java: Likewise.
	* java/lang/NoSuchFieldException.java: Likewise.
	* java/lang/NoSuchMethodError.java: Likewise.
	* java/lang/NoSuchMethodException.java: Likewise.
	* java/lang/NullPointerException.java: Likewise.
	* java/lang/NumberFormatException.java: Likewise.
	* java/lang/OutOfMemoryError.java: Likewise.
	* java/lang/Process.java: Likewise.
	* java/lang/Runnable.java: Likewise.
	* java/lang/RuntimePermission.java: Likewise.
	* java/lang/SecurityException.java: Likewise.
	* java/lang/Short.java: Likewise.
	* java/lang/StackOverflowError.java: Likewise.
	* java/lang/StringIndexOutOfBoundsException.java: Likewise.
	* java/lang/ThreadDeath.java: Likewise.
	* java/lang/ThreadLocal.java: Likewise.
	* java/lang/UnknownError.java: Likewise.
	* java/lang/UnsatisfiedLinkError.java: Likewise.
	* java/lang/UnsupportedClassVersionError.java: Likewise.
	* java/lang/UnsupportedOperationException.java: Likewise.
	* java/lang/VerifyError.java: Likewise.
	* java/lang/VirtualMachineError.java: Likewise.
	* java/lang/reflect/InvocationTargetException.java: Likewise.
	* java/net/BindException.java: Likewise.
	* java/net/ConnectException.java: Likewise.
	* java/net/MalformedURLException.java: Likewise.
	* java/net/NoRouteToHostException.java: Likewise.
	* java/net/ProtocolException.java: Likewise.
	* java/net/SocketException.java: Likewise.
	* java/net/UnknownHostException.java: Likewise.
	* java/net/UnknownServiceException.java: Likewise.

	* java/io/BufferedOutputStream.java: Re-merged with Classpath.
	* java/io/CharConversionException.java: Likewise.
	* java/io/EOFException.java: Likewise.
	* java/io/FileNotFoundException.java: Likewise.
	* java/io/IOException.java: Likewise.
	* java/io/InterruptedIOException.java: Likewise.
	* java/io/InvalidClassException.java: Likewise.
	* java/io/InvalidObjectException.java: Likewise.
	* java/io/NotActiveException.java: Likewise.
	* java/io/NotSerializableException.java: Likewise.
	* java/io/ObjectStreamException.java: Likewise.
	* java/io/ObjectStreamConstants.java: Likewise.
	* java/io/OptionalDataException.java: Likewise.
	* java/io/PipedInputStream.java: Likewise.
	* java/io/PushbackInputStream.java: Likewise.
	* java/io/StreamCorruptedException.java: Likewise.
	* java/io/SyncFailedException.java: Likewise.
	* java/io/UTFDataFormatException.java: Likewise.
	* java/io/UnsupportedEncodingException.java: Likewise.
	* java/io/WriteAbortedException.java: Likewise.

2002-06-15  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/text/ChoiceFormat.java: Update comments from Classpath.
	* java/text/ParseException.java (serialVersionUID): New
	field from Classpath.
	* java/text/ParseException.java: Update formatting & comments
	from Classpath.

2002-06-15  Tom Tromey  <tromey@redhat.com>

	* java/util/zip/InflaterInputStream.java (read): Loop if data has
	been read but none output by inflater.
	* java/util/zip/natDeflater.cc (reset): Set is_finished.
	* java/util/zip/natInflater.cc (reset): Set dist_needed and
	is_finished.
	* java/util/zip/ZipOutputStream.java: Replaced with Classpath
	version.
	* java/util/zip/ZipFile.java: Replaced with Classpath version.
	* java/util/zip/ZipEntry.java: Replaced with Classpath version.
	* java/util/zip/ZipInputStream.java: Replaced with Classpath
	version.
	* java/util/zip/ZipConstants.java: Replaced with Classpath version.

2002-06-13  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (init): Handle case where DONT_COPY is
	true and OFFSET!=0.
	* java/lang/String.java (String(char[],int,int,boolean): New
	constructor.
	* java/lang/Long.java: Imported new version from Classpath.
	* java/lang/Number.java: Likewise.
	* java/lang/Integer.java: Likewise.
	* java/lang/Long.java: Likewise.
	* java/lang/Float.java: Likewise.
	* java/lang/Boolean.java: Likewise.
	* java/lang/Double.java: Likewise.
	* java/lang/Void.java: Likewise.

2002-06-12  Tom Tromey  <tromey@redhat.com>

	* java/io/natFilePosix.cc (getCanonicalPath): Treat "" like ".".
	Fixes PR libgcj/6652.

2002-06-10  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (Class::desiredAssertionStatus): Declare.
	(Class::getPackagePortion): Likewise.
	* java/lang/Class.java (desiredAssertionStatus): New method from
	Classpath.
	(getPackagePortion): Likewise.
	* java/lang/VMClassLoader.java (defaultAssertionStatus,
	packageAssertionStatus, classAssertionStatus): New methods from
	Classpath.
	* java/lang/ClassLoader.java (defaultAssertionStatus,
	systemPackageAssertionStatus, packageAssertionStatus,
	systemClassAssertionStatus, classAssertionStatus): New fields from
	Classpath.
	(setDefaultAssertionStatus, setPackageAssertionStatus,
	setClassAssertionStatus, clearAssertionStatus): New methods from
	Classpath.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added AssertionError.java.
	* java/lang/AssertionError.java: New from Classpath.

2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.host: Disable hash synchronization and slow_pthread_self
	for cygwin.

2002-06-06  Adam Megacz <adam@xwt.org>

        * java/io/natFileDescriptorWin32.cc (open): Disable Win32 file
        locking, just like the Sun JVM does.

2002-06-05  H.J. Lu  (hjl@gnu.org)

	* Makefile.am (libgcj_convenience.la): Revert the last change.
	(libgcj.la): Likewise.
	* Makefile.in: Regenerated.

2002-06-04  H.J. Lu  (hjl@gnu.org)

	* Makefile.am (libgcj_convenience.la): New target.
	(libgcj.la): Depend on libgcj_convenience.la.
	* Makefile.in: Regenerated.

2002-06-04  H.J. Lu  (hjl@gnu.org)

	* configure.in (--with-newlib): New option:
	Check ${with_newlib} instead of ${with_cross_host} for newlib.
	(HAVE_PROC_SELF_EXE): Defined to 1 only for cross compiling to
	Linux.
	* configure: Regenerated.

2002-06-04  Tom Tromey  <tromey@redhat.com>

	* java/util/natTimeZone.cc: Include <stdio.h>.

2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.host [s390*-linux*]: Set can_unwind_signal=yes.
	* configure.in [s390*-*-linux*]: Do not define HAVE_BACKTRACE.
	Set SIGNAL_HANDLER=include/s390-linux.h.
	* configure: Regenerate.
	* include/s390-linux.h: New file.

2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/natThrowable.cc (fillInStackTrace): Use "stackTraceBytes",
	not "stackTrace".

2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Merge JDK 1.4 java.security changes from classpath.

	* java/security/AccessControlException.java: Merge from Classpath.
	* java/security/AccessController.java: Likewise.
	* java/security/AllPermission.java: Likewise.
	* java/security/BasicPermission.java: Likewise.
	* java/security/Certificate.java: Likewise.
	* java/security/CodeSource.java: Likewise.
	* java/security/DigestException.java: Likewise.
	* java/security/DigestOutputStream.java: Likewise.
	* java/security/DomainCombiner.java: Likewise.
	* java/security/GeneralSecurityException.java: Likewise.
	* java/security/Guard.java: Likewise.
	* java/security/GuardedObject.java: Likewise.
	* java/security/InvalidAlgorithmParameterException.java: Likewise.
	* java/security/InvalidKeyException.java: Likewise.
	* java/security/InvalidParameterException.java: Likewise.
	* java/security/Key.java: Likewise.
	* java/security/KeyException.java: Likewise.
	* java/security/KeyManagementException.java: Likewise.
	* java/security/KeyStoreException.java: Likewise.
	* java/security/MessageDigest.java: Likewise.
	* java/security/NoSuchAlgorithmException.java: Likewise.
	* java/security/NoSuchProviderException.java: Likewise.
	* java/security/Permission.java: Likewise.
	* java/security/PermissionCollection.java: Likewise.
	* java/security/Permissions.java: Likewise.
	* java/security/Policy.java: Likewise.
	* java/security/Principal.java: Likewise.
	* java/security/PrivateKey.java: Likewise.
	* java/security/PrivilegedAction.java: Likewise.
	* java/security/PrivilegedActionException.java: Likewise.
	* java/security/PrivilegedExceptionAction.java: Likewise.
	* java/security/ProtectionDomain.java: Likewise.
	* java/security/ProviderException.java: Likewise.
	* java/security/PublicKey.java: Likewise.
	* java/security/SecureClassLoader.java: Likewise.
	* java/security/SecurityPermission.java: Likewise.
	* java/security/SignatureException.java: Likewise.
	* java/security/UnrecoverableKeyException.java: Likewise.
	* java/security/UnresolvedPermission.java: Likewise.
	* java/security/acl/AclNotFoundException.java: Likewise.
	* java/security/acl/LastOwnerException.java: Likewise.
	* java/security/acl/NotOwnerException.java: Likewise.
	* java/security/cert/CRLException.java: Likewise.
	* java/security/cert/CertificateEncodingException.java: Likewise.
	* java/security/cert/CertificateException.java: Likewise.
	* java/security/cert/CertificateExpiredException.java: Likewise.
	* java/security/cert/CertificateFactory.java: Likewise.
	* java/security/cert/CertificateNotYetValidException.java: Likewise.
	* java/security/cert/CertificateParsingException.java: Likewise.
	* java/security/spec/InvalidKeySpecException.java: Likewise.
	* java/security/spec/InvalidParameterSpecException.java: Likewise.

	* java/security/cert/CertPath.java: New file.
	* java/security/cert/CertPathBuilderException.java: New file.
	* java/security/cert/CertPathValidatorException.java: New file.
	* java/security/cert/CertStoreException.java: New file.

	* Makefile.am: Add new CertPath classes.
	* Makefile.in: Rebuilt.

        * gnu/java/util/EmptyEnumeration.java: New file from classpath.

2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Merge JDK 1.4 exception chaining support from classpath.

	* java/lang/Throwable.java: Merge 1.4 support from classpath.
	(stackTraceBytes): Rename from stackTrace.
	* java/lang/Exception.java: Merge from classpath.
	* java/lang/StackTraceElement: New file from classpath.
	* gcj/javaprims.h: Rebuild CNI namespace declarations.
	* Makefile.am: Add StackTraceElement.
	* Makefile.in: Rebuilt.

2002-05-23  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am (all-recursive): Depend on $all_java_class_files so that
	they build first.
	* Makefile.in: Rebuilt.

2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* acinclude.m4: Allow for PWDCMD to override hardcoded pwd.
	* configure.in: Likewise.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2002-05-13  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc: Don't include sys/time.h and time.h.
	* java/util/natTimeZone.cc: Include sys/time.h and time.h here.
	Include platform.h.

	Fixes PR libgcj/6389:
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natTimeZone.cc.
	* java/util/natTimeZone.cc: New file.
	* java/util/TimeZone.java (getDefaultTimeZoneId): New method.
	* java/lang/System.java: Merged with Classpath.
	* java/lang/Runtime.java: Merged with Classpath.
	* java/lang/natSystem.cc (setErr0): Renamed from setErr; don't run
	security check.
	(setIn0): Renamed from setIn; don't run security check.
	(setOut0): Renamed from setOut; don't run security check.
	(file_encoding, getpwuid_adaptor, getSystemTimeZone,
	init_properties): Moved to natRuntime.cc.
	Moved many includes to natRuntime.cc.
	(isWordsBigEndian): New method.
	* java/lang/natRuntime.cc: Include Long.h, also other includes
	previously in natSystem.cc.
	(maxMemory): New function.
	(exitInternal): Renamed from `_exit'.
	(exit): Removed.
	(init): Don't set finalize_on_exit.
	(exitInternal): Use `finalizeOnExit'.
	(file_encoding, getpwuid_adaptor): New functions from
	natSystem.cc.
	(insertSystemProperties): New method, renamed from
	System::init_properties.  Don't set user.timezone.
	(_load): Don't call checkLink.
	(execInternal): New method.
	(availableProcessors): Likewise.
	(nativeGetLibname): Likewise.

2002-05-11  Mark Wielaard  <mark@klomp.org>

	* gnu/java/text/SentenceBreakIterator.java (next): Skip all java white
	space characters.
	(previous_internal): Likewise.

2002-05-09  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNIFunctions): Fixed typo.

	* java/util/ResourceBundle.java: New version from Classpath.
	* java/util/Locale.java: Likewise.

2002-05-09  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/lib/libjava.exp (libjava_arguments): Append all
	multilib dirs containing libgcc_s*.so.1 below gcc object dir to
	LD_LIBRARY_PATH.

2002-05-08  Mark Mitchell  <mark@codesourcery.com>

	* libjava/Makefile.am (all_java_source_files): New variable.
	(all_java_class_files): Likewise.
	.java.class: New rule.
	(CLEANFILES): Remove tmp-list.
	* libjava/Makefile.in: Regenerated.

2002-05-09  David.Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (test_libjava_from_javac):
	Append .exe to executable names.  Fix for cygwin.

2002-05-08  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

2002-05-07  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (unintern): Fixed typo.

2002-05-06  David.Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (libjava_arguments): Don't link
	with -no-install on *-*-cygwin*.

2002-05-06  David.Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (test_libjava_from_source):
	Add comment explaining last patch

2002-05-04  David Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (test_libjava_from_source):
	Append .exe to executable names.  If no suffix is present,
	then ".exe" is added by default on win32.  Harmless
	elsewhere so always do it.

2002-05-03  David Billinghurst  <David.Billinghurst@riotinto.com>
	    Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (getSystemTimeZone): Use
	HAVE_UNDERSCORE_TIMEZONE.
	* include/config.h.in: Rebuilt.
	* acconfig.h (HAVE_UNDERSCORE_TIMEZONE, HAVE_BACKTRACE): Undef.
	* aclocal.m4, configure: Rebuilt.
	* acinclude.m4: Run AC_EXEEXT.
	* configure.in: Adjust test for `timezone' so it fails on Cygwin.
	Add test for `_timezone'.

2002-05-03  Alexandre Oliva  <aoliva@redhat.com>

	Suggested by Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
	* Makefile.am (jv_convert_LDADD): Bring -L.libs to the front.
	(gij_LDADD, rmic_LDADD, rmiregistry_LDADD): Likewise.
	* Makefile.in: Rebuilt.

2002-05-02  Hans Boehm  <Hans_Boehm@hp.com>

	* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE for ia64):
	use sigaction instead of __libc_sigaction.

2002-05-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* testsuite/lib/libjava.exp (libjava_find_spec): New function.
	(libjava_init): Use it to find libgcj.spec.
	(libjava_arguments): Likewise.

2002-05-02  David S. Miller  <davem@redhat.com>

	PR bootstrap/6525
	* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE): Don't use
	__libc_sigaction on Sparc.

2002-05-02  Jerome Marc  <marcjero@yahoo.com>

	* java/net/natPlainSocketImpl.cc: Include sys/ioctl.h and
	sys/filio.h, if present.

2002-04-30  Tom Tromey  <tromey@redhat.com>

	* java/io/BufferedReader.java (fill): Handle case where markPos
	point to ignored \n.  Fixes PR libgcj/6301.

2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>

	* java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for S/390.

2002-04-29  Adam King <aking@dreammechanics.com>

	* java/io/natFileDescriptorWin32.cc (open): Move file pointer to end
	of file in APPEND mode.

2002-04-25  David S. Miller  <davem@redhat.com>

	PR target/6422
	* include/dwarf2-signal.h (MAKE_THROW_FRAME for sparc*): Set
	program counter to next program counter minus 8.  Update
	comments in this macro to explain why.

2002-04-26  Tom Tromey  <tromey@redhat.com>

	* verify.cc (construct_primitive_array_type) [void_type]: New
	case.
	(branch_prepass): Added dummy entries for unused instruction
	values.
	(verify_instructions_0): Likewise.
	* interpret.cc (continue1): Comment fix.
	* include/java-insns.h (op_xxxunusedxxx1): Removed.
	* Makefile.in: Rebuilt.
	* Makefile.am: Added -Wswitch-enum.

2002-04-24  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/natCore.cc (create): Use __builtin_alloca, and compute
	correct length of UTF-8 encoded name.  Strip leading `/'.
	(_Jv_RegisterResource): Use _Jv_Malloc.

2002-04-23  Adam Megacz <adam@xwt.org>

	* win32.cc, include/win32.cc (backtrace): Added this function
	because Win32 does not supply it.

2002-04-21  David S. Miller  <davem@redhat.com>

	* include/dwarf2-signal.h (MAKE_THROW_FRAME, sparc32): Document
	magic instruction reading sequence.

2002-04-21  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Don't run java.lang.ref tests since they are buggy.

2002-04-19  David S. Miller  <davem@redhat.com>

	* include/dwarf2-signal.h (SIGNAL_HANDLER): Name siginfo_t pointer
	arg.
	(MAKE_THROW_FRAME): Define for 32-bit and 64-bit sparc.
	(INIT_SEGV, INIT_FPE): Use direct __libc_sigaction installation
	on Sparc too.
	* include/sparc-signal.h (FLUSH_REGISTER_WINDOWS): Define properly
	for 64-bit sparc.
	(MAKE_THROW_FRAME): Use long for sp/retaddr so 64-bit works.
	* sysdeps/sparc/locks.h: New file.
	* configure.in (SIGNAL_HANDLER): Set to include/sparc-signal.h
	on all sparc Solaris configurations.  Set to
	include/dwarf2-signal.h on sparc Linux.
	* configure: Regenerate
	* configure.host (can_unwind_signal): sparc*-linux* can do it now.

2002-04-19  Hans Boehm <Hans_Boehm@hp.com>

	* configure: Rebuilt.
	* configure.in (backtrace): Function doesn't work on IA-64.

2002-04-17  Adam King <aking@dreammechanics.com>

	* java/io/File.java (normalizePath): Add Win32 support for auto
	conversion of a '/' path separator to Win32's '\' separator.

2002-04-16  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/6081:
	* Makefile.in: Rebuilt.
	* Makefile.am (install-data-local): Use GNU make trick to avoid
	shell limit.

2002-04-16  Adam King <aking@dreammechanics.com>
	    Tom Tromey  <tromey@redhat.com>

	* java/io/natFileWin32.cc (performList): Return the correct array
	type.  Don't duplicate the creation of a File since it's already
	done earlier in the method and the existing code would cause a
	ArrayStoreException.  Don't use fixed-size array.
	(_access, _stat, attr, getCanonicalPath, performMkdir,
	performRenameTo): Don't use fixed-size array.
	(getCanonicalPath): Use throw, not _Jv_Throw.

2002-04-15  DJ Delorie  <dj@redhat.com>

	* configure.in: Allow building in $srcdir.
	* configure: Regenerated.

2002-04-14  Mark Wielaard <mark@klomp.org>

	* java/net/natPlainDatagramSocketImpl.cc (close): Set timeout to 0.
	* java/net/natSocketImpl.cc (close): Likewise.

2002-04-14  Mark Wielaard <mark@klomp.org>

	* gnu/gcj/protocol/http/Connection.java (usingProxy): return false.

2002-04-13  Adam King <aking@dreammechanics.com>

	* java/lang/natDouble.cc (parseDouble): Allow a number to end with
	the f/F/d/D modifiers.

2002-04-12  Anthony Green  <green@redhat.com>

	* Makefile.am (jardir, jar_DATA): Define (for libgcj.jar).
	Create libgcj-@gcc_version@.jar instead of libgcj.jar.
	* Makefile.in: Rebuilt.
	* configure.in: Substitute gcc_version.
	* configure: Rebuilt.

2002-04-11  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.host: Set can_unwind_signal on hosts which support it.
	Don't set CHECKREFSPEC and DIVIDESPEC for FreeBSD.
	* configure.in: Set CHECKREFSPEC and DIVIDESPEC if not using SJLJ
	exceptions and can_unwind_signal isn't set.
	* configure: Rebuilt.

2002-04-11  Tom Tromey  <tromey@redhat.com>

	* win32.cc (_Jv_platform_initProperties): Fix spelling of _Jv_Free.

2002-04-11  Adam King <aking@dreammechanics.com>
	    Tom Tromey  <tromey@redhat.com>

	* include/jvm.h (_Jv_ThrowBadArrayIndex,
	_Jv_ThrowNullPointerException): Mark as noreturn.
	* win32.cc (_Jv_platform_initProperties): Use _Jv_MallocUnchecked
	and _Jv_free.  Correctly invoke GetTempPath().  Indentation
	fixes.

2002-04-10  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (java/lang/Thread.h): Mark
	_Jv_AttachCurrentThreadAsDaemon as friend.
	* gcj/javaprims.h (_Jv_AttachCurrentThreadAsDaemon): Declare.
	* gcj/cni.h (JvAttachCurrentThreadAsDaemon): New function.
	* java/lang/natThread.cc (_Jv_AttachCurrentThreadAsDaemon): New
	function.
	* java/lang/natRuntime.cc (_load): Recognize JNI_VERSION_1_4.
	* jni.cc (_Jv_JNI_GetVersion): Return JNI_VERSION_1_4.
	(_Jv_JNI_InvokeFunctions): Added
	_Jv_JNI_AttachCurrentThreadAsDaemon.
	(_Jv_JNI_GetEnv): Handle JNI_VERSION_1_4.
	(JNI_GetDefaultJavaVMInitArgs): Likewise.
	(JNI_CreateJavaVM): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_JNI_AttachCurrentThread): Added `is_daemon' argument.
	(_Jv_JNI_AttachCurrentThreadAsDaemon): New method.
	(_Jv_JNIFunctions): Initialize new fields.
	(_Jv_JNI_NewDirectByteBuffer): New function.
	(_Jv_JNI_GetDirectBufferAddress): Likewise.
	(_Jv_JNI_GetDirectBufferCapacity): Likewise.
	* include/jni.h (JNI_VERSION_1_4): New macro.
	(JNIInvokeInterface::AttachCurrentThreadAsDaemon): New field.
	(_Jv_JavaVM::AttachCurrentThreadAsDaemon): New method.
	(JNINativeInterface::NewDirectByteBuffer): New field.
	(JNINativeInterface::GetDirectBufferAddress): New field.
	(JNINativeInterface::GetDirectBufferCapacity): New field.
	(_Jv_JNIEnv::NewDirectByteBuffer): New method.
	(_Jv_JNIEnv::GetDirectBufferAddress): New method.
	(_Jv_JNIEnv::GetDirectBufferCapacity): New method.

2002-04-09  Tom Tromey  <tromey@redhat.com>

	* win32.cc (_Jv_platform_initProperties): Use GetTempPath.

2002-04-08  Alberto Biancardi  <alberto.biancardi@unipv.it>

	Fix for PR libgcj/6187:
	* java/awt/geom/Point2D.java (distance): Call distanceSq, not
	distance.

2002-04-07  Mark Wielaard <mark@klomp.org>

        * java/util/AbstractMap.java (putAll): Use entrySet size.
        (toString): Explicitly use getKey() and getValue().

2002-04-07  Mark Wielaard <mark@klomp.org>

	* java/util/Hashtable.java (contains): Remove NullPointer check.
	(containsValue): Add NullPointer check.
	(remove): Always throw NullPointerException when key
	is null.

2002-04-07  Adam King <aking@dreammechanics.com>

	* java/lang/natSystem.cc (init_properties): Call new function
	_Jv_platform_initProperties.
	* win32.cc (_Jv_platform_initProperties): New function that adds Win32
	support for the System properties os.name, os.arch, os.version,
	user.name, user.home, and user.dir.
	* include/posix.h, include/win32.h, posix.cc: New function
	_Jv_platform_initProperties.

2002-04-06  Mark Wielaard <mark@klomp.org>

	* java/lang/Character,java (isDefined): getType() != UNASSIGNED.

2002-04-06  Mark Wielaard <mark@klomp.org>

	* java/util/ArrayList.java (addAll(int,Collection)): System.arraycopy
	all of the remaining elements.
	* java/util/Vector.java (addAll(int,Collection)): Likewise.
	(removeRange): If toIndex == fromIndex do
	nothing, if toIndex < fromIndex throw IndexOutIfBoundsException.
	(removeAll): Always throw NullPointerException when collection is
	null.
	(retrainAll): Likewise.

2002-04-05  Mark Wielaard <mark@klomp.org>

	* java/util/ArrayList.java (removeRange): If toIndex == fromIndex do
	nothing, if toIndex < fromIndex throw IndexOutIfBoundsException.

2002-04-05  Adam Megacz <adam@xwt.org>

        * exception.cc (abort): added static modifier

2002-04-04  Adam Megacz <adam@xwt.org>

	* include/win32.h (_Jv_platform_close_on_exec): added inline
	modifier.

2002-04-04  Loren J. Rittle  <ljrittle@acm.org>

	* configure.host: Add case statement to support generic port
	properties.  Add *-*-freebsd* section.

2002-04-04  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Add JLS1.0 and JLS1.1 tags, ignore Character.unicode
	test.
	* testsuite/libjava.mauve/xfails: Remove working tests DoubleTest,
	FloatTest and ObjectStreamClass. Add FAIL for Introspector.jdk11 tests
	that depend on awt code and BufferedByteOutputStream.interrupt.

2002-04-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/Arrays.java (qsort): Fix off-by-one errors and use of
	incorrect "hi" value when count > 40.

2002-04-03  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/Modifier.java (toString(int,StringBuffer)): Fix
	ordering.

2002-04-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc (findClass): Compare against `3',
	not `0'.

2002-04-02  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: add java.net.DatagramSocket.DatagramSocketTest2 to
	list of testsuite crashers.

2002-04-02  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/IdentityHashMap.java (put): Set new threshold correctly
	when resizing table.

2002-04-01  Mark Wielaard  <mark@klomp.org>

        * java/util/BitSet.java (BitSet(int)): if nbits < 0 throw
        NegativeArraySizeException
        (clear(int)): Use sign extended shift.
        (flip(int)): Likewise.
        (get(int)): Likewise.
        (nextClearBit(int)): Likewise.
        (nextSetBit(int)): Likewise.
        (set(int)): Likewise.

2002-04-01  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Add JDK1.3, JDK1.4, JLS1.2 tests, remove ignored tests
	that can be compiled now and add testsuite crashers to ignore list.

2002-03-31  Alexandre Oliva  <aoliva@redhat.com>

	* libgcj.spec.in, libgcj-test.spec.in: Revert for now.

	* libgcj.spec.in: Override libgcc, not lib.
	* libgcj-test.spec.in: Likewise.

2002-03-29  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainDatagramSocketImpl.cc (close): New function.
	* java/net/natPlainSocketImpl.cc (close): Indentation fix.

2002-03-27  Jeff Sturm  <jsturm@one-point.com>

	* java/net/PlainDatagramSocketImpl.java
	(close): Use native implementation.
	(finalize): New method.

	* java/net/PlainSocketImpl.java (finalize): New method.

	* java/net/natPlainDatagramSocketImpl.cc
	(java/io/FileDescriptor.h): Don't include.
	(close): Implement method here.
	(create): Don't assign fd.

	* java/net/natPlainSocketImpl.cc
	(java/io/FileDescriptor.h): Don't include.
	(create): Don't assign fd.
	(accept): Likewise.
	(close): Synchronize.

2002-03-27  Richard Henderson  <rth@redhat.com>

	* include/posix-threads.h [alpha] (_Jv_ThreadSelf): Avoid a copy.

2002-03-25  Andrew Haley <aph@cambridge.redhat.com>, Hans Boehm <Hans_Boehm@hp.com>

        * include/dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
        (INIT_SEGV, INIT_FPE): Add versions that use __libc_sigaction
        instead of syscall on IA-64.
        Add FIXME comment.

2002-03-27  Anthony Green  <green@redhat.com>

	* libgcj.spec.in: Add CHECKREFSPEC.
	* configure.in: Ditto.
	* configure.host: Ditto.  Check references for xscale-elf.
	* configure: Rebuilt.

2002-03-26  Hans Boehm <Hans_Boehm@hp.com>

	* include/dwarf2-signal.h: Temporarily back out last change.

2002-03-26  Loren J. Rittle  <ljrittle@acm.org>

	* include/posix-threads.h: Support <.../pal.h> on FreeBSD/alpha.

2002-03-25  Andrew Haley <aph@cambridge.redhat.com>, Hans Boehm <Hans_Boehm@hp.com>

	* configure.in, configure: enable dwarf2-exception-style
	exception handling on IA-64.
	* include/dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
	(INIT_SEGV, INIT_FPE): Use __libc_sigaction instead of syscall.
	Add FIXME comment.

2002-03-25  Tom Tromey  <tromey@redhat.com>

	* Makefile.am (libgcj_la_LDFLAGS): Use THREADLDFLAGS.
	(jv_convert_LDFLAGS): Likewise.
	(gij_LDFLAGS): Likewise.
	(rmic_LDFLAGS): Likewise.
	(rmiregistry_LDFLAGS): Likewise.
	* configure.in (THREADLDFLAGS): New subst; set correctly for
	*BSD.

2002-03-25  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/5303:
	* gnu/java/rmi/registry/RegistryImpl.java (main): Recognize --help
	and --version.
	(help): New method.
	(version): Likewise.
	* gnu/gcj/convert/Convert.java (version): Removed extraneous
	"GNU".
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Removed extraneous
	"GNU".

2002-03-25  Tom Tromey  <tromey@redhat.com>

	* java/awt/Component.java (processEvent): Check ComponentEvent
	after KeyEvent.

2002-03-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/io/PushbackReader.java: Reformat.

	* java/io/FileInputStream.java (skip): Call fd.getFilePointer() and
	calculate correct number of bytes skipped.

	Based on patch from Intel's ORP team:
	* java/io/PushbackInputStream.java (available): Calculate correct
	number of bytes in buffer.
	(read): Remove redundant bound check. Return bytes from both the
	buffer and the stream.

2002-03-24  Tom Tromey  <tromey@redhat.com>

	* java/awt/TextComponent.java (TextComponent): Editable by
	default.

	* java/awt/MenuItem.java (eventMask): No longer private.
	* java/awt/Button.java (dispatchEventImpl): Only dispatch to
	superclass if we didn't handle event.
	* java/awt/Checkbox.java (dispatchEventImpl): New method.
	* java/awt/CheckboxMenuItem.java (dispatchEventImpl): New method.
	* java/awt/Choice.java (dispatchEventImpl): New method.
	* java/awt/List.java (dispatchEventImpl): New method.
	* java/awt/Scrollbar.java (dispatchEventImpl): New method.
	* java/awt/TextComponent.java (dispatchEventImpl): New method.
	* java/awt/TextField.java (dispatchEventImpl): New method.

2002-03-24  Eric Blake  <ebb9@email.byu.edu>

	* java/beans/IntrospectionException.java: Update to 1.4.
	* java/beans/PropertyVetoException.java: Ditto.

2002-03-24  Eric Blake  <ebb9@email.byu.edu>

	* gnu/java/beans/BeanInfoEmbryo.java (hasMethod): Use
	Arrays.equals instead of ArrayHelper.equalsArray.

2002-03-24  C. Brian Jones <cbj@gnu.org>

	* java/beans/Introspector.java: added new static final fields
	introduced in 1.2, lots of other updates remain to be done

2002-03-24  C. Brian Jones <cbj@gnu.org>

	* java/beans/Introspector.java: reformatting

2002-03-24  C. Brian Jones <cbj@gnu.org>

	* java/beans/Introspector.java: default beanInfoSearchPath will
	not include sun.beans.infos given we provide no such package and
	the API doesn't really require it; gnu.java.beans.info is the
	default.

2002-03-24  Mark Wielaard  <mark@klomp.org>

	Thanks to Orp developers
	* gnu/java/beans/editors/NativeBooleanEditor.java (setAsText(String)):
	switch TRUE and FALSE return values.

2002-03-23  Tom Tromey  <tromey@redhat.com>

	* include/name-finder.h (_Jv_name_finder::myclose): New method.
	* name-finder.cc (_Jv_name_finder): Initialize file descriptors.

2002-03-23  Michael Smith  <msmith@spinnakernet.com>

	* java/util/GregorianCalendar.java (minimums, maximums): Correct
	MONTH entry.  Fixes PR libgcj/6045.

2002-03-23  Jeff Sturm  <jsturm@one-point.com>

	* java/nat/natPlainSocketImpl.cc (write): Abort loop on error.

2002-03-20  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use write_barrier,
	not release_set.
	* sysdep/powerpc/locks.h (write_barrier): New function.
	* sysdep/i386/locks.h (write_barrier): New function.

2002-03-19  Martin Kahlert  <martin.kahlert@infineon.com>

	* include/jni.h Use correct C comments.

2002-03-18  Tom Tromey  <tromey@redhat.com>

	* include/jni.h (JNIIMPORT): New macro.
	(JNIEXPORT): Likewise.
	(JNICALL): Likewise.

2002-03-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.host (i?86-*): Use -fuse-divide-subroutine on Solaris
	systems.

2002-03-18  Andrew Haley  <aph@cambridge.redhat.com>

	* include/i386-signal.h (old_i386_kernel_sigaction): New.
	INIT_SEGV: Use old_i386_kernel_sigaction.
	INIT_FP: Likewise.

2002-03-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/natSystem.cc (init_properties): Update VM version
	properties.
	* configure.in: Set GCJVERSION.
	* acconfig.h: Add GCJVERSION.
	* configure: Rebuilt.
	* include/config.h.in: Rebuilt.

2002-03-17  Anthony Green  <green@redhat.com>

	* java/lang/ieeefp.h: Add ARM thumb support (copied from newlib).

2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Build a single libgcj.so, without separate gc and zlib libraries.
	* configure.in: Use convenience libraries for boehm-gc and zlib. Set
	SYS_ZLIBS if system zlib is used.
	* configure: Rebuilt.
	* Makefile.am: Use boehm-gc and zlib convenience libraries.
	* Makefile.in: Rebuilt.
	* libtool-version: Increment .so version number.

	* Makefile.am: Escape quotes in echo.
	* Makefile.in: Rebuilt.

2002-03-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am: Use empty -classpath flag in addition to -bootclasspath.
	* Makefile.in: Rebuilt.

2002-03-15  Anthony Green  <green@redhat.com>

	* configure.host (FILE): New macro for specifing File
	implementation.
	* configure: Rebuilt.
	* configure.in: Use FILE.  Define HAVE_TIME for newlib targets.

2002-03-15  Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.am (jv_convert_LDADD): Don't list libraries that are
	already implicitly brought in from libgcj.la.
	(gij_LDADD, rmic_LDADD, rmiregistry_LDADD): Likewise.
	* Makefile.in: Rebuilt.

2002-03-15  Eric Blake  <ebb9@email.byu.edu>

	* THANKS: Fix punctuation, alphabetization.

2002-03-15  Tom Tromey  <tromey@redhat.com>
	    Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

	Fix for PR libgcj/5944.
	* gnu/gcj/io/shs.h: Define uint8_t and uint32_t.

2002-03-15  Anthony Green  <green@redhat.com>

	* configure.in (tool_include_dir): Define.
	* configure: Rebuilt.
	* gcj/Makefile.am: Install libgcj-config.h relative to
	tool_include_dir.
	* gcj/Makefile: Rebuilt.
	* gcj/libgcj-config.h: Add warning comment.

2002-03-12  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.host (powerpc*-darwin*): Enable interpreter.

2002-03-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* include/posix.h: Add multiple include header protection.
	* java/net/natPlainSocketImpl.cc: Don't #include <posix.h>.

2002-03-10  Adam Megacz <adam@xwt.org>

        * java/net/natPlainSocketImpl.cc: Added #include <platform.h>.

2002-03-10  Tom Tromey  <tromey@redhat.com>

	* java/awt/GridLayout.java (layoutContainer): Handle case where
	there are no items in container.

	* java/lang/Win32Process.java: Added comment.
	* include/posix.h (_Jv_platform_close_on_exec): New function.
	Include fcntl.h.
	* include/win32.h (_Jv_platform_close_on_exec): New function.
	* java/net/natPlainSocketImpl.cc (create): Set close-on-exec
	flag.
	(accept): Likewise.
	* java/net/natPlainDatagramSocketImpl.cc (create): Set
	close-on-exec flag.
	* java/io/natFileDescriptorPosix.cc (open): Set close-on-exec
	flag.

2002-03-09  Tom Tromey  <tromey@redhat.com>

	* verify.cc (state::NO_STACK): New constant.
	(state::is_unmerged_ret_state): Handle case where stacktop is
	NO_STACK.
	(state::merge): Handle NO_STACK merges.
	(handle_jsr_insn): Invalidate PC, and use special NO_STACK state
	for instruction following jsr.
	(stacktop, stackdepth): Removed unused variables.
	(pop_jump): Ignore case where all remaining states are skipped.

2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/ImageMediaEntry: Removed.
	* java/awt/MediaEntry: Removed.

2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Hashtable synchronization for PowerPC.
	* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
	slow_pthread_self. Set up symlink for sysdeps directory.
	* configure: Rebuild.
	* configure.host: Document more shell variables. Set sysdeps_dir
	for most platforms. Set slow_pthread_self for i686. Set
	enable_hash_synchronization_default and slow_pthread_self for PowerPC.
	* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use release_set so
	that memory barrier is emitted where required.
	* prims.cc: 64-bit align static primitive class instances.
	* include/posix-threads.h (_Jv_ThreadSelf for SLOW_PTHREAD_SELF): Add
	read_barrier() to enforce ordering of reads.
	* sysdep/powerpc/locks.h: New file. Implementation of synchronization
	primitives for PowerPC.
	* sysdep/i386/locks.h: New file. Synchronization primitives for i386
	moved from natObject.cc.
	* sysdep/alpha/locks.h: Likewise.
	* sysdep/ia64/locks.h: Likewise.
	* sysdep/generic/locks.h: Likewise.
	* java/lang/natObject.cc: Move thread synchronization primitives to
	system-dependent headers.

2002-03-09  Adam Megacz  <adam@xwt.org>

        * java/io/natFileDescriptorWin32.cc (read): Return -1 if zero
        bytes read and no failure code returned.

2002-03-09  Adam Megacz  <adam@xwt.org>

        * win32.cc (_CRT_MT, __mingwthr_key_dtor) Added fake
        definitions to simulate -mthreads.

2002-03-09  Adam Megacz  <adam@xwt.org>

        * win32.cc (_Jv_platform_gettimeofday) Cast 1000 to long long to
	avoid precision loss.

2002-03-09  Per Bothner  <per@bothner.com>

	* gnu/gcj/xlib/WindowAttributes.java  Assign null to RawData, not 0.
	* gnu/gcj/xlib/XImage.java:  Likewise.
	* gnu/gcj/xlib/XColor.java:  Likewise.

2002-03-09  Adam Megacz  <adam@xwt.org>

        * java/lang/Win32Process.java (ConcreteProcess): Now throws an
        IOException so that Throwable.printStackTrace fails correctly.

2002-03-08  Adam Megacz  <adam@xwt.org>

        * java/net/natPlainSocketImpl.cc (read, write, close): Formatting
        fixed.

2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* posix.cc (_Jv_platform_gettimeofday): Make sure result doesn't get
	truncated to int.

2002-03-08  Tom Tromey  <tromey@redhat.com>

	* include/jni.h: Include stdio.h.

2002-03-08  Tom Tromey  <tromey@redhat.com>

	* posix.cc (internal_gettimeofday): New function.
	(_Jv_select): Use it.

2002-03-07  Adam Megacz  <adam@xwt.org>

        * java/net/natPlainSocketImpl.cc: Changed USE_WINSOCK to
        WIN32, and added thunks for read(), write(), and close().
        * java/net/natPlainSocketImpl.cc (accept, read, read):
        Disabled timeouts on WIN32 pending discussion.

2002-03-07  Adam Megacz  <adam@xwt.org>

        * win32.cc (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong. Added implementation
        * posix.cc (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong.
        * win32.h (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong.
        * posix.h (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong.
        * java/lang/natSystem.cc (currentTimeMillis): Now uses updated
        _Jv_platform_gettimeofday signature.

2002-03-07  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/net/natPlainSocketImpl.cc (_Jv_recv): Removed.
	(read): Call recv() directly, not _Jv_recv().

2002-03-06  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorEcos.cc (init): Don't use
	GetStdHandle.
	* java/io/natFileDescriptorPosix.cc (valid): Don't call stat if FD
	is negative.
	(init): Don't use GetStdHandle.

	* include/config.h.in: Rebuilt.
	* configure: Rebuilt.
	* Makefile.in: Rebuilt.

2002-03-06  Adam Megacz  <adam@xwt.org>

        * java/io/FileDescriptor.java: Initialize in/out/err in init().
        * java/io/natFileDescriptorWin32.cc (init()): Added function.
        * java/io/natFileDescriptorPosix.cc (init()): Added function.
        * java/io/natFileDescriptorEcos.cc (init()): Added function.

2002-03-06  Eric Blake  <ebb9@email.byu.edu>

	* scripts/unicode-decomp.pl: Move from chartables.pl, and remove
	the code for generating include/java-chartables.h.
	* scripts/unicode-blocks.pl: Move from scripts/blocks.pl, and
	merge with Classpath.
	* scripts/unicode-muncher.pl: Copy from Classpath.
	* scritps/MakeCharTables.java: New file.
	* gnu/gcj/convert/Blocks-3.txt: New file.
	* gnu/gcj/convert/UnicodeData-3.0.0.txt: New file.
	* gnu/gcj/convert/UnicodeCharacterDatabase-3.0.0.html: New file.
	* gnu/java/lang/CharData.java: Copy from Classpath.
	* Makefile.am (ordinary_java_source_files): Add
	gnu/java/lang/CharData.java.
	* configure.in: Remove --enable-fast-character option.
	* java/lang/Character.java: Merge algorithms and Javadoc with
	Classpath.
	* java/lang/natCharacter.cc: Implement Unicode lookup table more
	efficiently.
	* include/java-chardecomp.h: Regenerate.
	* include/java-chartables.h: Regenerate.

2002-03-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/MediaTracker.java: Implemented.
	* Makefile.am: Add MediaTracker.
	* Makefile.in: Rebuilt.

2002-03-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (fail): Removed.
	(startProcess): Simplified error-handling.  Preserve
	LD_LIBRARY_PATH across exec.

	* jni.cc (_Jv_LookupJNIMethod): Throw UnsatisfiedLinkError, not
	AbstractMethodError.

2002-03-03  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am: Use -bootclasspath, not -CLASSPATH.
	* Makefile.in: Rebuilt.

2002-03-03 Mark Wielaard <mark@klomp.org>

	* java/util/Timer (TaskQueue.stop): set elements to zero.

2002-02-28  Anthony Green  <green@redhat.com>

	* java/lang/reflect/natMethod.cc (result): Add void* element.
	(_Jv_CallAnyMethodA): Handle FFI_TYPE_POINTER arguments.  Move
	constructor test.

2002-02-27  Adam Megacz <adam@xwt.org>

	* java/net/natInetAddress.cc: Changed USE_WINSOCK to WIN32, added
	'#undef STRICT'.

2002-02-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (init_properties): Use __VERSION__.
	* gij.cc (version): Use __VERSION__.
	* include/config.h.in: Rebuilt.
	* acconfig.h (GCJVERSION): Removed.
	* configure: Rebuilt.
	* configure.in (GCJVERSION): Removed.

2002-02-26  Andreas Schwab  <schwab@suse.de>

	* acinclude.m4 (LIB_AC_PROG_CXX): Use glibjava_CXX instead of
	glibcpp_CXX, since libjava uses even another CXX.
	* aclocal.m4, configure: Regenerated.

2002-02-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (startProcess): Use FD_CLOEXEC, not
	`1'.

2002-02-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am (GCJCOMPILE): Use -fCLASSPATH not -fclasspath. Fixes
	dependency tracking for .java files.
	* Makefile.in: Rebuilt.

2002-02-24  Adam Megacz  <adam@xwt.org>

	* java/net/natPlainDatagramSocketImpl.cc: whops; removed 'make'
	typo. Sorry.

2002-02-24  Adam Megacz  <adam@xwt.org>

	* java/net/natPlainDatagramSocketImpl.cc: Updated #includes
	for Win32, changed #ifdefs to check WIN32 instead of the
	(now-obsolete) USE_WINSOCK, and removed support for socket
	timeouts on Win32 pending further discussion.

2002-02-24  Adam Megacz  <adam@xwt.org>

	* win32-threads.cc (_Jv_ThreadInitData): _Jv_Malloc instead of new
	* win32-threads.cc (_Jv_ThreadDestroyData): _Jv_Free instead of
	delete

2002-02-24  Adam Megacz  <adam@xwt.org>

	* java/lang/Win32Process.java: Created a dummy class to allow
	build process to run to completion.

2002-02-24  Jeff Sturm  <jsturm@one-point.com>

	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
	Define ffi_result union for ffi_call result.  Cast
	ffi_result members to jvalue.

2002-02-23  Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.in, gcj/Makefile.in, include/Makefile.in: Rebuilt.
	* testsuite/Makefile.in: Likewise.

2002-02-20  Per Bothner  <per@bothner.com>

	* java/net/URL.java (getPath):  New JDK 1.3 method.

	* java/net/URLStreamHandler.java (parseURL):
	It is wrong to prepend '/' to the file part of a relative url.

	* java/net/URLStreamHandler.java (parseURL):
	Minor optizations - append '/' rather than "/".

	* java/net/URLStreamHandler.java (parseURL):
	Don't canonicalize "xx/.." or "./" URLs - JDK doesn't.
	We probably should canonicalize for a context-relative url, though.
	* java/net/URL.java (sameFile):  Delegate to URLStreamHandler.
	* java/net/URLStreamHandler.java (canonicalizeFilename):  New helper.
	(sameFile):  New method.  Uses canonicalizeFilename.

2002-02-22  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (init_properties): Include the `Inc.' in
	java.vendor and java.vm.vendor.
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Only print most
	recent copyright date.
	* gnu/gcj/convert/Convert.java (version): Print `Inc'.
	* gij.cc (version): Print `Inc'.

2002-02-22  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (CXX): AC_SUBST it, instead of glibcpp_CXX.
	* aclocal.m4, configure: Rebuilt.

2002-02-20  Per Bothner  <per@bothner.com>

	* gnu/gcj/protocol/file/Connection.java (conect):  Open the input
	and/or output streams immediately here, instead of using File.exists.
	(inputStream, outputStream):  New fields to save open streams.
	(getInputStream, getOutputStream):  Use already-opened streams.

2002-02-22  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
	Use it.
	* Makefile.am (LIBLINK): Use CXX (and its tag) for linking.
	* aclocal.m4, configure, Makefile.in: Rebuilt.

2002-02-19  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/5696:
	* verify.cc (is_assignable_from_slow): Never call
	_Jv_IsAssignableFrom.
	(verify_instructions_0): Added new debug statement.
	(state::print): Print information about whether local has
	changed.
	(state::merge): Don't call note_variable when merging locals.
	(state::set_exception): Removed old FIXME comment.

2002-02-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/net/natPlainDatagramSocketImpl.cc (bind): Call setsockopt to
	enable SO_BROADCAST.

2002-02-18  Jason Merrill  <jason@redhat.com>

	* name-finder.cc (toHex): Use word mode, not long long.

	* gnu/gcj/convert/natIconv.cc (write): Avoid sign-compare warning.

2002-02-15  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/5695:
	* verify.cc (is_assignable_from_slow): Check to see if target is
	an Object before checking to see if source is an interface.
	(verify_instructions_0) [op_invokeinterface]: Handle case where
	we're making an interface call on Object.

2002-02-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.in: Rebuilt with Eric's change below.

	* java/lang/natMath.cc (abs(jdouble), abs(jfloat), round(jfloat),
	round(jdouble), min(jfloat), max(jfloat), min(jdouble), min(jfloat)):
	Removed functions which are now implemented in Math.java.

2002-02-14  Eric Blake  <ebb9@email.byu.edu>

	* gcj/javaprims.h (java::lang): Add java::lang::StrictMath.
	* Makefile.am (core_java_source_files): Add
	java/lang/StrictMath.java.
	* java/lang/Math.java: Merge with Classpath.
	* java/lang/StrictMath.java: New file - merge with Classpath.

2002-02-14  Mark Wielaard  <mark@klomp.org>

	* java/math/BigInteger.java: import gnu.java.math.MPN not the whole
	package as a workaround for gcj 3.0.x

2002-02-14  Mark Wielaard <mark@klomp.org>

	* java/security/BasicPermission.java: extends with fully qualified
	classname as workaround for gcj 3.0.4.

2002-02-14  Eric Blake  <ebb9@email.byu.edu>

	* java/net/DatagramSocketImpl.java (setOption, getOption): Work
	around gcj bug of wrong emitted qualifier for inherited method.
	* java/net/SocketImpl.java (setOption, getOption): Ditto.
	* java/util/WeakHashMap.java (WeakEntrySet): Add non-private
	constructor to reduce amount of emitted bytecode. While this
	happens to work around a jikes 1.15 bug, it is still a useful
	patch even for correct compilers.
	* java/rmi/server/RMIClassLoader.java (MyClassLoader): Ditto.
	* gnu/java/rmi/server/UnicastRemoteCall.java
	(DummyObjectOutputStream, DummyObjectInputStream): Ditto.

2002-02-14  Eric Blake  <ebb9@email.byu.edu>

	* java/net/DatagramSocketImpl.java: Reformat (no code changes).
	* java/net/SocketImpl.java: Ditto.
	* java/rmi/server/RMIClassLoader.java: Ditto.
	* gnu/java/rmi/server/UnicastRemoteCall.java: Ditto.

2002-02-14  Mark Wielaard <mark@klomp.org>

	Thanks to Takashi Okamoto
	* java/util/Arrays.java (ArrayList.indexOf()): this.equals().
	* java/util/Arrays.java (ArrayList.lastIndexOf()): Likewise.
	* java/util/WeakHashMap.java (WeakEntry.getEntry()): this.get().

2002-02-13  Todd Stock  <toddastock@yahoo.com>

	Fix for PR libgcj/5670:
	* verify.cc (is_assignable_from_slow): If `source' is interface,
	recursively look for merge with `target'.

2002-02-14  Martin Kahlert  <martin.kahlert@infineon.com>

	* include/jni.h: Fix typo.

2002-02-13  Martin Kahlert  <martin.kahlert@infineon.com>

	* jni.cc (_Jv_JNI_AttachCurrentThread): env->locals assigned
	correctly.

2002-02-13  Todd Stock  <toddastock@yahoo.com>

	Fix for PR libgcj/5671:
	* verify.cc (state::merge): Handle case where we're merging
	against an interface.

2002-02-12  Tom Tromey  <tromey@redhat.com>

	* exception.cc (std::abort): Mark as noreturn.

2002-02-12  Adam Megacz <adam@xwt.org>

        * java/lang/Win32Process.java: Filled in a placeholder
	implementation so Win32 will build.

2002-02-12  Adam Megacz <adam@xwt.org>

        * java/io/natFilePosix.cc: Copied this from natFile.cc.
	* java/io/natFile.cc: Removed from repository.
	* configure.in: Added AC_LINK_FILES for natFile${PLATFORM}.

2002-02-12  Adam Megacz <adam@xwt.org>

	* win32.cc: Added two #includes to make win32.cc compile.

2002-02-12  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* boehm.cc (initialized, obj_kind_x, obj_free_list): Removed unused
	declarations.
	(_Jv_InitGC): Don't bother locking, as this is always called from a
	single-thread. Turn off GC_all_interior_pointers. Remove dead code.

2002-02-11  Adam Megacz <adam@xwt.org>

	* include/win32.h: Added _Jv_platform_gettimeofday.
	* win32.cc (_Jv_platform_gettimeofday): Added dummy function.

2002-02-11  Adam Megacz <adam@xwt.org>

	* java/io/natFileWin32.cc, java/io/natFileDescriptorWin32.cc:
	Added #undef STRICT to make windows.h and
	java/lang/reflect/Modifier.h cooperate.

2002-02-11  Adam Megacz <adam@xwt.org>

	* java/io/natFileWin32.cc: Created a placeholder class with lots
	of FIXMEs.

2002-02-11  Adam Megacz <adam@xwt.org>

	* exception.cc (_Jv_Throw, PERSONALITY_FUNCTION): Changed
	std::abort() to simply abort(). Also added "fake" std::abort() so
	we can #include unwind-pe.h without having to link against
	libstdc++-v3.

2002-02-10  Andreas Tobler  <toa@pop.agri.ch>

	* interpret.cc (continue1) [insn_f2l]: Use PUSHL, not PUSHI.

2002-02-08  Tom Tromey  <tromey@redhat.com>

	* interpret.cc (convert): New function.
	(continue1) [insn_d2i, insn_d2l, insn_f2i, insn_f2l]: Use
	convert.
	Include Long.h.

2002-02-08  Anthony Green  <green@redhat.com>

	* configure.host: Add support for xscale-elf embedded target.

2002-02-08  Martin Kahlert  <martin.kahlert@infineon.com>

	* jni.cc (_Jv_JNI_NewLocalRef): Make sure, that NULL frame is not
	dereferenced.
	(_Jv_JNI_AttachCurrentThread): Produce full featured env->locals
	frame.

2002-02-07  Tom Tromey  <tromey@redhat.com>

	* java/io/natFile.cc (_access): Use __builtin_alloca.
	(_stat): Likewise.
	(attr): Likewise.
	(getCanonicalPath): Likewise.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(performDelete): Likewise.

2002-02-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* HACKING: Fix URL for the automake-gcj.

2002-02-07  Tom Tromey  <tromey@redhat.com>

	* java/lang/natThrowable.cc: Updated copyright.
	* java/io/natFileWin32.cc: Updated copyright.
	* java/io/natFileDescriptorWin32.cc: Updated copyright.
	* win32-threads.cc: Updated copyright.
	* name-finder.cc: Updated copyright.
	* include/name-finder.h: Updated copyright.

	* include/name-finder.h: Conditionally include sys/wait.h.
	* include/config.h.in: Rebuilt.

	* java/io/natFile.cc (_access): Don't stack-allocate buffer.
	Size buffer based on real size of string.
	(_stat): Likewise.
	(attr): Likewise.
	(getCanonicalPath): Likewise.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(unixroot): Removed.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(performDelete): Likewise.
	(performListRoots): Always return new array.

	* prims.cc (_Jv_CreateJavaVM): Call _Jv_platform_initialize.
	* win32.cc (win32_exception_handler): Now static.
	* include/win32.h (_Jv_platform_initialize): Declare.
	(win32_exception_handler): Don't declare.
	* java/lang/natSystem.cc (currentTimeMillis): Use
	_Jv_platform_gettimeofday.
	* posix.cc (_Jv_platform_gettimeofday): Renamed.
	(_Jv_select): Use new name.
	(_Jv_platform_initialize): New function.
	* include/posix.h (_Jv_platform_gettimeofday): Renamed from
	_Jv_gettimeofday.
	(_Jv_platform_initialize): Declare.

	* configure: Rebuilt.
	* configure.in: Removed unnecessary parens.

2002-02-06  Adam Megacz <adam@xwt.org>

       * configure.in: Changed mingw) to *mingw*).
       * win32.cc: Created this file.
       * win32.h: Created this file.
       * win32.cc, prims.cc, win32.h (win32_exception_handler): Moved
       win32_exception_handler from prims.cc to win32.cc, added
       header in win32.h.
       * prims.cc: removed some #ifdef-WIN32'd headers which are no
       longer needed now that we have platform.h

2002-02-06  Adam Megacz <adam@xwt.org>

	* gnu/gcj/io/shs.h, gnu/gcj/io/shs.cc, gnu/gcj/io/natSimpleSHSStream.cc:
	use uint<n>_t instead of LONG and BYTE

2002-02-06  Adam Megacz <adam@xwt.org>

	* name-finder.h: don't #include sys/wait.h unless HAVE_SYS_WAIT_H

2002-02-06  Anthony Green  <green@redhat.com>

	* java/net/natPlainSocketImpl.cc: Fix DISABLE_JAVA_NET targets.
	Implement missing method stubs.
	java/net/natPlainDatagramSocketImpl.cc: Fix DISABLE_JAVA_NET
	targets.
	* java/lang/natSystem.cc (getSystemTimeZone): Some targets have no
	concept of timezones.
	(init_properties): Don't refer to _Jv_Environment_Properties
	when this feature is not available.
	* include/config.h.in: Rebuilt.
	* acconfig.h: Add DISABLE_MAIN_ARGS.
	* prims.cc (_Jv_RunMain): Use DISABLE_MAIN_ARGS.
	* configure: Rebuilt.
	* configure.in: Add --disable-main-args option.  Test for
          opendir function.  Replace AC_CHECK_SIZEOF with
          AC_COMPILE_CHECK_SIZEOF.
	* java/io/natFile.cc (performList): Check HAVE_OPENDIR.
	* aclocal.m4: Rebuilt.
	* acinclude.m4: Add AC_COMPILE_CHECK_SIZEOF.

2002-02-06  Tom Tromey  <tromey@redhat.com>

	* verify.cc (require_array_type): If argument is a null array of
	references, return null as the element type.

2002-02-06  Mark Wielaard  <mark@klomp.org>

	* verify.cc (verify_instructions_0) [op_dup2]: Actually push the
	duplicate of a wide type.

2002-02-06  Tom Tromey  <tromey@redhat.com>

	* verify.cc (type::isnull): New method.
	(require_array_type): Handle case where array is null.
	(verify_instructions_0) [op_arraylength]: Likewise.

2002-02-05  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.in: Set up PLATFORMOBJS not PLATFORM_SPECIFIC_SOURCES.
	Symlink PLATFORMH to platform.h.
	* Makefile.am (libgcj_la_DEPENDENCIES, libgcj_la_LIBADD): Add
	PLATFORMOBJS.
	* java/lang/natSystem.cc: #include platform.h not posix.h.
	* Makefile.in: Rebuilt with libgcj automake.
	* configure: Rebuilt.

2002-02-05  Richard Henderson  <rth@redhat.com>

	* Makefile.in: Undo munging last change.

2002-02-04  Adam Megacz <adam@xwt.org>

	* win32.cc: Created it.
	* configure.in: Added PLATFORM_SPECIFIC_SOURCES,
	which is set to posix.cc or win32.cc.
	* Makefile.am: Updated it to use $(PLATFORM_SPECIFIC_SOURCES).

2002-02-04  Adam Megacz <adam@xwt.org>

	* configure.in: Corrected mingw case branches; added * before
	and after.

2002-02-04  Adam Megacz <adam@xwt.org>

	* configure.in: Add -lgdi32 -lwsock32 -lws2_32 to libgcj.spec
	if compiling for win32

2002-02-04  Adam Megacz <adam@xwt.org>

	* win32-threads.cc: #undef STRICT after gc.h inclusion

2002-02-02  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.

2002-02-02  Jason Merrill  <jason@redhat.com>

	* Makefile.am (clean-nat): New target.

2002-02-02  Tom Tromey  <tromey@redhat.com>

	* java/io/natFile.cc: Removed old "FIXME" comments.

2002-02-01  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (myclose): New function.
	(fail): Use it.
	(startProcess): Likewise.

2002-02-01  Adam Megacz <adam@xwt.org>

	* prims.cc: Added #undef STRICT after #include<windows.h>.

2002-02-01  Adam Megacz <adam@xwt.org>

	* prims.cc
	(_Jv_CreateJavaVM): We now use WIN32 instead of
	USE_WIN32_SIGNALLING and USE_WINSOCK.
	(win32_exception_handler): Now throws an exception out of
	the signal handler; assumes SJLJ.

2002-02-01  Adam Megacz <adam@xwt.org>

	* win32-threads.cc:
	(_Jv_CondWait, _Jv_CondNotify, _Jv_CondNotifyAll): Corrected
	wait() algorithm to make it safe.
	(ensure_condvar_initialized, _Jv_CondInit, _Jv_CondDestroy):
	Added lazy creation of Win32 Events for better performance
	(really_start): This now uses GC_CreateThread so boehm-gc
	knows about new threads even when statically linked.

2002-02-01  Adam Megacz <adam@xwt.org>

	* include/win32-threads.h (_Jv_ConditionVariable_t): Now a struct, to
	enable safer wait() algorithm.
	(_Jv_CondWait, _Jv_CondInit, _Jv_CondDestroy, _Jv_CondNotify,
	_Jv_CondNotifyAll): Implementations moved to win32-threads.cc.
	(_Jv_MutexInit, _Jv_HaveMutexDestroy, _Jv_MutexUnlock,
	_Jv_MutexLock, _Jv_ThreadYield): Reimplement using CRITICAL_SECTIONs
	instead of mutex.
	(_Jv_ThreadYield): Don't call Sleep(), because it crashes win98.

2002-02-01  Adam Megacz <adam@xwt.org>

	* configure.in: Added support for mingw.
	* java/lang/Win32Process.java: Created as empty file.
	* java/lang/natWin32Process.cc: Created as empty file.

2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR java/4972
	* aclocal.m4, acinclude.m4 (AM_ICONV): Put linking flags
	for libiconv in LIBICONV variable.
	* configure: Regenerated.

2002-01-31  Tom Tromey  <tromey@redhat.com>

	* verify.cc (state::enter_subroutine): New method.
	(handle_jsr_insn): Use it.
	(state::merge): When processing a `ret', correctly use
	subroutine's state to determine which local variables have
	changed.
	(push_exception_jump): Don't let stack overflow.

2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gnu/gcj/convert/Convert.java: Only include one copyright year in
	--version output.

2002-01-30  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainSocketImpl.cc (_Jv_recv): Added template
	parameter for `recv' return type.

	* verify.cc (handle_ret_insn): Check for subroutine merge here...
	(state::merge): ... not here.
	(subr_entry_info): New structure.
	(entry_points): New field.
	(~_Jv_BytecodeVerifier): Correctly free jsr_ptrs.  Free
	entry_points.

2002-01-29  Tom Tromey  <tromey@redhat.com>

	* java/awt/List.java (addNotify): Correctly check to see if peer
	does not exist.

	* java/awt/GridLayout.java (layoutContainer): Use number of rows
	to compute height of each cell, and number of columns to compute
	width of each cell.
	* java/awt/Window.java (getOwnedWindows): Don't return null.
	* java/awt/FlowLayout.java (layoutContainer): Set width and height
	of component.  Increment x using horizontal gap, not vertical
	gap.

2002-01-28  Tom Tromey  <tromey@redhat.com>

	* verify.cc (class _Jv_BytecodeVerifier) [op_invokeinterface]:
	`nargs' byte is number of words, not number of arguments.

2002-01-27  Tom Tromey  <tromey@redhat.com>

	* java/awt/event/MouseEvent.java (modifiers): Removed field.
	(when): Likewise.
	* java/awt/event/InputEvent.java (modifiers, when): Now
	package-private.

	* verify.cc (class _Jv_BytecodeVerifier): Removed `FIXME' comment
	and to-do list.
	(state::merge): Use current class' class loader.
	(state::print): Print subroutine.
	(state::merge): Don't look at subroutine of unmerged `ret'.

2002-01-26 Andreas Tobler <a.tobler@schweiz.ch>

	* nogc.cc: Remove warnings.
	(_Jv_GCRegisterDisappearingLink, _Jv_GCCanReclaimSoftReference):
	New functions.

2002-01-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/image/MemoryImageSource.java (newPixels(byte[], ColorModel,
	int, int):  Remove empty "if" statement to work around compiler bug.
	(newPixels(int[], ColorModel, int, int): Likewise.

2002-01-25  Per Bothner  <per@bothner.com>

	* verify.cc (verify_fail):  Change from being a top-level function
	to e method of _Jv_BytecodeVerifier.  Emit current method name.
	Pass the current verifier to type: and state: methods as needed,
	for better error messages, and for resolve.
	(resolve):  Pass current class's loader for Class.forName and
	_Jv_FindClassFromSignature, rather than using the default loader.
	(various type: and state: methods):  Take _Jv_BytecodeVerifier* arg.
	(get_type_val_for_signature):  Make non-static.
	(various methods):  Pass start_PC implicitly, not explicitly.

2002-01-25  Tom Tromey  <tromey@redhat.com>

	* java/awt/FlowLayout.java (layoutContainer): Correctly compute
	loop termination condition.
	* java/awt/GridLayout.java (getSize): Use `real_cols' to compute
	width.

2002-01-24  Tom Tromey  <tromey@redhat.com>

	* java/awt/Shape.java: Merged with Classpath.
	* java/awt/Scrollbar.java: Merged with Classpath.

	* java/awt/Container.java (addNotify): Unconditionally call
	addNotifyContainerChildren and superclass addNotify.

	* java/awt/image/ColorModel.java (getAlpha(Object)): Call
	getAlpha, not getBlue.

2002-01-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/natObject.cc (X86 compare_and_swap): Use +m constraint.

	* java/awt/image/PixelGrabber.java (grabPixels()): Call grabPixels(0).
	(grabPixels(long)): Wait to be notified that the ImageProducer has
	completed.

2002-01-24  Per Bothner  <per@bothner.com>

	* verify.cc (is_assignable_from_slow): If target is an interface,
	we must still check the source's superclass before giving up.

2002-01-24  Tom Tromey  <tromey@redhat.com>

	* gnu/awt/xlib/XToolkit.java (getPrintJob): New stub method.

2002-01-23  Tom Tromey  <tromey@redhat.com>

	* java/awt/BorderLayout.java (addLayoutComponent): Added missing
	`else'.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/awt/Toolkit.java: Merged with Classpath.
	* java/awt/PrintGraphics.java: New file from Classpath.
	* java/awt/PrintJob.java: New file from Classpath.
	* java/awt/datatransfer/Clipboard.java: New file from Classpath.
	* java/awt/datatransfer/ClipboardOwner.java: New file from
	Classpath.
	* java/awt/datatransfer/DataFlavor.java: New file from Classpath.
	* java/awt/datatransfer/FlavorMap.java: New file from Classpath.
	* java/awt/datatransfer/MimeTypeParseException.java: New file from
	Classpath.
	* java/awt/datatransfer/StringSelection.java: New file from
	Classpath.
	* java/awt/datatransfer/SystemFlavorMap.java: New file from
	Classpath.
	* java/awt/datatransfer/Transferable.java: New file from
	Classpath.
	* java/awt/datatransfer/UnsupportedFlavorException.java: New file
	from Classpath.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/awt/image/AreaAveragingScaleFilter.java: New file from
	Classpath.
	* java/awt/image/CropImageFilter.java: New file from Classpath.
	* java/awt/image/FilteredImageSource.java: New file from
	Classpath.
	* java/awt/image/ImageFilter.java: New file from Classpath.
	* java/awt/image/MemoryImageSource.java: New file from Classpath.
	* java/awt/image/PixelGrabber.java: New file from Classpath.
	* java/awt/image/RGBImageFilter.java: New file from Classpath.
	* java/awt/image/ReplicateScaleFilter.java: New file from
	Classpath.
	* java/awt/image/ImageProducer.java: Replaced with Classpath
	version.
	* java/awt/image/ImageObserver.java: Replaced with Classpath
	version.
	* java/awt/image/ImageConsumer.java: Replaced with Classpath
	version.
	* java/awt/GridBagConstraints.java (clone): Catch
	CloneNotSupportedException.

2002-01-23  Per Bothner  <per@bothner.com>

	* java/lang/reflect/natField.cc (setAddr):  New function.
	Calls getAddr and then checks that the field isn't final.
	(setBoolean. setChar, setByte, setShort, setInt, setLong, setFloat,
	setDouble, set):  Use setAddr instead of getAddr, to check for FINAL.
	(set):  Call setAddr before check that new value has right type,
	to better match specified semantics.

2002-01-22  Tom Tromey  <tromey@redhat.com>

	* java/awt/TextField.java: Replaced with Classpath version.
	* java/awt/TextArea.java: Replaced with Classpath version.
	* java/awt/TextComponent.java: Replaced with Classpath version.

	* java/awt/GridBagConstraints.java: Updated copyright.

2002-01-22  Mark Wielaard <mark@klomp.org>

	* java/awt/Adjustable.java java/awt/CheckboxMenuItem.java
	java/awt/Choice.java java/awt/Color.java java/awt/Cursor.java
	java/awt/Dialog.java java/awt/FileDialog.java
	java/awt/Font.java java/awt/FontMetrics.java
	java/awt/Image.java java/awt/ImageMediaEntry.java
	java/awt/Insets.java java/awt/List.java
	java/awt/MediaEntry.java java/awt/MediaTracker.java
	java/awt/Menu.java java/awt/MenuBar.java
	java/awt/MenuContainer.java java/awt/MenuShortcut.java
	java/awt/PaintContext.java java/awt/Panel.java
	java/awt/PopupMenu.java java/awt/SystemColor.java
	java/awt/peer/ButtonPeer.java java/awt/peer/CanvasPeer.java
	java/awt/peer/CheckboxMenuItemPeer.java
	java/awt/peer/CheckboxPeer.java java/awt/peer/ChoicePeer.java
	java/awt/peer/ComponentPeer.java
	java/awt/peer/ContainerPeer.java java/awt/peer/DialogPeer.java
	java/awt/peer/FileDialogPeer.java java/awt/peer/FontPeer.java
	java/awt/peer/FramePeer.java java/awt/peer/LabelPeer.java
	java/awt/peer/LightweightPeer.java java/awt/peer/ListPeer.java
	java/awt/peer/MenuBarPeer.java
	java/awt/peer/MenuComponentPeer.java
	java/awt/peer/MenuItemPeer.java java/awt/peer/MenuPeer.java
	java/awt/peer/PanelPeer.java java/awt/peer/PopupMenuPeer.java
	java/awt/peer/ScrollPanePeer.java
	java/awt/peer/ScrollbarPeer.java
	java/awt/peer/TextAreaPeer.java
	java/awt/peer/TextComponentPeer.java
	java/awt/peer/TextFieldPeer.java
	java/awt/peer/WindowPeer.java: Add license clarification.

2002-01-22  Mark Wielaard <mark@klomp.org>

	* LIBGCJ_LICENSE gnu/classpath/Configuration.java.in
	gnu/gcj/runtime/StringBuffer.java
	gnu/java/awt/BitMaskExtent.java gnu/java/awt/Buffers.java
	gnu/java/awt/ComponentDataBlitOp.java
	gnu/java/awt/GLightweightPeer.java
	gnu/java/beans/BeanInfoEmbryo.java
	gnu/java/beans/EmptyBeanInfo.java
	gnu/java/beans/ExplicitBeanInfo.java
	gnu/java/beans/IntrospectionIncubator.java
	gnu/java/beans/editors/ColorEditor.java
	gnu/java/beans/editors/FontEditor.java
	gnu/java/beans/editors/NativeBooleanEditor.java
	gnu/java/beans/editors/NativeByteEditor.java
	gnu/java/beans/editors/NativeDoubleEditor.java
	gnu/java/beans/editors/NativeFloatEditor.java
	gnu/java/beans/editors/NativeIntEditor.java
	gnu/java/beans/editors/NativeLongEditor.java
	gnu/java/beans/editors/NativeShortEditor.java
	gnu/java/beans/editors/StringEditor.java
	gnu/java/beans/info/ComponentBeanInfo.java
	gnu/java/io/ClassLoaderObjectInputStream.java
	gnu/java/io/NullOutputStream.java
	gnu/java/io/ObjectIdentityWrapper.java
	gnu/java/lang/ArrayHelper.java gnu/java/lang/ClassHelper.java
	gnu/java/lang/reflect/TypeSignature.java
	gnu/java/locale/Calendar.java gnu/java/locale/Calendar_de.java
	gnu/java/locale/Calendar_en.java
	gnu/java/locale/Calendar_nl.java
	gnu/java/locale/LocaleInformation.java
	gnu/java/locale/LocaleInformation_de.java
	gnu/java/locale/LocaleInformation_en.java
	gnu/java/locale/LocaleInformation_nl.java
	gnu/java/math/MPN.java gnu/java/rmi/dgc/DGCImpl.java
	gnu/java/rmi/registry/RegistryImpl.java
	gnu/java/rmi/rmic/Compile_gcj.java
	gnu/java/rmi/rmic/Compiler.java
	gnu/java/rmi/rmic/CompilerProcess.java
	gnu/java/rmi/rmic/RMIC.java
	gnu/java/rmi/rmic/TabbedWriter.java
	gnu/java/rmi/server/ProtocolConstants.java
	gnu/java/rmi/server/RMIDefaultSocketFactory.java
	gnu/java/rmi/server/RMIHashes.java
	gnu/java/rmi/server/RMIObjectInputStream.java
	gnu/java/rmi/server/RMIObjectOutputStream.java
	gnu/java/rmi/server/UnicastConnection.java
	gnu/java/rmi/server/UnicastConnectionManager.java
	gnu/java/rmi/server/UnicastRef.java
	gnu/java/rmi/server/UnicastRemoteCall.java
	gnu/java/rmi/server/UnicastRemoteStub.java
	gnu/java/rmi/server/UnicastServer.java
	gnu/java/rmi/server/UnicastServerRef.java
	gnu/java/security/provider/DefaultPolicy.java
	gnu/java/security/provider/Gnu.java
	gnu/java/security/provider/SHA.java
	gnu/java/security/provider/SHA1PRNG.java
	gnu/java/text/BaseBreakIterator.java
	gnu/java/text/CharacterBreakIterator.java
	gnu/java/text/LineBreakIterator.java
	gnu/java/text/SentenceBreakIterator.java
	gnu/java/text/WordBreakIterator.java
	gnu/java/util/DoubleEnumeration.java java/applet/Applet.java
	java/applet/AppletContext.java java/applet/AppletStub.java
	java/applet/AudioClip.java java/awt/AWTError.java
	java/awt/AWTEvent.java java/awt/AWTEventMulticaster.java
	java/awt/AWTException.java java/awt/AWTPermission.java
	java/awt/ActiveEvent.java java/awt/BorderLayout.java
	java/awt/Button.java java/awt/Canvas.java
	java/awt/CardLayout.java java/awt/Checkbox.java
	java/awt/CheckboxGroup.java java/awt/Component.java
	java/awt/ComponentOrientation.java java/awt/Container.java
	java/awt/Dimension.java java/awt/Event.java
	java/awt/EventDispatchThread.java java/awt/EventQueue.java
	java/awt/FlowLayout.java java/awt/Frame.java
	java/awt/Graphics.java java/awt/Graphics2D.java
	java/awt/GraphicsConfiguration.java java/awt/GridLayout.java
	java/awt/IllegalComponentStateException.java
	java/awt/ItemSelectable.java java/awt/Label.java
	java/awt/LayoutManager.java java/awt/LayoutManager2.java
	java/awt/MenuComponent.java java/awt/MenuItem.java
	java/awt/Paint.java java/awt/Point.java
	java/awt/Rectangle.java java/awt/RenderingHints.java
	java/awt/Transparency.java java/awt/Window.java
	java/awt/color/ColorSpace.java
	java/awt/color/ICC_ColorSpace.java
	java/awt/color/ICC_Profile.java
	java/awt/event/HierarchyBoundsAdapter.java
	java/awt/event/HierarchyBoundsListener.java
	java/awt/event/HierarchyEvent.java
	java/awt/event/HierarchyListener.java
	java/awt/geom/AffineTransform.java
	java/awt/geom/Dimension2D.java java/awt/geom/Ellipse2D.java
	java/awt/geom/IllegalPathStateException.java
	java/awt/geom/Line2D.java
	java/awt/geom/NoninvertibleTransformException.java
	java/awt/geom/PathIterator.java java/awt/geom/Point2D.java
	java/awt/geom/Rectangle2D.java
	java/awt/geom/RectangularShape.java
	java/awt/geom/RoundRectangle2D.java
	java/awt/image/BufferedImage.java
	java/awt/image/ColorModel.java
	java/awt/image/ComponentColorModel.java
	java/awt/image/ComponentSampleModel.java
	java/awt/image/DataBuffer.java
	java/awt/image/DataBufferByte.java
	java/awt/image/DataBufferInt.java
	java/awt/image/DataBufferUShort.java
	java/awt/image/DirectColorModel.java
	java/awt/image/PackedColorModel.java
	java/awt/image/Raster.java java/awt/image/RasterOp.java
	java/awt/image/SampleModel.java
	java/awt/image/SinglePixelPackedSampleModel.java
	java/awt/image/WritableRaster.java
	java/beans/AppletInitializer.java
	java/beans/BeanDescriptor.java java/beans/BeanInfo.java
	java/beans/Beans.java java/beans/Customizer.java
	java/beans/DesignMode.java java/beans/EventSetDescriptor.java
	java/beans/FeatureDescriptor.java
	java/beans/IndexedPropertyDescriptor.java
	java/beans/IntrospectionException.java
	java/beans/Introspector.java java/beans/MethodDescriptor.java
	java/beans/ParameterDescriptor.java
	java/beans/PropertyChangeEvent.java
	java/beans/PropertyChangeListener.java
	java/beans/PropertyChangeSupport.java
	java/beans/PropertyDescriptor.java
	java/beans/PropertyEditor.java
	java/beans/PropertyEditorManager.java
	java/beans/PropertyEditorSupport.java
	java/beans/PropertyVetoException.java
	java/beans/SimpleBeanInfo.java
	java/beans/VetoableChangeListener.java
	java/beans/VetoableChangeSupport.java
	java/beans/Visibility.java
	java/beans/beancontext/BeanContext.java
	java/beans/beancontext/BeanContextChild.java
	java/beans/beancontext/BeanContextChildComponentProxy.java
	java/beans/beancontext/BeanContextChildSupport.java
	java/beans/beancontext/BeanContextContainerProxy.java
	java/beans/beancontext/BeanContextEvent.java
	java/beans/beancontext/BeanContextMembershipEvent.java
	java/beans/beancontext/BeanContextMembershipListener.java
	java/beans/beancontext/BeanContextProxy.java
	java/beans/beancontext/BeanContextServiceAvailableEvent.java
	java/beans/beancontext/BeanContextServiceProvider.java
	java/beans/beancontext/BeanContextServiceProviderBeanInfo.java
	java/beans/beancontext/BeanContextServiceRevokedEvent.java
	java/beans/beancontext/BeanContextServiceRevokedListener.java
	java/beans/beancontext/BeanContextServices.java
	java/beans/beancontext/BeanContextServicesListener.java
	java/io/BufferedInputStream.java
	java/io/BufferedOutputStream.java java/io/BufferedReader.java
	java/io/BufferedWriter.java java/io/ByteArrayInputStream.java
	java/io/ByteArrayOutputStream.java
	java/io/CharArrayReader.java java/io/CharArrayWriter.java
	java/io/CharConversionException.java java/io/DataInput.java
	java/io/DataInputStream.java java/io/DataOutput.java
	java/io/EOFException.java java/io/Externalizable.java
	java/io/FileFilter.java java/io/FileNotFoundException.java
	java/io/FilePermission.java java/io/FileReader.java
	java/io/FileWriter.java java/io/FilenameFilter.java
	java/io/FilterInputStream.java java/io/FilterOutputStream.java
	java/io/FilterReader.java java/io/FilterWriter.java
	java/io/IOException.java java/io/InputStream.java
	java/io/InterruptedIOException.java
	java/io/InvalidClassException.java
	java/io/InvalidObjectException.java
	java/io/NotActiveException.java
	java/io/NotSerializableException.java java/io/ObjectInput.java
	java/io/ObjectInputStream.java
	java/io/ObjectInputValidation.java java/io/ObjectOutput.java
	java/io/ObjectOutputStream.java java/io/ObjectStreamClass.java
	java/io/ObjectStreamConstants.java
	java/io/ObjectStreamException.java
	java/io/ObjectStreamField.java
	java/io/OptionalDataException.java java/io/OutputStream.java
	java/io/PipedInputStream.java java/io/PipedOutputStream.java
	java/io/PipedReader.java java/io/PipedWriter.java
	java/io/PrintWriter.java java/io/PushbackInputStream.java
	java/io/PushbackReader.java java/io/Reader.java
	java/io/SequenceInputStream.java java/io/Serializable.java
	java/io/SerializablePermission.java
	java/io/StreamCorruptedException.java
	java/io/StreamTokenizer.java
	java/io/StringBufferInputStream.java java/io/StringReader.java
	java/io/StringWriter.java java/io/SyncFailedException.java
	java/io/UTFDataFormatException.java
	java/io/UnsupportedEncodingException.java
	java/io/WriteAbortedException.java java/io/Writer.java
	java/lang/AbstractMethodError.java
	java/lang/ArithmeticException.java
	java/lang/ArrayIndexOutOfBoundsException.java
	java/lang/ArrayStoreException.java java/lang/Boolean.java
	java/lang/Byte.java java/lang/CharSequence.java
	java/lang/ClassCastException.java
	java/lang/ClassCircularityError.java
	java/lang/ClassFormatError.java
	java/lang/ClassNotFoundException.java
	java/lang/CloneNotSupportedException.java
	java/lang/Cloneable.java java/lang/Comparable.java
	java/lang/Compiler.java java/lang/Double.java
	java/lang/Error.java java/lang/Exception.java
	java/lang/ExceptionInInitializerError.java
	java/lang/Float.java java/lang/IllegalAccessError.java
	java/lang/IllegalAccessException.java
	java/lang/IllegalArgumentException.java
	java/lang/IllegalMonitorStateException.java
	java/lang/IllegalStateException.java
	java/lang/IllegalThreadStateException.java
	java/lang/IncompatibleClassChangeError.java
	java/lang/IndexOutOfBoundsException.java
	java/lang/InheritableThreadLocal.java
	java/lang/InstantiationError.java
	java/lang/InstantiationException.java java/lang/Integer.java
	java/lang/InternalError.java
	java/lang/InterruptedException.java
	java/lang/LinkageError.java java/lang/Long.java
	java/lang/NegativeArraySizeException.java
	java/lang/NoClassDefFoundError.java
	java/lang/NoSuchFieldError.java
	java/lang/NoSuchFieldException.java
	java/lang/NoSuchMethodError.java
	java/lang/NoSuchMethodException.java
	java/lang/NullPointerException.java java/lang/Number.java
	java/lang/NumberFormatException.java
	java/lang/OutOfMemoryError.java java/lang/Package.java
	java/lang/Process.java java/lang/Runnable.java
	java/lang/RuntimeException.java
	java/lang/RuntimePermission.java
	java/lang/SecurityException.java
	java/lang/SecurityManager.java java/lang/Short.java
	java/lang/StackOverflowError.java java/lang/StringBuffer.java
	java/lang/StringIndexOutOfBoundsException.java
	java/lang/ThreadDeath.java java/lang/ThreadGroup.java
	java/lang/ThreadLocal.java java/lang/UnknownError.java
	java/lang/UnsatisfiedLinkError.java
	java/lang/UnsupportedClassVersionError.java
	java/lang/UnsupportedOperationException.java
	java/lang/VerifyError.java java/lang/VirtualMachineError.java
	java/lang/Void.java java/lang/ref/PhantomReference.java
	java/lang/ref/Reference.java java/lang/ref/ReferenceQueue.java
	java/lang/ref/SoftReference.java
	java/lang/ref/WeakReference.java
	java/lang/reflect/AccessibleObject.java
	java/lang/reflect/InvocationTargetException.java
	java/lang/reflect/Member.java java/lang/reflect/Modifier.java
	java/lang/reflect/ReflectPermission.java
	java/math/BigDecimal.java java/math/BigInteger.java
	java/net/Authenticator.java java/net/BindException.java
	java/net/ConnectException.java java/net/ContentHandler.java
	java/net/ContentHandlerFactory.java
	java/net/DatagramPacket.java java/net/DatagramSocketImpl.java
	java/net/FileNameMap.java java/net/MalformedURLException.java
	java/net/MulticastSocket.java java/net/NetPermission.java
	java/net/NoRouteToHostException.java
	java/net/PasswordAuthentication.java
	java/net/ProtocolException.java java/net/ServerSocket.java
	java/net/Socket.java java/net/SocketException.java
	java/net/SocketImpl.java java/net/SocketImplFactory.java
	java/net/SocketOptions.java java/net/SocketPermission.java
	java/net/URLDecoder.java java/net/URLEncoder.java
	java/net/URLStreamHandlerFactory.java
	java/net/UnknownHostException.java
	java/net/UnknownServiceException.java
	java/rmi/AccessException.java
	java/rmi/AlreadyBoundException.java
	java/rmi/ConnectException.java
	java/rmi/ConnectIOException.java
	java/rmi/MarshalException.java java/rmi/MarshalledObject.java
	java/rmi/Naming.java java/rmi/NoSuchObjectException.java
	java/rmi/NotBoundException.java
	java/rmi/RMISecurityException.java
	java/rmi/RMISecurityManager.java java/rmi/Remote.java
	java/rmi/RemoteException.java java/rmi/ServerError.java
	java/rmi/ServerException.java
	java/rmi/ServerRuntimeException.java
	java/rmi/StubNotFoundException.java
	java/rmi/UnexpectedException.java
	java/rmi/UnknownHostException.java
	java/rmi/UnmarshalException.java
	java/rmi/activation/Activatable.java
	java/rmi/activation/ActivateFailedException.java
	java/rmi/activation/ActivationDesc.java
	java/rmi/activation/ActivationException.java
	java/rmi/activation/ActivationGroup.java
	java/rmi/activation/ActivationGroupDesc.java
	java/rmi/activation/ActivationGroupID.java
	java/rmi/activation/ActivationID.java
	java/rmi/activation/ActivationInstantiator.java
	java/rmi/activation/ActivationMonitor.java
	java/rmi/activation/ActivationSystem.java
	java/rmi/activation/Activator.java
	java/rmi/activation/UnknownGroupException.java
	java/rmi/activation/UnknownObjectException.java
	java/rmi/dgc/DGC.java java/rmi/dgc/Lease.java
	java/rmi/dgc/VMID.java java/rmi/registry/LocateRegistry.java
	java/rmi/registry/Registry.java
	java/rmi/registry/RegistryHandler.java
	java/rmi/server/ExportException.java
	java/rmi/server/LoaderHandler.java
	java/rmi/server/LogStream.java java/rmi/server/ObjID.java
	java/rmi/server/Operation.java
	java/rmi/server/RMIClassLoader.java
	java/rmi/server/RMIClientSocketFactory.java
	java/rmi/server/RMIFailureHandler.java
	java/rmi/server/RMIServerSocketFactory.java
	java/rmi/server/RMISocketFactory.java
	java/rmi/server/RemoteCall.java
	java/rmi/server/RemoteObject.java
	java/rmi/server/RemoteRef.java
	java/rmi/server/RemoteServer.java
	java/rmi/server/RemoteStub.java
	java/rmi/server/ServerCloneException.java
	java/rmi/server/ServerNotActiveException.java
	java/rmi/server/ServerRef.java java/rmi/server/Skeleton.java
	java/rmi/server/SkeletonMismatchException.java
	java/rmi/server/SkeletonNotFoundException.java
	java/rmi/server/SocketSecurityException.java
	java/rmi/server/UID.java
	java/rmi/server/UnicastRemoteObject.java
	java/rmi/server/Unreferenced.java
	java/security/AccessControlContext.java
	java/security/AccessControlException.java
	java/security/AccessController.java
	java/security/AlgorithmParameterGenerator.java
	java/security/AlgorithmParameterGeneratorSpi.java
	java/security/AlgorithmParameters.java
	java/security/AlgorithmParametersSpi.java
	java/security/AllPermission.java
	java/security/BasicPermission.java
	java/security/Certificate.java java/security/CodeSource.java
	java/security/DigestException.java
	java/security/DigestInputStream.java
	java/security/DigestOutputStream.java
	java/security/DomainCombiner.java
	java/security/DummyKeyPairGenerator.java
	java/security/DummyMessageDigest.java
	java/security/DummySignature.java
	java/security/GeneralSecurityException.java
	java/security/Guard.java java/security/GuardedObject.java
	java/security/Identity.java java/security/IdentityScope.java
	java/security/InvalidAlgorithmParameterException.java
	java/security/InvalidKeyException.java
	java/security/InvalidParameterException.java
	java/security/Key.java java/security/KeyException.java
	java/security/KeyFactory.java java/security/KeyFactorySpi.java
	java/security/KeyManagementException.java
	java/security/KeyPair.java java/security/KeyPairGenerator.java
	java/security/KeyPairGeneratorSpi.java
	java/security/KeyStore.java
	java/security/KeyStoreException.java
	java/security/KeyStoreSpi.java
	java/security/MessageDigest.java
	java/security/MessageDigestSpi.java
	java/security/NoSuchAlgorithmException.java
	java/security/NoSuchProviderException.java
	java/security/Permission.java
	java/security/PermissionCollection.java
	java/security/Permissions.java java/security/Policy.java
	java/security/Principal.java java/security/PrivateKey.java
	java/security/PrivilegedAction.java
	java/security/PrivilegedActionException.java
	java/security/PrivilegedExceptionAction.java
	java/security/ProtectionDomain.java
	java/security/Provider.java
	java/security/ProviderException.java
	java/security/PublicKey.java
	java/security/SecureClassLoader.java
	java/security/SecureRandom.java
	java/security/SecureRandomSpi.java java/security/Security.java
	java/security/SecurityPermission.java
	java/security/Signature.java
	java/security/SignatureException.java
	java/security/SignatureSpi.java
	java/security/SignedObject.java java/security/Signer.java
	java/security/UnrecoverableKeyException.java
	java/security/UnresolvedPermission.java
	java/security/acl/Acl.java java/security/acl/AclEntry.java
	java/security/acl/AclNotFoundException.java
	java/security/acl/Group.java
	java/security/acl/LastOwnerException.java
	java/security/acl/NotOwnerException.java
	java/security/acl/Owner.java java/security/acl/Permission.java
	java/security/cert/CRL.java
	java/security/cert/CRLException.java
	java/security/cert/Certificate.java
	java/security/cert/CertificateEncodingException.java
	java/security/cert/CertificateException.java
	java/security/cert/CertificateExpiredException.java
	java/security/cert/CertificateFactory.java
	java/security/cert/CertificateFactorySpi.java
	java/security/cert/CertificateNotYetValidException.java
	java/security/cert/CertificateParsingException.java
	java/security/cert/X509CRL.java
	java/security/cert/X509CRLEntry.java
	java/security/cert/X509Certificate.java
	java/security/cert/X509Extension.java
	java/security/interfaces/DSAKey.java
	java/security/interfaces/DSAKeyPairGenerator.java
	java/security/interfaces/DSAParams.java
	java/security/interfaces/DSAPrivateKey.java
	java/security/interfaces/DSAPublicKey.java
	java/security/interfaces/RSAKey.java
	java/security/interfaces/RSAPrivateCrtKey.java
	java/security/interfaces/RSAPrivateKey.java
	java/security/interfaces/RSAPublicKey.java
	java/security/spec/AlgorithmParameterSpec.java
	java/security/spec/DSAParameterSpec.java
	java/security/spec/DSAPrivateKeySpec.java
	java/security/spec/DSAPublicKeySpec.java
	java/security/spec/EncodedKeySpec.java
	java/security/spec/InvalidKeySpecException.java
	java/security/spec/InvalidParameterSpecException.java
	java/security/spec/KeySpec.java
	java/security/spec/PKCS8EncodedKeySpec.java
	java/security/spec/RSAKeyGenParameterSpec.java
	java/security/spec/RSAPrivateCrtKeySpec.java
	java/security/spec/RSAPrivateKeySpec.java
	java/security/spec/RSAPublicKeySpec.java
	java/security/spec/X509EncodedKeySpec.java java/sql/Array.java
	java/sql/BatchUpdateException.java java/sql/Blob.java
	java/sql/CallableStatement.java java/sql/Clob.java
	java/sql/Connection.java java/sql/DataTruncation.java
	java/sql/DatabaseMetaData.java java/sql/Date.java
	java/sql/Driver.java java/sql/DriverManager.java
	java/sql/DriverPropertyInfo.java
	java/sql/PreparedStatement.java java/sql/Ref.java
	java/sql/ResultSet.java java/sql/ResultSetMetaData.java
	java/sql/SQLData.java java/sql/SQLException.java
	java/sql/SQLInput.java java/sql/SQLOutput.java
	java/sql/SQLWarning.java java/sql/Statement.java
	java/sql/Struct.java java/sql/Time.java
	java/sql/Timestamp.java java/sql/Types.java
	java/text/Annotation.java
	java/text/AttributedCharacterIterator.java
	java/text/AttributedString.java
	java/text/AttributedStringIterator.java
	java/text/BreakIterator.java java/text/CharacterIterator.java
	java/text/ChoiceFormat.java java/text/Collator.java
	java/text/DateFormat.java java/text/DateFormatSymbols.java
	java/text/DecimalFormat.java
	java/text/DecimalFormatSymbols.java
	java/text/FieldPosition.java java/text/Format.java
	java/text/MessageFormat.java java/text/NumberFormat.java
	java/text/ParseException.java java/text/ParsePosition.java
	java/text/SimpleDateFormat.java
	java/text/StringCharacterIterator.java
	java/util/AbstractCollection.java java/util/AbstractList.java
	java/util/AbstractMap.java
	java/util/AbstractSequentialList.java
	java/util/AbstractSet.java java/util/ArrayList.java
	java/util/Arrays.java java/util/BasicMapEntry.java
	java/util/BitSet.java java/util/Calendar.java
	java/util/Collection.java java/util/Collections.java
	java/util/Comparator.java
	java/util/ConcurrentModificationException.java
	java/util/Date.java java/util/Dictionary.java
	java/util/EmptyStackException.java java/util/Enumeration.java
	java/util/EventListener.java java/util/EventObject.java
	java/util/GregorianCalendar.java java/util/HashMap.java
	java/util/HashSet.java java/util/Hashtable.java
	java/util/IdentityHashMap.java java/util/Iterator.java
	java/util/LinkedHashMap.java java/util/LinkedHashSet.java
	java/util/LinkedList.java java/util/List.java
	java/util/ListIterator.java java/util/ListResourceBundle.java
	java/util/Locale.java java/util/Map.java
	java/util/MissingResourceException.java
	java/util/NoSuchElementException.java
	java/util/Observable.java java/util/Observer.java
	java/util/Properties.java java/util/PropertyPermission.java
	java/util/PropertyResourceBundle.java java/util/Random.java
	java/util/RandomAccess.java java/util/ResourceBundle.java
	java/util/Set.java java/util/SimpleTimeZone.java
	java/util/SortedMap.java java/util/SortedSet.java
	java/util/Stack.java java/util/StringTokenizer.java
	java/util/TimeZone.java java/util/Timer.java
	java/util/TimerTask.java
	java/util/TooManyListenersException.java
	java/util/TreeMap.java java/util/TreeSet.java
	java/util/Vector.java java/util/WeakHashMap.java
	java/util/jar/Attributes.java java/util/jar/JarEntry.java
	java/util/jar/JarException.java java/util/jar/JarFile.java
	java/util/jar/JarInputStream.java
	java/util/jar/JarOutputStream.java java/util/jar/Manifest.java
	java/util/zip/Adler32.java java/util/zip/CRC32.java
	java/util/zip/CheckedInputStream.java
	java/util/zip/CheckedOutputStream.java
	java/util/zip/Checksum.java
	java/util/zip/DataFormatException.java
	java/util/zip/Deflater.java
	java/util/zip/DeflaterOutputStream.java
	java/util/zip/GZIPInputStream.java
	java/util/zip/GZIPOutputStream.java
	java/util/zip/Inflater.java
	java/util/zip/InflaterInputStream.java
	java/util/zip/ZipConstants.java java/util/zip/ZipEntry.java
	java/util/zip/ZipException.java java/util/zip/ZipFile.java
	java/util/zip/ZipInputStream.java
	java/util/zip/ZipOutputStream.java
	javax/naming/BinaryRefAddr.java
	javax/naming/InvalidNameException.java javax/naming/Name.java
	javax/naming/NamingException.java javax/naming/RefAddr.java
	javax/naming/StringRefAddr.java: Add license clarification.

2002-01-22  Tom Tromey  <tromey@redhat.com>

	* java/awt/peer/ButtonPeer.java: Replace with Classpath version.
	* java/awt/peer/CanvasPeer.java: Replace with Classpath version.
	* java/awt/peer/CheckboxMenuItemPeer.java: Replace with Classpath
	version.
	* java/awt/peer/CheckboxPeer.java: Replace with Classpath version.
	* java/awt/peer/ChoicePeer.java: Replace with Classpath version.
	* java/awt/peer/ComponentPeer.java: Replace with Classpath version.
	* java/awt/peer/ContainerPeer.java: Replace with Classpath version.
	* java/awt/peer/DialogPeer.java: Replace with Classpath version.
	* java/awt/peer/FileDialogPeer.java: Replace with Classpath version.
	* java/awt/peer/FontPeer.java: Replace with Classpath version.
	* java/awt/peer/FramePeer.java: Replace with Classpath version.
	* java/awt/peer/LabelPeer.java: Replace with Classpath version.
	* java/awt/peer/LightweightPeer.java: Replace with Classpath version.
	* java/awt/peer/ListPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuBarPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuComponentPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuItemPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuPeer.java: Replace with Classpath version.
	* java/awt/peer/PanelPeer.java: Replace with Classpath version.
	* java/awt/peer/PopupMenuPeer.java: Replace with Classpath version.
	* java/awt/peer/ScrollPanePeer.java: Replace with Classpath version.
	* java/awt/peer/ScrollbarPeer.java: Replace with Classpath version.
	* java/awt/peer/TextAreaPeer.java: Replace with Classpath version.
	* java/awt/peer/TextComponentPeer.java: Replace with Classpath version.
	* java/awt/peer/TextFieldPeer.java: Replace with Classpath version.
	* java/awt/peer/WindowPeer.java: Replace with Classpath version.
	* gnu/awt/xlib/XPanelPeer.java (insets): New method.
	* gnu/awt/xlib/XCanvasPeer.java (show, hide): New methods.
	(minimumSize, preferredSize, reshape): Likewise.
	* gnu/awt/xlib/XFramePeer.java (insets, enable, disable,
	getColorModel): New methods.
	* java/awt/PopupMenu.java: Merged with Classpath.
	* java/awt/MenuBar.java: Merged with Classpath.
	* java/awt/SystemColor.java: Replace with Classpath version.
	* java/awt/Panel.java: Merged with Classpath.
	* java/awt/PaintContext.java: Updated copyright.
	* java/awt/MenuShortcut.java: Merged with Classpath.
	* java/awt/MenuContainer.java: Merged with Classpath.
	* java/awt/Menu.java: Merged with Classpath.
	* java/awt/MediaEntry.java: New file from Classpath.
	* java/awt/MediaTracker.java: New file from Classpath.
	* java/awt/List.java: Merged with Classpath version.
	* java/awt/Insets.java: Merged with Classpath version.
	* java/awt/ImageMediaEntry.java: New file from Classpath.
	* java/awt/Image.java: Replaced with Classpath version.
	* java/awt/FontMetrics.java: Merged with Classpath version.
	* java/awt/Cursor.java (getDefaultCursor): Use DEFAULT_CURSOR
	constant.
	* java/awt/Font.java: Merged with Classpath version.
	* java/awt/Dialog.java: Merged with Classpath version.
	* java/awt/Color.java: Merged with Classpath version.
	* java/awt/Choice.java: Merged with Classpath version.
	* java/awt/CheckboxMenuItem.java: Merged with Classpath version.
	* java/awt/Adjustable.java: Replace with Classpath version.
	* java/awt/MenuItem.java (paramString): Don't include class name
	or brackets.  Call superclass paramString.
	* java/awt/MenuComponent.java (toString): Call paramString.
	(paramString): Compute string; don't call toString.
	* java/awt/Label.java (paramString): Don't include class name
	or brackets.  Call superclass paramString.
	* java/awt/Checkbox.java (paramString): Don't include class name
	or brackets.  Call superclass paramString.
	* java/awt/Button.java (paramString): Don't include class name or
	brackets.  Call superclass paramString.
	* java/awt/MenuComponent.java (getTreeLock): Now protected.

2002-01-20  Andreas Schwab  <schwab@suse.de>

	* java/net/natPlainSocketImpl.cc (_Jv_recv): Change return type of
	function and of parameter recv_func to ssize_t, as specified by
	POSIX.

2002-01-19  Per Bothner  <per@bothner.com>

	* java/util/zip/ZipOutputStream.java (putNextEntry):  Clear
	uncompressed_size in readiness for next entry.

2002-01-18  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainSocketImpl.cc: Include
	IllegalArgumentException.h.
	(_Jv_recv): New template function.
	(BooleanClass): Removed.
	(read): Use _Jv_recv.
	(setOption): Use Boolean::class$.  Throw exception if object is
	not Boolean or Integer.

2002-01-17  Tom Tromey  <tromey@redhat.com>

	* java/awt/MenuComponent.java: Merged with Classpath.
	* java/awt/MenuItem.java: Merged with Classpath.
	* java/awt/Button.java: Merged with Classpath.

	* java/awt/ActiveEvent.java: Updated copyright.

	* java/awt/AWTError.java: Replaced with Classpath version.
	* java/awt/AWTException.java: Replaced with Classpath version.
	* java/awt/IllegalComponentStateException.java: Replaced with
	Classpath version.

2002-01-16  Tom Tromey  <tromey@redhat.com>

	* java/awt/Canvas.java (serialVersionUID): New constant.
	Updated copyright.  Added javadoc from Classpath.
	* java/awt/ItemSelectable.java: Replaced with Classpath version.

	* java/awt/CheckboxGroup.java: Merged with Classpath.
	* java/awt/Checkbox.java: Merged with Classpath.

	* java/awt/Dimension.java: Updated copyright.  Added javadoc from
	Classpath.
	* java/awt/Point.java: Updated copyright.

	* java/awt/Point.java (toString): Use getClass().getName().
	Added javadoc.

	* java/util/IdentityHashMap.java (IdentityHashMap): Removed
	commented code.
	(hash): Correctly compute initial value for `h'.

	* java/awt/Label.java: Merged with Classpath.

2002-01-15  Tom Tromey  <tromey@redhat.com>

	* java/awt/AWTPermission.java: Updated copyright.

	* java/awt/LayoutManager2.java: Merged with Classpath.
	* java/awt/LayoutManager.java: Merged with Classpath.
	* java/awt/GridLayout.java: Updated copyright and javadoc.
	(getSize): Use `parent.ncomponents'.  Handle insets.
	(layoutContainer): Use `parent.ncomponents'.  Handle case where
	there are fewer children than columns.  Correctly compute size of
	each cell in the grid.  Handle case where there isn't enough
	space.
	* java/awt/CardLayout.java (tab): Renamed from `map'.  Updated
	all users.
	(gotoComponent): Use parent.ncomponents.  Ensure child exists
	before calling setVisible() on it.  Last item is `num - 1', not
	`num'.
	(layoutContainer): Hoist invariants out of loop.

	Start of AWT merge with Classpath:
	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Reference files in
	gnu/java/awt, not gnu/gcj/awt.
	* java/awt/image/BufferedImage.java: Updated copyright.
	* java/awt/image/ComponentColorModel.java: Updated copyright.
	* java/awt/image/ComponentSampleModel.java: Updated copyright.
	* java/awt/image/DataBuffer.java: Updated copyright.
	* java/awt/image/DataBufferByte.java: Updated copyright.
	* java/awt/image/DataBufferInt.java: Updated copyright.
	* java/awt/image/DataBufferUShort.java: Updated copyright.
	* java/awt/image/IndexColorModel.java: Updated copyright.
	* java/awt/image/PackedColorModel.java: Updated copyright.
	* java/awt/image/Raster.java: Updated copyright.
	* java/awt/image/RasterOp.java: Updated copyright.
	* java/awt/image/SampleModel.java: Updated copyright.
	* java/awt/image/SinglePixelPackedSampleModel.java: Updated copyright.
	* java/awt/image/WritableRaster.java: Updated copyright.
	* java/awt/color/ColorSpace.java: Updated copyright.
	* java/awt/color/ICC_ColorSpace.java: Updated copyright
	* java/awt/color/ICC_Profile.java: Updated copyright.
	* java/awt/event/HierarchyBoundsAdapter.java: Updated copyright.
	* java/awt/event/HierarchyBoundsListener.java: Updated copyright.
	* java/awt/event/HierarchyEvent.java: Updated copyright.
	* java/awt/event/HierarchyListener.java: Updated copyright.
	* java/awt/geom/AffineTransform.java: Updated copyright.
	* java/awt/geom/Dimension2D.java: Updated copyright.
	* java/awt/geom/Ellipse2D.java: Updated copyright.
	* java/awt/geom/IllegalPathStateException.java: Updated copyright.
	* java/awt/geom/Line2D.java: Updated copyright.
	* java/awt/geom/NoninvertibleTransformException.java: Updated
	copyright.
	* java/awt/geom/PathIterator.java: Updated copyright.
	* java/awt/geom/Point2D.java: Updated copyright.
	* java/awt/geom/Rectangle2D.java: Updated copyright.
	* java/awt/geom/RectangularShape.java: Updated copyright.
	* java/awt/geom/RoundRectangle2D.java: Updated copyright.
	* java/awt/Toolkit.java: Updated import for file moves.
	* java/awt/Rectangle.java: Updated copyright; added javadoc from
	Classpath.
	(hashCode): New method from Classpath.
	* java/awt/Graphics2D.java: Updated copyright.
	* java/awt/Transparency.java: Updated copyright.
	* java/awt/Paint.java: Updated copyright.
	* java/awt/Graphics.java: New version from Classpath.
	* java/awt/EventDispatchThread.java: Updated copyright.
	* java/awt/CardLayout.java (layoutContainer): Don't skip invisible
	children.
	(gotoComponent): Wrap around on next/previous.
	* gnu/gcj/awt/BitMaskExtent.java: Removed.
	* gnu/gcj/awt/Buffers.java: Removed.
	* gnu/gcj/awt/ComponentDataBlitOp.java: Removed.
	* gnu/gcj/awt/GLightweightPeer.java: Removed.
	* gnu/java/awt/BitMaskExtent.java: Added.
	* gnu/java/awt/Buffers.java: Added.
	* gnu/java/awt/ComponentDataBlitOp.java: Added.
	* gnu/java/awt/GLightweightPeer.java: Added.
	* java/awt/geom/Line2D.java (clone): Ignore
	CloneNotSupportedException.
	* gnu/gcj/awt/GLightweightPeer.java (getColorModel): New method.
	* java/awt/Frame.java: Merged with Classpath.
	* java/awt/RenderingHints.java: Copyright update.
	* java/awt/Paint.java: Copyright update.
	* java/awt/image/DirectColorModel.java: Merged with Classpath.
	* java/awt/image/ColorModel.java: Merged with Classpath.
	* java/awt/Window.java (show): New Implementation from Classpath.
	(isShowing): Use super.isShowing().
	* java/awt/EventQueue.java: Merged with Classpath.
	* java/awt/AWTEventMulticaster.java (save): Throw
	RuntimeException.
	(saveInternal): Likewise.
	* java/awt/AWTEvent.java: Now implements Serializable.
	* java/awt/Event.java: Copyright update.
	* java/awt/peer/ComponentPeer.java: Merged with Classpath.
	* java/awt/image/BufferedImage.java: Copyright update.
	* java/awt/GraphicsConfiguration.java: Copyright update.
	* java/awt/Component.java: (addNotify): Don't call
	addNotifyContainerChildren().
	(addNotifyContainerChildren): Removed.
	(setPeer): New method from Classpath.
	(setTreeLock): Likewise.
	(setVisible): Rewrote.
	(show): Use it.
	(hide): Likewise.
	(validate): Set `valid'.
	(checkImage(Image,ImageObserver)): Implementation from Classpath.
	(createImage(ImageProducer)): Likewise.
	(prepareImage): Likewise.
	* java/awt/Container.java (addImpl): Handle case where constraint
	is not a String.  Post event via system event queue.
	(remove): Post event via system event queue.
	(validateTree): Only validate child if it is invalid.
	(getAlignmentX): Call super method as default.
	(getAlignmentY): Likewise.
	(addContainerListener): Now synchronized.
	(removeContainerListener): Likewise.
	(addNotifyContainerChildren): Now private.
	* java/awt/ComponentOrientation.java: Updated copyright.  Added
	@author.
	* java/awt/FlowLayout.java (serialVersionUID): New field.
	(setAlignment): Better exception message.
	(layoutContainer): Don't compute component's preferred size unless
	we're going to use it.
	* java/awt/BorderLayout.java (AFTER_LAST_LINE, AFTER_LINE_ENDS,
	BEFORE_FIRST_LINE, BEFORE_LINE_BEGINS): New constants.
	(firstLine, lastLine, firstItem, lastItem): New fields.
	(addLayoutComponent): Handle case where constraints is null.
	Also, handle relative locations.
	(removeLayoutComponent): Handle relative locations.
	(MIN, MAX, PREF): New constants.
	(calcCompSize): New method.
	(calcSize): New method.
	(minimumLayoutSize): Use it.
	(preferredLayoutSize): Likewise.
	(maximumLayoutSize): Likewise.
	(toString): Include more information.
	(setBounds): New method.
	(layoutContainer): Use libgcj implementation; extended to handle
	relative locations.

2002-01-15  Tom Tromey  <tromey@redhat.com>

	* java/lang/Float.java (equals): Preserve old code.
	* java/lang/Double.java (equals): Preserve old code.

2002-01-15  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Double.java (equals, compare): Fix 0.0 vs. -0.0 math.
	* java/lang/Float.java (equals, compare): Ditto.

2002-01-13  Mark Wielaard  <mark@klomp.org>

	* java/net/DatagramSocket.java (getReceiveBufferSize): new 1.2 method.
	* java/net/DatagramSocket.java (getSendBufferSize): Likewise.
	* java/net/DatagramSocket.java (setReceiveBufferSize): Likewise.
	* java/net/DatagramSocket.java (setSendBufferSize): Likewise.

2002-01-11  Mark Wielaard  <mark@klomp.org>

	* java/net/InetAddress.java (ANY_IF): moved from ServerSocket.
	* java/net/DatagramSocket.java (DatagramSocket): use ANY_IF from
	InetAddress.
	* java/net/MulticastSocket.java (MulticastSocket): Likewise.
	* java/net/Socket.java: Merge with Classpath.
	* java/net/ServerSocket.java: Likewise.

2002-01-11  Chris Sears  <cbsears_sf@yahoo.com>

	* interpret.cc (NULLARRAYCHECK): New macro.
	(SAVE_PC): Just store `pc'.
	(find_exception): Subtract one from `pc' here.
	(continue1) [insn_iaload, insn_laload, insn_faload, insn_daload,
	insn_aaload, insn_baload, insn_caload, insn_saload, insn_iastore,
	insn_lastore, insn_fastore, insn_dastore, insn_aastore,
	insn_bastore, insn_castore, insn_sastore]: Use NULLARRAYCHECK, and
	don't call SAVE_PC.
	(continue1) [insn_fdiv, insn_ddiv, insn_frem, insn_drem]: Don't
	call SAVE_PC.

2002-01-11  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (init_properties): Only look for default
	locale if LC_MESSAGES is defined.
	* aclocal.m4, configure, include/config.h.in: Rebuilt.
	* configure.in: Call AM_LC_MESSAGES.
	* acinclude.m4 (AM_LC_MESSAGES): New macro.

2002-01-10  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/5303:
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Handle --help and
	--version.  Recognize GNU-style long options.  Print GNU-style
	error messages.
	(usage): Print GNU-style help.  Exit with status 0.
	(error): New method.
	(run): Print error message if no class names found.
	(main): Don't print usage on error.

2002-01-09  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/convert/Convert.java (version): Use java.vm.name
	property.
	(help, version): Use println(), not println("").

	For PR libgcj/5303:
	* gnu/gcj/convert/Convert.java (error): Program is called
	`jv-convert'.  Print GNU-style message.  Exit with status 1, not
	-1.
	(main): Handle --help and --version.
	(help): New method.
	(version): Likewise.

2002-01-08  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* gnu/java/locale/LocaleInformation.java: Extend
	LocaleInformation_en.
	* gnu/java/locale/LocaleInformation_en.java: Added zone strings
	and time/date formats.
	* gnu/java/locale/LocaleInformation_en_US.java: Now automatically
	generated.
	* gnu/java/locale/LocaleInformation_af_ZA.java: New file.
	* gnu/java/locale/LocaleInformation_ar_AE.java: New file.
	* gnu/java/locale/LocaleInformation_ar_BH.java: New file.
	* gnu/java/locale/LocaleInformation_ar_DZ.java: New file.
	* gnu/java/locale/LocaleInformation_ar_EG.java: New file.
	* gnu/java/locale/LocaleInformation_ar_IN.java: New file.
	* gnu/java/locale/LocaleInformation_ar_IQ.java: New file.
	* gnu/java/locale/LocaleInformation_ar_JO.java: New file.
	* gnu/java/locale/LocaleInformation_ar_KW.java: New file.
	* gnu/java/locale/LocaleInformation_ar_LB.java: New file.
	* gnu/java/locale/LocaleInformation_ar_LY.java: New file.
	* gnu/java/locale/LocaleInformation_ar_MA.java: New file.
	* gnu/java/locale/LocaleInformation_ar_OM.java: New file.
	* gnu/java/locale/LocaleInformation_ar_QA.java: New file.
	* gnu/java/locale/LocaleInformation_ar_SD.java: New file.
	* gnu/java/locale/LocaleInformation_ar_SY.java: New file.
	* gnu/java/locale/LocaleInformation_ar_TN.java: New file.
	* gnu/java/locale/LocaleInformation_ar_YE.java: New file.
	* gnu/java/locale/LocaleInformation_be_BY.java: New file.
	* gnu/java/locale/LocaleInformation_bn_IN.java: New file.
	* gnu/java/locale/LocaleInformation_br_FR.java: New file.
	* gnu/java/locale/LocaleInformation_bs_BA.java: New file.
	* gnu/java/locale/LocaleInformation_ca_ES.java: New file.
	* gnu/java/locale/LocaleInformation_cs_CZ.java: New file.
	* gnu/java/locale/LocaleInformation_cy_GB.java: New file.
	* gnu/java/locale/LocaleInformation_da_DK.java: New file.
	* gnu/java/locale/LocaleInformation_de_AT.java: New file.
	* gnu/java/locale/LocaleInformation_de_BE.java: New file.
	* gnu/java/locale/LocaleInformation_de_CH.java: New file.
	* gnu/java/locale/LocaleInformation_de_DE.java: New file.
	* gnu/java/locale/LocaleInformation_de_LU.java: New file.
	* gnu/java/locale/LocaleInformation_el_GR.java: New file.
	* gnu/java/locale/LocaleInformation_en_AU.java: New file.
	* gnu/java/locale/LocaleInformation_en_BW.java: New file.
	* gnu/java/locale/LocaleInformation_en_CA.java: New file.
	* gnu/java/locale/LocaleInformation_en_DK.java: New file.
	* gnu/java/locale/LocaleInformation_en_GB.java: New file.
	* gnu/java/locale/LocaleInformation_en_HK.java: New file.
	* gnu/java/locale/LocaleInformation_en_IE.java: New file.
	* gnu/java/locale/LocaleInformation_en_IN.java: New file.
	* gnu/java/locale/LocaleInformation_en_NZ.java: New file.
	* gnu/java/locale/LocaleInformation_en_PH.java: New file.
	* gnu/java/locale/LocaleInformation_en_SG.java: New file.
	* gnu/java/locale/LocaleInformation_en_ZA.java: New file.
	* gnu/java/locale/LocaleInformation_en_ZW.java: New file.
	* gnu/java/locale/LocaleInformation_es_AR.java: New file.
	* gnu/java/locale/LocaleInformation_es_BO.java: New file.
	* gnu/java/locale/LocaleInformation_es_CL.java: New file.
	* gnu/java/locale/LocaleInformation_es_CO.java: New file.
	* gnu/java/locale/LocaleInformation_es_CR.java: New file.
	* gnu/java/locale/LocaleInformation_es_DO.java: New file.
	* gnu/java/locale/LocaleInformation_es_EC.java: New file.
	* gnu/java/locale/LocaleInformation_es_ES.java: New file.
	* gnu/java/locale/LocaleInformation_es_GT.java: New file.
	* gnu/java/locale/LocaleInformation_es_HN.java: New file.
	* gnu/java/locale/LocaleInformation_es_MX.java: New file.
	* gnu/java/locale/LocaleInformation_es_NI.java: New file.
	* gnu/java/locale/LocaleInformation_es_PA.java: New file.
	* gnu/java/locale/LocaleInformation_es_PE.java: New file.
	* gnu/java/locale/LocaleInformation_es_PR.java: New file.
	* gnu/java/locale/LocaleInformation_es_PY.java: New file.
	* gnu/java/locale/LocaleInformation_es_SV.java: New file.
	* gnu/java/locale/LocaleInformation_es_US.java: New file.
	* gnu/java/locale/LocaleInformation_es_UY.java: New file.
	* gnu/java/locale/LocaleInformation_es_VE.java: New file.
	* gnu/java/locale/LocaleInformation_et_EE.java: New file.
	* gnu/java/locale/LocaleInformation_eu_ES.java: New file.
	* gnu/java/locale/LocaleInformation_fa_IR.java: New file.
	* gnu/java/locale/LocaleInformation_fi_FI.java: New file.
	* gnu/java/locale/LocaleInformation_fo_FO.java: New file.
	* gnu/java/locale/LocaleInformation_fr_BE.java: New file.
	* gnu/java/locale/LocaleInformation_fr_CA.java: New file.
	* gnu/java/locale/LocaleInformation_fr_CH.java: New file.
	* gnu/java/locale/LocaleInformation_fr_FR.java: New file.
	* gnu/java/locale/LocaleInformation_fr_LU.java: New file.
	* gnu/java/locale/LocaleInformation_ga_IE.java: New file.
	* gnu/java/locale/LocaleInformation_gd_GB.java: New file.
	* gnu/java/locale/LocaleInformation_gl_ES.java: New file.
	* gnu/java/locale/LocaleInformation_gv_GB.java: New file.
	* gnu/java/locale/LocaleInformation_he_IL.java: New file.
	* gnu/java/locale/LocaleInformation_hi_IN.java: New file.
	* gnu/java/locale/LocaleInformation_hr_HR.java: New file.
	* gnu/java/locale/LocaleInformation_hu_HU.java: New file.
	* gnu/java/locale/LocaleInformation_id_ID.java: New file.
	* gnu/java/locale/LocaleInformation_it_CH.java: New file.
	* gnu/java/locale/LocaleInformation_it_IT.java: New file.
	* gnu/java/locale/LocaleInformation_iw_IL.java: New file.
	* gnu/java/locale/LocaleInformation_ja_JP.java: New file.
	* gnu/java/locale/LocaleInformation_ka_GE.java: New file.
	* gnu/java/locale/LocaleInformation_kl_GL.java: New file.
	* gnu/java/locale/LocaleInformation_ko_KR.java: New file.
	* gnu/java/locale/LocaleInformation_kw_GB.java: New file.
	* gnu/java/locale/LocaleInformation_lt_LT.java: New file.
	* gnu/java/locale/LocaleInformation_lv_LV.java: New file.
	* gnu/java/locale/LocaleInformation_mi_NZ.java: New file.
	* gnu/java/locale/LocaleInformation_mk_MK.java: New file.
	* gnu/java/locale/LocaleInformation_mr_IN.java: New file.
	* gnu/java/locale/LocaleInformation_mt_MT.java: New file.
	* gnu/java/locale/LocaleInformation_nl_BE.java: New file.
	* gnu/java/locale/LocaleInformation_nl_NL.java: New file.
	* gnu/java/locale/LocaleInformation_nn_NO.java: New file.
	* gnu/java/locale/LocaleInformation_no_NO.java: New file.
	* gnu/java/locale/LocaleInformation_oc_FR.java: New file.
	* gnu/java/locale/LocaleInformation_pl_PL.java: New file.
	* gnu/java/locale/LocaleInformation_pt_BR.java: New file.
	* gnu/java/locale/LocaleInformation_pt_PT.java: New file.
	* gnu/java/locale/LocaleInformation_ro_RO.java: New file.
	* gnu/java/locale/LocaleInformation_ru_RU.java: New file.
	* gnu/java/locale/LocaleInformation_ru_UA.java: New file.
	* gnu/java/locale/LocaleInformation_se_NO.java: New file.
	* gnu/java/locale/LocaleInformation_sk_SK.java: New file.
	* gnu/java/locale/LocaleInformation_sl_SI.java: New file.
	* gnu/java/locale/LocaleInformation_sq_AL.java: New file.
	* gnu/java/locale/LocaleInformation_sr_YU.java: New file.
	* gnu/java/locale/LocaleInformation_sv_FI.java: New file.
	* gnu/java/locale/LocaleInformation_sv_SE.java: New file.
	* gnu/java/locale/LocaleInformation_ta_IN.java: New file.
	* gnu/java/locale/LocaleInformation_te_IN.java: New file.
	* gnu/java/locale/LocaleInformation_tg_TJ.java: New file.
	* gnu/java/locale/LocaleInformation_tl_PH.java: New file.
	* gnu/java/locale/LocaleInformation_tr_TR.java: New file.
	* gnu/java/locale/LocaleInformation_uk_UA.java: New file.
	* gnu/java/locale/LocaleInformation_ur_PK.java: New file.
	* gnu/java/locale/LocaleInformation_uz_UZ.java: New file.
	* gnu/java/locale/LocaleInformation_vi_VN.java: New file.
	* gnu/java/locale/LocaleInformation_yi_US.java: New file.
	* gnu/java/locale/LocaleInformation_zh_CN.java: New file.
	* gnu/java/locale/LocaleInformation_zh_HK.java: New file.
	* gnu/java/locale/LocaleInformation_zh_SG.java: New file.
	* gnu/java/locale/LocaleInformation_zh_TW.java: New file.

	For PR libgcj/5031:
	* java/lang/natSystem.cc (init_properties): Use LC_MESSAGES to
	choose default locale.

	* Makefile.in: Rebuilt.
	* Makefile.am (jv_convert_LDADD): Removed convert_source_files.

2002-01-08  Nic Ferrier  <nferrier@tf1.tapsellferrier.co.uk>

	* java/net/natPlainSocketImpl.cc: Added timeout handling for
	sockets.
	(close): New function closes the socket.
	(write): New functions for output to socket.
	(read): New functions for reading from socket.
	* java/net/PlainSocketImpl.java: Glue for new timeout
	implementation.
	(write): Call the native impl.
	(read): Likewise.
	(getInputStream): Get a stream to read from the socket.
	(getOutputStream): Get a stream to write to the socket.

2002-01-08  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (_Jv_PrepareClass): Enable verifier.

2002-01-07  Andreas Tobler <a.tobler@schweiz.ch>

	* java/lang/reflect/natMethod.cc: Don't include alloca.h.
	(_Jv_CallAnyMethodA): Convert alloca to __builtin_alloca.

2002-01-08  Chris Sears  <cbsears_sf@yahoo.com>

	* interpret.cc (ARRAYBOUNDSCHECK): New macro.
	(continue1) [insn_iaload, insn_laload, insn_faload, insn_daload,
	insn_aaload, insn_baload, insn_caload, insn_saload, insn_iastore,
	insn_lastore, insn_fastore, insn_dastore, insn_aastore,
	insn_bastore, insn_castore, insn_sastore]: Use it.
	(continue1) [insn_arraylength]: Check for null array.

2002-01-06 Andreas Tobler <a.tobler@schweiz.ch>

	* configure, include/config.h.in: Rebuilt.
	* java/lang/natSystem.cc (getSystemTimeZone): Check HAVE_TM_ZONE.
	* configure.in: Call AC_STRUCT_TIMEZONE.

2002-01-02 Andreas Tobler <a.tobler@schweiz.ch>

	* configure.host: Disable the interpreter for Darwin.

2002-01-04  Tom Tromey  <tromey@redhat.com>

	* java/lang/Thread.java (stop): No longer synchronized.
	(start): Likewise.

2002-01-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/ieeefp.h: Fix bug in my hand-application of previous
	patch.

2002-1-1  Andrew Pinski  <pinskia@physics.uc.edu>

	* libjava/java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for
	PPC Darwin, not for all of Darwin.
