2007-12-22  David Daney  <ddaney@avtrex.com>

	* scripts/makemake.tcl (emit_bc_rule): Use $(LIBGCJ_BC_FLAGS)
	instead of -findirect-dispatch -fno-indirect-classes.
	* configure.ac (libgcj-bc): New AC_ARG_ENABLE.
	(SUPPRESS_LIBGCJ_BC): New AM_CONDITIONAL.
	* Makefile.am (LIBGCJ_BC_FLAGS): New variable.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* configure: Same.
	* gcj/Makefile.in: Same.
	* sources.am: Same.
	
2007-12-17  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/Makefile.am (compile-tests): Build
	libjava.jvmti/interp/*.h with -jni rather than -cni.
	* testsuite/Makefile.in: Rebuilt.

2007-12-08  Andreas Tobler  <a.tobler@schweiz.org>

	* configure.host: Add bits for i?86-*-darwin9 and x86_64-*-darwin9.
	* configure.ac: Add darwin-signal.h to x86_64-*-darwin9 and
	i?86-*darwin9.
	* configure.in: Regenerate.
	* darwin.cc: Add definitions for Darwin specific functions for 64-bit.
	(darwin_java_register_dyld_add_image_hook): Use this specific
	functions.
	* Makefile.am (gij_LDFLAGS): Add extra_gij_ldflags for Darwin9.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Likewise.
	* gcj/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* testsuite/lib/libjava.exp (libjava_arguments): Add allow_stack_execute
	for *-*-darwin9*.

2007-12-06  David Daney  <ddaney@avtrex.com>

	* interpret.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE throughout.
	(ncode_closure, ffi_closure_fun): Define versions for
	non-FFI_NATIVE_RAW_API case.
	* include/java-interp.h (INTERP_FFI_RAW_TYPE): Define and use to
	replace	ffi_raw throughout.
	* jni.cc, interpret-run.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE
	throughout.

2007-12-06  Andreas Tobler  <a.tobler@schweiz.org>

	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Make
	the testsuite multilib aware for Darwin.

2007-12-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h: Regenerate.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.h: Likewise.
	* java/awt/Component.h: Likewise.
	* java/awt/Container.h: Likewise.

2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Don't run config-ml.in directly.
	(multilib_arg): New.
	* configure: Regenerated.

2007-10-22  David Daney  <ddaney@avtrex.com>

	* include/jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.
	* boehm.cc (_Jv_SetGCFreeSpaceDivisor): Define it.

2007-10-18  David Daney  <ddaney@avtrex.com>

	* classpath/lib/gnu/java/locale/LocaleData.class: Regenerate
	* classpath/lib/gnu/javax/sound/sampled/gstreamer: Add generated
	files.
	* gnu/javax/sound/sampled/gstreamer: Add generated files.
	
2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>

	* configure: Regenerate following changes to ../config/tls.m4.

2007-09-17  Tom Tromey  <tromey@redhat.com>

	* defineclass.cc (MAJOR_1_6): New define.
	(MINOR_1_6): Likewise.
	(_Jv_ClassReader::parse): Handle 1.6 bytecode.

2007-09-12  David Daney  <ddaney@avtrex.com>

	* configure.host: Enable interpreter for mips64.  Enable hash
	synchronization for all mips*-*-linux* targets.
	* sysdep/mips/locks.h (compare_and_swap, compare_and_swap_release) Use
	__sync_bool_compare_and_swap instead of in-line asm.
	(release_set, read_barrier, write_barrier): Use __sync_synchronize
	instead of in-line asm.

2007-09-09  Andreas Tobler  <a.tobler@schweiz.org>

	PR libgcj/33326
	* testsuite/lib/libjava.exp (libjava_arguments): Append the test spec
	only for linux targets.

2007-09-09  Andrew Haley  <aph@redhat.com>

	* interpret-run.cc (invokevirtual_resolved): Nullcheck object on
	TOS.

2007-09-06  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.lang/StackTrace2.jar: Rebuilt.
	* testsuite/libjava.lang/StackTrace2.java (checkLine): Print file
	name.

2007-09-06  Roman Zippel  <zippel@linux-m68k.org>

	* sysdep/m68k/locks.h: New file.
	* configure.host: Set sysdeps_dir and libgcj_interpreter for m68k.
	* configure.ac: Set SIGNAL_HANDLER for m68*-*-linux*.
	* configure: Regenerate.

2007-09-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* configure.host(gnu*): Set use_libgcj_bc to yes.

2007-09-04  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Do not pass --with-native-libdir to classpath.
	* configure: Regenerate.

2007-09-04  Matthias Klose  <doko@ubuntu.com>

	PR libgcj/33278
	* configure.ac: Robustify extraction of gcj version.
	* configure: Regenerate.

2007-09-04  Andrew Haley  <aph@redhat.com>

	PR java/27908
	* testsuite/libjava.lang/PR27908.java
	({run1,run2,run3}.isRunning): New Method.
	(main): Fix race condition.

2007-08-29  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc (VMStackWalker::getCallingClass):
	Make sure we're not sibcalled.
	(GET_CALLING_CLASS): Define for ARM EABI.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.host (BACKTRACESPEC): Add arm*-linux*.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.ac (LIBSTDCXXSPEC): New.
	* configure.host: Add arm*-linux* to pthread test.
	* configure.ac (LIBGCJTESTSPEC): Add path to libstdc++ for ARM
	EABI.
	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
	-fexceptions for ARM EABI.
	* testsuite/lib/libjava.exp (libjava_arguments): Add libgcj-test.spec.
	(libjava_invoke): Log the invocation.

2007-08-15  Andrew Haley  <aph@redhat.com>

	* configure.ac (extra_ldflags): Define.
	* Makefile.am: Use extra_ldflags for all executables.

2007-08-14  Andrew Haley  <aph@redhat.com>

	* sysdep/arm/backtrace.h: Remove stubs for _Unwind_GetIPInfo,
	_Unwind_GetRegionStart, and _Unwind_Backtrace.

2007-07-27  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc (GET_CALLING_CLASS): Stub for
	ARM EABI.
	* exception.cc (get_exception_header_from_ue): New.
	(get_ttype_entry): ARM EABI version.
	(PERSONALITY_FUNCTION): Add ARM EABI code.
	* sysdep/arm/backtrace.h: New file.
	* stacktrace.cc (_URC_NORMAL_STOP): New.
	* configure.ac (extra_ldflags_libjava): Add libsupc++.la for ARM
	EABI.
	* configure.host (BACKTRACESPEC): Add arm/backtrace.h.

2007-08-31  Matthias Klose  <doko@ubuntu.com>

	* classpath/lib/java/util/EnumSet*.class: Regenerate

2007-08-30  Andreas Tobler  <a.tobler@schweiz.org>

	* gij.cc (version): Update Copyright year.

2007-08-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* configure.host (gnu*): Set use_libgcj_bc to yes.

2007-08-15  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.java (internalGetFields): Use LinkedHashSet.
	* classpath/lib/java/lang/Class.class: Rebuilt.

2007-08-15  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* java/lang/natPosixProcess.cc (sigchld_handler) [!SA_SIGINFO]: Remove
	'si' and 'third' parameters.  Disable calling
	pmi->old_sigaction.sa_sigaction.
	(java::lang::PosixProcess*ProcessManager::init) [!SA_SIGINFO]: Set
	sa.sa_handler instead of sa.sa_sigaction, don't set SA_SIGINFO flag.

2007-08-09  Andrew Haley  <aph@redhat.com>

	* testsuite/lib/libjava.exp (libjava_invoke): Log the invocation.

2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* java/net/natVMInetAddressPosix.cc
	(java::net::VMInetAddress::getLocalHostname) [!MAXHOSTNAMELEN]:
	Allocate buffer dynamically.

2007-08-04  Alfred M. Szmidt  <ams@gnu.org>

	* java/io/natFilePosix.cc (init_native) [!MAXPATHLEN]: Define to 0.
	* java/io/File.java (createTempFile): Don't truncate if the system
	doesn't have a limit on the length of a file name.
	* classpath/lib/java/io/File.class: Regenerate.

2007-08-04  Matthias Klose  <doko@ubuntu.com>

	Import GNU Classpath (libgcj-import-20070727).

	* Regenerate class and header files.
	* Regenerate auto* files.

	* include/jvm.h:
	* jni-libjvm.cc (Jv_JNI_InvokeFunctions): Rename type.
	* jni.cc (_Jv_JNIFunctions, _Jv_JNI_InvokeFunctions): Likewise.
	* jni.cc (_Jv_JNI_CallAnyMethodA, _Jv_JNI_CallAnyVoidMethodA,
	_Jv_JNI_CallMethodA, _Jv_JNI_CallVoidMethodA,
	_Jv_JNI_CallStaticMethodA, _Jv_JNI_CallStaticVoidMethodA,
	_Jv_JNI_NewObjectA, _Jv_JNI_SetPrimitiveArrayRegion): Constify
	jvalue parameter.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Likewise.

	* java/lang/VMFloat.java (toString, parseFloat): New.

	* gnu/awt/xlib/XToolkit.java (setAlwaysOnTop, isModalityTypeSupported,
	isModalExclusionTypeSupported): New (stub only).
	* gnu/awt/xlib/XCanvasPeer.java (requestFocus): Likewise.
	* gnu/awt/xlib/XFramePeer.java (updateMinimumSize, updateIconImages,
	updateFocusableWindowState, setModalBlocked, getBoundsPrivate,
	setAlwaysOnTop): Likewise.
	* gnu/awt/xlib/XFontPeer.java (canDisplay): Update signature.

	* scripts/makemake.tcl: Ignore gnu/javax/sound/sampled/gstreamer,
	ignore javax.sound.sampled.spi.MixerProvider, ignore .in files.

	* HACKING: Mention --enable-gstreamer-peer, removal of generated files.

2007-07-31  David Daney  <ddaney@avtrex.com>

	* HACKING: Document regenerating configure and aclocal.m4.

2007-07-31  David Daney  <ddaney@avtrex.com>

	* configure.ac (INTERPRETER): New AM_CONDITIONAL.
	* scripts/makemake.tcl (package_map): Mark jdwp and jvmti packages
	as being for interpreter only.  Place interpreter related files in
	'if INTERPRETER' block.
	(interpreter_package_files): New list.
	(interpreter_header_vars): Ditto.
	(emit_package_rule_to_list): Renamed from emit_package_rule with
	new target list parameter.
	(emit_package_rule): Rewritten to call emit_package_rule_to_list.
	(emit_interpreter_rule): New function.
	(emit_source_var): Place interpreter related files in
	interpreter_header_vars.
	* Makefile.am (ACLOCAL_AMFLAGS): Add -I libltdl.
	(libgcj_interpret_source_files): New variable.
	(libgcj_la_SOURCES): Move jvmti.cc and  interpret.cc to
	libgcj_interpret_source_files and include
	libgcj_interpret_source_files.
	(nat_jdwp_source_files): New variable.
	(nat_jvmti_source_files): Ditto.
	(nat_source_files): Move jdwp and jvmti related files to
	nat_jdwp_source_files and nat_jvmti_source_files and include
	nat_jdwp_source_files and nat_jvmti_source_files.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Ditto.
	* testsuite/Makefile.in: Ditto.
	* gcj/Makefile.in: Ditto.
	* sources.am: Ditto.
	* configure: Ditto.
	* include/config.h.in: Ditto.
	* interpret.cc: Remove #ifdef INTERPRETER block.
	* stacktrace.cc (UnwindTraceFn): Do not handle proxy frames if
	interpreter disabled.
	* include/java-interp.h (_Jv_FrameType): Move outside of
	#ifdef INTERPRETER block.
	* include/execution.h (_Jv_IndirectCompiledEngine::do_get_closure_list,
	_Jv_InterpreterEngine, _Jv_soleInterpreterEngine): Place in
	#ifdef INTERPRETER block.
	* jni.cc (jvmti.h, jvmti-int.h):  Only include if INTERPRETER is
	defined.
	(_Jv_JNI_PopSystemFrame, _Jv_JNI_GetEnv): Only do jvmti processing
	if INTERPRETER is defined.
	* prims.cc (jvmti.h, jvmti-int.h, Jdwp.h, VMVirtualMachine.h):  Only
	include if INTERPRETER is defined.
	(defaultJdwpOptions, jdwpOptions, jvmti_agent_onload_func,
	jvmti_agent_onunload_func, jvmti_agentonload, jvmti_agentonunload,
	jvmti_agent_opts, load_jvmti_agent): Only define if INTERPRETER is
	defined.
	(parse_x_arg): Only process 'runjdwp:' if INTERPRETER is defined.
	(parse_init_args): Only process jvmti related options if
	INTERPRETER is defined.
	(_Jv_CreateJavaVM): Only call _Jv_JVMTI_Init if INTERPRETER is
	defined.
	(_Jv_RunMain): Only do jvmti and jdwp processing if INTERPRETER is
	defined.
	* link.cc (jvmti.h, jvmti-int.h):  Only include if INTERPRETER is
	defined.
	(_Jv_ThrowNoClassDefFoundError, _Jv_Linker::create_error_method):
	Define if if INTERPRETER is not defined.
	(_Jv_Linker::wait_for_state): Only do jvmti proccessing if
	INTERPRETER is defined.
	* boehm.cc (closure_list_pointer, finalize_closure_list,
	_Jv_ClosureListFinalizer): Only define if INTERPRETER is
	defined.
	* java/lang/natThread.cc (jvmti.h, jvmti-int.h):  Only include if
	INTERPRETER is defined.
	(finish_, _Jv_NotifyThreadStart): Only do jvmti proccessing if
	INTERPRETER is defined.
	* java/lang/Class.h (_Jv_InterpreterEngine): Move declaration
	and friend declaration inside #ifdef INTERPRETER block.
	* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures,
	_Jv_ClosureList::registerClosure, _Jv_GetInterpClassSourceFile):
	Only define if INTERPRETER is defined.
	* java/lang/reflect/natVMProxy.cc (UnsupportedOperationException.h):
	Include.
	(generateProxyClass): Throw UnsupportedOperationException unless
	INTERPRETER is defined.

2007-07-29  Matthias Klose  <doko@ubuntu.com>

	* HACKING: Document regenerating configure.

2007-07-29  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/32929
	* aclocal.m4: Regenerated.
	* configure: Likewise.

2007-07-28  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Encode the libgcj soversion in dbexecdir,
	pass --with-native-libdir to classpath configure.
	* configure: Regenerate.

2007-07-28  Matthias Klose  <doko@ubuntu.com>

	* classpath/jvmti.h: Remove.

2007-07-27  Tom Tromey  <tromey@redhat.com>

	* Rebuild .class files with new ecj.

2007-07-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.
	* configure: Regenerate.

2007-07-16  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32340
	* configure.host (arm*-elf | strongarm*-elf | xscale*-elf): Use the
	new sysdeps/arm directory.

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

	* java/io/File.java: Implement Comparable<File>.
	(compareTo): Removed.
	* java/io/File.h: Rebuilt.
	* classpath/lib/java/io/File.class: Rebuilt.

2007-07-14  Tom Tromey  <tromey@redhat.com>

	* Rebuilt .class files.

2007-07-15  Andrew Haley  <aph@redhat.com>

	* configure.host: 
	arm*-linux-gnu -> arm*-linux*.

2007-07-14  Krister Walfridsson  <cato@df.lth.se>

	* gnu/gcj/util/natGCInfo.cc: Use HAVE_STRERROR_R.
	* configure.ac: Remove check for strerror, add check for strerror_r.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.

2007-07-13  Andrew Haley  <aph@redhat.com>

	* libgcj.ver: Add __gcj_personality_sj0.

	* testsuite/libjava.jvmti/jvmti-interp.exp: Likewise.
	* testsuite/libjava.jni/jni.exp: Use -fdollars-in-identifiers.
	* testsuite/libjava.jni/cni.exp: Use -fdollars-in-identifiers.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o): Likewise.

	* gnu/classpath/natVMStackWalker.cc (getCallingClassLoader): Check
	klass is non-null.
	* java/lang/reflect/natField.cc (getAddr): Call
	_Jv_StackTrace::GetCallingClass only if CALLER is non-null.
	* java/lang/reflect/natVMProxy.cc (run_proxy): Use
	_Jv_getFieldInternal to get field proxyClass.m.
	(_Jv_getFieldInternal): New function.

2007-07-11  Andrew Haley  <aph@redhat.com>

	* configure.host (arm*-linux-gnu): New.
	* sysdep/arm/locks.h: New.

2007-07-13  Roger Sayle  <roger@eyesopen.com>

	* java/lang/natPosixProcess.cc: Include <sys/time.h> before
	<sys/resource.h> to restore bootstrap on powerpc-apple-darwin7.9.0.

2007-07-12  Matthias Klose  <doko@ubuntu.com>

	* gnu/classpath/jdwp/util/MethodResult.h,
	gnu/classpath/jdwp/value/ObjectValue.h: Regenerate.

2007-07-11  Keith Seitz  <keiths@redhat.com>

	* interpret.cc (get_local_var_table) [DIRECT_THREADED]: Make sure the
	method is compiled.
	* testsuite/libjava.jvmti/interp/getlocalvartable.out: Revise
	for compiled methods.

2007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR libgcj/32651
	* configure.host (mips-sgi-irix6*): Set sysdeps_dir.
	Disable interpreter.
	
2007-07-05  Andreas Tobler  <a.tobler@schweiz.org>

	* java/lang/natPosixProcess.cc: Reorder includes to fix compilation
	on hppa2.0w-hp-hpux11.11.
	Remove include of <gcj/cni.h>.

2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.

2007-07-03  Andreas Tobler  <a.tobler@schweiz.org>

	* java/lang/Class.h: Remove redundant 'class java::*::* declarations.

2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR libgcj/30513
	* configure.host (i[3-6]86-*): Undef sun.

2007-06-28  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/libjava.jvmti/jvmti-interp.exp (gij_jvmti_test_one):
	Fix a typo.

2007-06-28  Jan Nijtmans  <nijtmans@users.sourceforge.net>

	PR libgcj/30999:
	* jni_md.h: Add the possibility to compile jni code with.
	-fvisibility=hidden. This causes all symbols to be hidden
	except the JNI functions which need to be exported.

2007-06-28  Andreas Tobler  <a.tobler@schweiz.org>

	* testsuite/libjava.jvmti/jvmti-interp.exp (gij_jvmti_test_one): Pass
	the cxxldlibflags to exec_gij to have the right libstdc++ invoked.

2007-07-21  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/VMVirtualMachine.h: Regenerate.

2007-07-20  Keith Seitz  <keiths@redhat.com>

	* classpath/lib/gnu/classpath/jdwp/value/StringValue.class:
	Regenerate.

2007-07-20  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/VMVirtualMachine.java (executeMethod):
	Update from reference implementation.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc (executeMethod):
	Update parameter list to match new VMVirtualMachine interface.
	* classpath/lib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.class:
	Regenerate.
	* classpath/lib/gnu/classpath/jdwp/processor/
	ObjectReferenceCommandSet.class: Regenerate.
	* classpath/lib/gnu/classpath/jdwp/value/ObjectValue.class: Regenerate.
	* classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class: Regenerate.
	* classpath/lib/gnu/classpath/jdwp/util/MethodResult.class: Regenerate.

2007-06-18  Keith Seitz  <keiths@redhat.com>

	* gnu/gcj/jvmti/Breakpoint.java: Make abstract.
	(method): Change from private to protected.
	(location): Likewise.
	(Breakpoint): Change argument list to take only integer type.
	Add default constructor.
	(initialize_native): Renamed to ...
	(_save_insn): ... this to make function more explicit.
	(execute): New method.
	* gnu/gcj/jvmti/Breakpoint.h: Regenerate.
	* gnu/gcj/jvmti/natBreakpoint.cc (initialize_native): Rename to...
	(_save_insn): ... this.
	(install): Save the original instruction.
	* gnu/gcj/jvmti/NormalBreakpoint.java: New file.
	* gnu/gcj/jvmti/NormalBreakpoint.h: New file.
	* gnu/gcj/jvmti/natNormalBreakpoint.cc: New file.
	* gnu/gcj/jvmti/BreakpointManager.java (newBreakpoint):
	Instantiate a NormalBreakpoint instead of Breakpoint.
	* interpret-run.cc (insn_breakpoint): Remove breakpoint actions
	and call Breakpoint.execute to do them.
	* classpath/lib/gnu/gcj/jvmti/Breakpoint.class: Regenerate.
	* classpath/lib/gnu/gcj/jvmti/BreakpointManager.class: Likewise.
	* classpath/lib/gnu/gcj/jvmti/NormalBreakpoint.class: New file.
	* sources.am: Regenerate.
	* Makefile.am (nat_source_files): Add natNormalBreakpoint.cc.
	* Makefile.in: Regenerated.

2007-06-14  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (_Jv_LocalVarTableEntry): Add union
	for bytecode_pc and direct-threaded pc.
	Add field descriptions inline.
	* defineclass.cc (read_one_code_attribute): Change from
	bytecode_start_pc to bytecode_pc.
	Remove unused variable "len".
	* interpret.cc (compile): Remap the variable table, too.
	(get_local_var_table) [DIRECT_THREADED]: Use insn_index on the
	start location to map from pc_t to code index.

2007-06-09  Keith Seitz  <keiths@redhat.com>

	* testsuite/libjava.jvmti/dummyagent.c (Agent_OnLoad):
	Add missing return value.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

	* java/io/natFileWin32.cc (setFilePermissions): New (stub only).
	_access: Handle EXEC query, stub only.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

	Merged from classpath:
	* gnu/java/nio/SelectorProviderImpl.java: Whitespace merge.
	* java/lang/System.java(inheritedChannel): New.
	* java/lang/Character.java: Remove stray`;'.
	* java/net/MulticastSocket.java: Merged.
	* java/text/DateFormatSymbols.java(getInstance): New, comment updates.
	* java/text/Collator.java(getInstance): Merged.
	* java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG.
	getDisplayName, getDisplayNames: New.
	* java/util/logging/Logger.java: Merged.
	* Regenerate .class and .h files.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

	* java/io/File.java: Merge with classpath-0.95, new method
	setFilePermissions, new attribute EXEC.
	* java/io/natFilePosix.cc (setFilePermissions): New.
	_access: Handle EXEC query.
	* classpath/lib/java/io/File.class, java/io/File.h: Regenerate.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

	Imported GNU Classpath 0.95.

	* classpath/Makefile.in,
	classpath/native/jni/midi-dssi/Makefile.in,
	classpath/native/jni/classpath/Makefile.in,
	classpath/native/jni/Makefile.in,
	classpath/native/jni/gconf-peer/Makefile.in,
	classpath/native/jni/java-io/Makefile.in,
	classpath/native/jni/native-lib/Makefile.in,
	classpath/native/jni/java-util/Makefile.in,
	classpath/native/jni/midi-alsa/Makefile.in,
	classpath/native/jni/java-lang/Makefile.in,
	classpath/native/jni/java-nio/Makefile.in,
	classpath/native/jni/java-net/Makefile.in,
	classpath/native/jni/xmlj/Makefile.in,
	classpath/native/jni/qt-peer/Makefile.in,
	classpath/native/jni/gtk-peer/Makefile.in,
	classpath/native/Makefile.in, classpath/native/jawt/Makefile.in,
	classpath/native/fdlibm/Makefile.in,
	classpath/native/plugin/Makefile.in,
	classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
	classpath/tools/Makefile.in, classpath/doc/Makefile.in,
	classpath/doc/api/Makefile.in, classpath/lib/Makefile.in,
	classpath/external/Makefile.in,	classpath/external/jsr166/Makefile.in,
	classpath/external/sax/Makefile.in,
	classpath/external/w3c_dom/Makefile.in,
	classpath/external/relaxngDatatype/Makefile.in,
	classpath/include/Makefile.in,
	classpath/examples/Makefile.in: Regenerate.
	* classpath/config.guess, classpath/config.sub,
	classpath/ltmain.sh : Update.
	* classpath/configure, classpath/depcomp, classpath/missing,
	classpath/aclocal.m4, classpath/install-sh: Regenerate.

	* gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95.
	* sources.am: Regenerate.
	* Makefile.in: Regenerate.

	* Update the .class files and generated CNI header files, add new
	.class and generated CNI header files.
	* Remove generated files for removed java source files:
	classpath/gnu/java/net/BASE64.java,
	classpath/gnu/java/security/util/Base64.java,
	classpath/gnu/java/awt/peer/gtk/GThreadMutex.java,
	classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
	classpath/gnu/java/awt/font/autofit/Scaler.java,
	classpath/gnu/classpath/jdwp/util/Value.java,
	classpath/gnu/javax/net/ssl/Base64.java.
	* Remove empty directories.

	* Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc.
	* java/lang/Class.java(setAccessible): Merge from classpath.
	* java/util/Locale.java: Remove.
	* gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java,
	gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New.
	* gcj/javaprims.h: Update class declarations.
	* scripts/classes.pl: Update usage.
	* HACKING: Mention to build all peers.

2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

	* configure: Regenerate.

2007-05-31  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Clear
	INTERPRETED access modifier.

2007-05-31  Paolo Bonzini  <bonzini@gnu.org>

	PR libjava/32098
	* configure: Regenerated.
	* aclocal.m4: Regenerated.

2007-05-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR libjava/32098
	* configure: Regenerated.

2007-05-29  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Don't include ../config/confsubdir.m4.
	* aclocal.m4: Regenerated.
	* configure: Likewise.

2007-05-27  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/32078
	* configure.ac: Include confsubdir.m4.
	* configure: Regenerate.

2007-05-24  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (_Jv_InterpFrame::get_pc): Only deduct
	one when pc_ptr is non-NULL.

	* prims.cc (parse_init_args): Enable JVMTI with agentlib
	and agentpath options.

	* testsuite/lib/libjava.exp (exec_gij): Add new addl_flags
	parameter.
	* testsuite/libjava.jvmti/jvmti-interp.exp (gij_jvmti_test_one):
	Pass '-agentlib:dummyagent' when executing gij.
	(gij_jvmti_run): Build dummy JVMTI agent before running tests,
	and remove it when finished.
	* testsuite/libjava.jvmti/dummyagent.c: New file.

2007-05-23  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2007-05-17  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java
	(executeMethods): Remove cast to ClassReferenceTypeId.
	* classpath/lib/gnu/classpath/jdwp/processor/
	ReferenceTypeCommandSet.class: Rebuilt.

2007-05-17  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/natVMMethod.cc (getModifiers): Check for native
	classes and mark methods as native appropriately.

2007-05-17  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/VMFrame.java (<init>): Add parameter for "this"
	pointer.
	* gnu/classpath/jdwp/VMFrame.h: Regenerated.
	* classpath/lib/gnu/classpath/jdwp/VMFrame.class: Rebuilt.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc (getFrame): Use new
	VMFrame constructor.

2007-05-16  David Daney  <ddaney@avtrex.com>

	* include/java-stack.h (_Jv_FrameInfo): Remove union definition.
	(_Jv_StackFrame): Remove commented out code.
	(_Jv_UnwindState): Remove superfluous 'typedef'.
	* sun/misc/natUnsafe.cc (spinlock): Add white space to quiet
	compiler warnings.
	* gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc
	(getCollectionUsage): Don't declare unused parameter n.
	(getMemoryManagerNames): Same.
	* gnu/gcj/util/natGCInfo.cc (gc_debug_info): Remove superfluous
	'typedef'.

2007-05-16  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (breakpoint_at): Declare.
	* interpret.cc (breakpoint_at): New function.
	* gnu/classpath/jdwp/VMVirtualMachine.java (_event_list):
	New member.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc (initialize):
	Initialize _event_list.
	(handle_single_step): If there is a breakpoint at the
	location at which we are stopping, do not send the notification.
	Instead add the event to a list of events that occur at this
	location.
	(jdwpBreakpointCB): If the event list is not empty, send
	whatever events are in it and the breakpoint event in a single
	notification.
	Mark parameter jni_env as MAYBE_UNUSED.
	* classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class:
	Regenerated.
	* gnu/classpath/jdwp/VMVirtualMachine.h: Regenerated.

2007-05-15  David Daney  <ddaney@avtrex.com>

	* classpath/lib/javax/swing/text/html/HTMLEditorKit.class: Regenerate
	* gnu/java/awt/peer/gtk/ComponentGraphics.h: Same.

2007-05-15  Keith Seitz  <keiths@redhat.com>

	* interpret.cc (STOREA): Rewrite using temporary variable to
	avoid double-macro expansion side-effects.
	(STOREI): Likewise.
	(STOREF): Likewise.
	(STOREL)[SIZEOF_VOID_P == 8]: Likewise.
	(STORED)[SIZEOF_VOID_P == 8]: Likewise.
	(STOREL)[SIZEOF_VOID_P != 8]: Likewise.
	(STORED)[SIZEOF_VOID_P != 8]: Likewise.
	(POKEI): Likewise.

2007-05-12  David Daney  <ddaney@avtrex.com>

	PR libgcj/29324
	* include/posix-threads.h (_Jv_BlockSigchld): Declare.
	(_Jv_UnBlockSigchld): Same.
	* posix-threads.cc: Include posix-threads.h.
	(block_sigchld) Rename to...
	(_Jv_BlockSigchld) ... this.
	(_Jv_UnBlockSigchld): New function.
	(_Jv_InitThreads): Call _Jv_BlockSigchld in place of block_sigchld.
	(_Jv_ThreadStart): Same.
	* java/lang/PosixProcess$ProcessManager.h: Regenerate.
	* java/lang/PosixProcess.java: Clean up imports.
	(ProcessManager): Make final.
	(ProcessManager.queue): Genericise and make private.
	(ProcessManager.pidToProcess): Remove.
	(ProcessManager.liveProcesses): New field.
	(ProcessManager.reaperPID): Remove.
	(ProcessManager.nativeData): New field.
	(ProcessManager.removeProcessFromMap): Remove.
	(ProcessManager.addProcessToMap):Remove.
	(ProcessManager.addToLiveProcesses): New method.
	(ProcessManager.run): Rewritten.
	(ProcessManager.reap): Change method signature,
	(getErrorStream): Correct formatting.
	(getInputStream): Same.
	(spawn): Add process to liveProcesses list.
	(pid): Make package private.
	* java/lang/PosixProcess.h: Regenerate.
	* java/lang/natPosixProcess.cc: Include posix.h and posix-threads.h.
	Add useing namespace java::lang.
	(ProcessManagerInternal): New struct.
	(sigchld_handler): Rewritten.
	(init): Rewritten.
	(waitForSignal): Same.
	(reap): Same.
	(signalReaper): Same.
	(nativeDestroy): Call kill as ::kill.
	(nativeSpawn): Correct formatting.
	* classpath/lib/java/lang/PosixProcess$EOFInputStream.class: Regenerate.
	* classpath/lib/java/lang/PosixProcess.class: Same.
	* classpath/lib/java/lang/PosixProcess$ProcessManager.class: Same.

2007-05-07  Ian Lance Taylor  <iant@google.com>

	PR java/31842
	* java/lang/natString.cc (_Jv_FormatInt): Avoid undefined signed
	overflow.

2007-05-07  Keith Seitz  <keiths@redhat.com>

	* classpath/lib/gnu/classpath/jdwp/Jdwp.class: Regenerate.
	* classpath/lib/gnu/classpath/jdwp/Jdwp$1.class: Regenerate.
	* classpath/lib/gnu/classpath/jdwp/event/Event.class:
	Regenerate.
	* classpath/lib/gnu/classpath/jdwp/transport/JdwpConnection.class:
	Regenerate.
	* gnu/classpath/jdwp/Jdwp.h: Regenerate.
	* gnu/classpath/jdwp/event/Event.h: Regenerate.
	* gnu/classpath/jdwp/transport/JdwpConnection.h: Regenerate.

2007-05-04  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc (getClassMethod): Change
	to use JVMTI.

2007-05-03  Keith Seitz  <keiths@redhat.com>

	* interpret.cc: Don't include ExceptionEvent.h.
	* gnu/gcj/jvmti/natExceptionEvent.cc: Remove.
	* Makefile.am (nat_source_files): Remove natExceptionEvent.cc.
	* Makefile.in: Regenerated.

2007-05-03  Keith Seitz  <keiths@redhat.com>

	* include/jvmti-int.h (_Jv_ReportJVMTIExceptionThrow):
	Declare.
	* interpret.cc (_Jv_ReportJVMTIExceptionThrow): New function.
	(find_catch_location): New function.
	(REPORT_EXCEPTION): New macro.
	(throw_internal_error): Use REPORT_EXCEPTION.
	(throw_incompatible_class_change_error): Likewise.
	(throw_null_pointer_exception): Likewise.
	(throw_class_format_error): Likewise.
	* interpret-run.cc (INTERP_REPORT_EXCEPTION)[DEBUG]: Set
	to REPORT_EXCEPTION.
	(INTERP_REPORT_EXCEPTION)[!DEBUG]: Make nop.
	(insn_new): Use INTERP_REPORT_EXCEPTION.
	(insn_athrow): Likewise.
	Remove previous JVMTI exception notifications.
	Add JVMTI ExceptionCatch notificatin.
	* jni.cc (_Jv_PopSystemFrame): Notify JVMTI clients of
	exception throw.
	* gnu/gcj/jvmti/ExceptionEvent.java: Removed.
	* gnu/gcj/jvmti/ExceptionEvent.h: Removed. 
	* classpath/lib/gnu/gcj/jvmti/ExceptionEvent.class: Removed.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(jdwpExceptionCB): New function.
	(jdwpVMInitCB): Set Exception event handler and enable.
	* sources.am: Regenerated.
	* Makefile.in: Regenerated.

2007-05-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=237304
	* Makefile.in: Regenerate.
	* scripts/makemake.tcl (scan_directory): Treat default.css as a
	property file.
	* classpath/javax/swing/text/html/default.css: Move to...
	* classpath/resource/javax/swing/text/html/default.css: New file.
	* classpath/javax/swing/text/html/HTMLEditorKit.java
	(getStyleSheet): Throw RuntimeException when style loading fails.
	* sources.am (property_files): Add
	classpath/resource/javax/swing/text/html/default.css.

2007-05-02  Tom Tromey  <tromey@redhat.com>

	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238755
	* java/lang/natCharacter.cc (Character::getType): Handle negative
	code points.
	(Character::toLowerCase): Likewise.
	(Character::toUpperCase): Likewise.
	(Character::digit): Likewise.
	(Character::getNumericValue): Likewise.
	(Character::getDirectionality): Likewise.
	(Character::toTitleCase): Likewise.

2007-04-30  Keith Seitz  <keiths@redhat.com>

	* interpret-run.cc (NEXT_INSN)[DEBUG]: Advance PC before
	executing the instruction.
	* include/java-interp.h (_Jv_InterpFrame::get_pc): Subtract
	one insn from the frame's PC. _Jv_InterpMethod::run et al
	will advance the PC before executing the instruction.

2007-04-27  Keith Seitz  <keiths@redhat.com>

	* classpath/lib/gnu/classpath/jdwp/Jdwp.class: Regenerated.
	* classpath/lib/gnu/classpath/jdwp/event/EventManager.class:
	Regenerated.
	* gnu/classpath/jdwp/event/EventManager.h: Regenerated.

2007-04-27  Keith Seitz  <keiths@redhat.com>

	* classpath/lib/gnu/classpath/jdwp/event/filters/
	LocationOnlyFilter.class: Regenerated;
	* classpath/lib/gnu/classpath/jdwp/util/Location.class:
	Regenerated.
	* gnu/classpath/jdwp/VMMethod.java
	* classpath/lib/gnu/classpath/jdwp/VMMethod.class:
	Regenerated.
	* gnu/classpath/jdwp/VMMethod.h: Regenerated.
	* gnu/classpath/jdwp/util/Location.h: Regenerated.

2007-04-27  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/CairoGraphics2D.h: Regenerate.
	* gnu/java/awt/peer/gtk/ComponentGraphics.h: Regenerate.

2007-04-25  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/VMIdManager.java (getObjectId): Deal with null
	objects.
	(get): Deal with ObjectId of 0. 

2007-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR libgcj/31084
	* java/lang/natVMProcess.cc: Include platform.h before jvm.h.

2007-04-24  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.java
	(getThreadStatus): Implement.

2007-04-24  Keith Seitz  <keiths@redhat.com>

	* headers.txt (gnu/gcj/jvmti/Breakpoint.h)[DIRECT_THREADED]:
	Add _Jv_RewriteBreakpointInsn friend declaration.
	* gnu/gcj/jvmti/natBreakpoint.cc (_Jv_RewriteBreakpointInsn)
	[DIRECT_THREADED]: New function.
	* gnu/gcj/jvmti/Breakpoint.h: Regenerate.
	* interpret-run.cc: Define new REWRITE_INSN macro.
	Changed all occurrences of insn rewriting to call REWRITE_INSN.

2007-04-23  Keith Seitz  <keiths@redhat.com>

	* include/no-gc.h (_Jv_IsThreadSuspended): Declare.
	* include/boehm-gc.h (_Jv_IsThreadSuspended): Likewise.
	* boehm.cc (_Jv_IsThreadSuspended): New function.
	* nogc.cc (_Jv_IsThreadSuspended): Likewise.
	* jvmti.cc (_Jv_JVMTI_GetThreadState): New function.
	(_Jv_JVMTI_Interface): Define GetThreadState.

2007-04-23  Kyle Galloway  <kgallowa@redhat.com>

	* include/java-interp.h (_Jv_InterpFrame): Add pointer to the
	interpreter PC.
	(<init>): Add a pointer to the interpreter PC as a parameter with
	default value NULL.
	(get_pc): New method.
	* interpret-run.cc: If debugging, pass a pointer to the PC when
	creating the stack frame.
	* jvmti.cc (_Jv_JVMTI_GetStackTrace): Call _Jv_InterpFrame::get_pc
	to get the PC.

2007-04-23  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc (getSourceFile): Check
	for null source file and throw an exception indicating this.

2007-04-20  Keith Seitz  <keiths@redhat.com>

	* gnu/gcj/jvmti/BreakpointManager.java (newBreakpoint):
	Install the new breakpoint into the bytecode.
	(deleteBreakpoint): Remove the breakpoint from the bytecode.
	* classpath/lib/gnu/gcj/jvmti/BreakpointManager.class:
	Regenerate.
	* gnu/gcj/jvmti/natBreakpoint.cc (initialize_native):
	Don't install the breakpoint here.

2007-04-19  Keith Seitz  <keiths@redhat.com>

	* interpret-run.cc [insn_breakpoint]: Save the original
	insn for the breakpoint before posting the JVMTI notification.

2007-04-19  Tom Tromey  <tromey@redhat.com>

	* gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h: Rebuilt.

2007-04-18  Tom Tromey  <tromey@redhat.com>

	* Regenerated headers with new gjavah.

2007-04-18  Andrew Haley  <aph@redhat.com>

	* java/lang/reflect/natVMProxy.cc (ncode_closure): Add
	method_index.
	(generateProxyClass): Add field $Proxy0.m.  Store methods array in
	it.
	(run_proxy): Retrieve the method to invoke from in $Proxy0.m.
	* java/lang/Class.h: Remove _Jv_LookupProxyMethod.
	* java/lang/natClass.cc: Likewise.
	* headers.txt: Likewise.
	* java/lang/reflect/Method.h: Likewise.

2007-04-16  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/BootClassLoader.java (getBootURLLoader): New
	method.
	(bootGetResource): Use getBootURLLoader() to load resources.
	(bootGetResources): Likewise.

	* java/lang/reflect/natMethod.cc (Method::invoke): In invoke also
	check that the method's declaring class is accessible.

2007-04-10  Keith Seitz  <keiths@redhat.com>

	* sources.am: Regenerate.
	* Makefile.in: Likewise.

2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

	* interpret-run.cc: If debugging, check if args is NULL before
	getting the "this" pointer.

2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/value/ArrayValue.java: New file.
	* classpath/lib/gnu/classpath/jdwp/value/ArrayValue.class: New file.
	* gnu/classpath/jdwp/ArrayValue.h: New file.
	* gnu/classpath/jdwp/natVMFrame.cc (getValue): Add array case.
	(setValue): Ditto. 

2007-04-09  David Daney  <ddaney@avtrex.com>

	PR libgcj/23758
	* java/lang/natPosixProcess.cc (nativeSpawn): Move building of
	environment before the fork.
	* testsuite/libjava.lang/Process_7.java: New test.
	* testsuite/libjava.lang/Process_7.out: Its expected results.
	* testsuite/libjava.lang/Process_7.jar: Generated file.

2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>

	* prims.cc (load_jvmti_agent): Add the missing `,'.

2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

	* gij.cc (main): Accept -agentlib and -agentpath options.
	* prims.cc (parse_init_args): Deal with -agentlib and -agentpath.
	(load_jvmti_agent): New function.

2007-04-04  Tania Bento  <tbento@redhat.com>

	* java/text/DecimalFormatSymbols.java: Added the year 2007 to
	Copyright information and introduced new variable, currency.
	(DecimalFormatSymbols(Locale)): Define currency and intlCurrencySymbol
	to "XXX", currencySymbol to "?" and localCurrency appropriately.
	(getCurrency): Fixed documentation and return the value of currency.
	(setCurrency): Fixed documentation and update the value of currency.
	(setInternationalCurrencySymbol): Fixed documentation and update the
	value of currency.
	* java/util/Currency.java: Introduced two new variables, properties
	and fractionDigits. In the static block, a properties object is
	created and the currency resource is loaded.
	(Currency(Locale)): fractionDigits is defined.
	(Currency(String)): New method.
	(getDefaultFractionDigits): Return the value of fractionDigits.
	(getInstance(String)): Check if String is equal to "XXX".

2007-04-04  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/util/VariableTable.java: Change longs
	to ints for argCnt and slots.
	(write): Replace writeLong with writeInt for the above. 

2007-04-03  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/ProxyTest.java: New test.

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

	http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=205157
	* gnu/java/nio/channels/natFileChannelPosix.cc (mapImpl): Extend
	file, when writing, if it is too short.

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

	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=233406
	* gnu/java/net/natPlainSocketImplPosix.cc (create): Return if
	already created.
	* gnu/java/net/PlainSocketImpl.java (getLocalAddress): Handle case
	where localport is -1.
	(create): Now public.
	* gnu/java/nio/SocketChannelImpl.java (SocketChannelImpl): Call
	'create' on the socket.

2007-04-02  Andrew Haley  <aph@redhat.com>

	* java/lang/reflect/natVMProxy.cc (run_proxy): Use
	_Jv_LookupProxyMethod to find the Method.
	If parameter_types->length == 0, pass a null paramameter list,
	not a zero-length parameter list.
	* java/lang/natClass.cc (_Jv_LookupProxyMethod): New function.
	* java/lang/Class.h (_Jv_LookupProxyMethod): Declare.

2007-04-02  Kyle Galloway  <kgallowa@redhat.com>

	* interpret-run.cc: Add code to properly set up variable slots
	when debugging.
	* gnu/classpath/jdwp/natVMFrame.cc (checkJVMTIError): New function.
	(getObjectJVMTI): New function.
	(setObjectJVMTI): New function.
	(getIntJVMTI): New function.
	(setIntJVMTI): New function.
	(getLongJVMTI): New function.
	(setLongJVMTI): New function.
	(getFloatJVMTI): New function.
	(setFloatJVMTI): New function.
	(getDoubleJVMTI): New function.
	(setDoubleJVMTI): New function.
	(getFrameDepth): New function.
	(getValue): Implement.
	(setValue): Implement. 

2007-04-02  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java
	(executeResume): Call VMVirtualMachine.resumeThread.

2007-03-29  Tom Tromey  <tromey@redhat.com>

	PR libgcj/29869:
	* java/util/logging/LogManager.java (readConfiguration): Handle
	comma-separated 'handlers'.  Don't try to add a non-existing
	handler.

2007-03-27  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* scripts/mime.types: Removed.
	* scripts/MakeDefaultMimeTypes.java: Removed.
	* gnu/gcj/io/MimeTypes.java: Removed.
	* gnu/gcj/io/MimeTypes.h: Removed.
	* gnu/gcj/io/DefaultMimeTypes.java: Removed.
	* gnu/gcj/io/DefaultMimeTypes.h: Removed.

2007-03-27  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/VMFrame.java: Update from upstream
	classpath.
	* gnu/classpath/jdwp/natVMFrame.cc: Likewise.
	* gnu/classpath/jdwp/VMVirtualMachine.java: Likewise.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc: Likewise.
	(initialize): Fix compiler type-punning warning.
	(getAllLoadedClasses): Return empty list instead of NULL.
	(getLoadRequests): Likewise.
	* gnu/classpath/jdwp/exception/InvalidTagException.h: New file.
	* gnu/classpath/jdwp/exception/InvalidSlotException.h: New file.
	* gnu/classpath/jdwp/exception/TypeMismatchException.h: New file.
	* gnu/classpath/jdwp/VMVirtualMachine.h: Rebuilt.
	* gnu/classpath/jdwp/value/CharValue.h: New file.
	* gnu/classpath/jdwp/value/LongValue.h: New file.
	* gnu/classpath/jdwp/value/ShortValue.h: New file.
	* gnu/classpath/jdwp/value/Value.h: New file.
	* gnu/classpath/jdwp/value/BooleanValue.h: New file.
	* gnu/classpath/jdwp/value/VoidValue.h: New file.
	* gnu/classpath/jdwp/value/ByteValue.h: New file.
	* gnu/classpath/jdwp/value/FloatValue.h: New file.
	* gnu/classpath/jdwp/value/ObjectValue.h: New file.
	* gnu/classpath/jdwp/value/StringValue.h: New file.
	* gnu/classpath/jdwp/value/ValueFactory.h: New file.
	* gnu/classpath/jdwp/value/IntValue.h: New file.
	* gnu/classpath/jdwp/value/DoubleValue.h: New file.
	* gnu/classpath/jdwp/VMFrame.h: Rebuilt.
	* gnu/classpath/jdwp/id/NullObjectId.h: New file.
	* gnu/classpath/jdwp/util/MethodResult.h: Rebuilt.
	* gnu/classpath/jdwp/util/NullObject.h: New file.
	* gnu/classpath/jdwp/util/MonitorInfo.h: New file.
	* Makefile.in: Rebuilt.
	* sources.am: Rebuilt.

2006-03-26  David Daney  <ddaney@avtrex.com>

	* configure.ac: Remove checks for mktime, alloca, ioctl, gmtime_r,
	fork, execvp, execinfo.h, pthread_mutexattr_settype,
	pthread_mutexattr_setkind_np and sys/wait.h.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* include/config.h.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* configure: Regenerate.
	* gcj/Makefile.in: Regenerate.

2007-03-23  Gary Benson  <gbenson@redhat.com>

	* link.cc (_Jv_Linker::resolve_method_entry):
	Ensure that the argument types and the return type of the
	found method match those expected by the calling method.

2007-03-22  David Daney  <ddaney@avtrex.com>

	PR libgcj/31228
	* configure.ac: Add checks for getrlimit and sys/resource.h.
	* include/posix.h (_Jv_platform_close_on_exec): Remove.
	* include/config.h.in: Regenerate.
	* configure: Regenerate.
	* gnu/java/nio/channels/natFileChannelPosix.cc (open): Remove call to
	_Jv_platform_close_on_exec;
	* gnu/java/net/natPlainSocketImplPosix.cc (create): Likewise.
	(accept): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (create):Likewise.
	* java/lang/natPosixProcess.cc: Include sys/resource.h.
	(nativeSpawn): Close all file descriptors.  Don't set FD_CLOEXEC on
	pipes.

2007-03-20  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/PR31264.java: New test.

2007-03-14  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (AM_MAKEFLAGS): Pass through mandir.
	* Makefile.in: Rebuilt.

2007-03-13  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (_Jv_InterpClass): Declare
	friend function _Jv_GetInterpClassSourceFile.
	* java/lang/Class.h (Class): Likewise.
	* java/lang/natClass.cc (_Jv_GetInterpClassSourceFile):
	New function.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(getSourceFile): Implement.

2007-03-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (AM_CXXFLAGS): Define ECJ_JAR_FILE.
	* classpath/configure.ac: Add --with-ecj-jar configure option.
	* classpath/gnu/classpath/Configuration.java.in (ECJ_JAR): New
	field.
	* classpath/INSTALL: Document --with-ecj-jar configure option and
	ecj jar requirement for com.sun.tools.javac support.
	* classpath/tools/Makefile.am: Build decendents of com and sun
	directories.
	* configure.ac: Substitute ECJ_JAR in stub Configuration.java.
	* gnu/classpath/Configuration.java,
	gnu/classpath/natConfiguration.cc (ecj): New method.
	(ECJ_JAR): New field.
	* scripts/makemake.tcl (scan_packages): Add com directory.
	* sources.am (property_files): Add
	classpath/resource/sun/rmi/rmic/messages.properties and
	classpath/resource/com/sun/tools/javac/messages.properties.
	* classpath/resource/com, classpath/resource/com/sun,
	classpath/resource/com/sun/tools,
	classpath/resource/com/sun/tools/javac, classpath/resource/sun,
	classpath/resource/sun/rmi, classpath/resource/sun/rmi/rmic,
	classpath/tools/classes/com, classpath/tools/classes/com/sun,
	classpath/tools/classes/com/sun/javadoc,
	classpath/tools/classes/com/sun/tools,
	classpath/tools/classes/com/sun/tools/doclets,
	classpath/tools/classes/sun, classpath/tools/classes/sun/rmi,
	classpath/tools/classes/sun/rmi/rmic, classpath/tools/com,
	classpath/tools/com/sun, classpath/tools/com/sun/javadoc,
	classpath/tools/com/sun/tools,
	classpath/tools/com/sun/tools/doclets,
	classpath/tools/com/sun/tools/javac, classpath/tools/sun,
	classpath/tools/sun/rmi, classpath/tools/sun/rmi/rmic: New
	directories.
	* classpath/resource/com/sun/tools/javac/messages.properties,
	classpath/resource/sun/rmi/rmic/messages.properties,
	classpath/tools/classes/com/sun/javadoc/ClassDoc.class,
	classpath/tools/classes/com/sun/javadoc/ConstructorDoc.class,
	classpath/tools/classes/com/sun/javadoc/Doc.class,
	classpath/tools/classes/com/sun/javadoc/DocErrorReporter.class,
	classpath/tools/classes/com/sun/javadoc/Doclet.class,
	classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.class,
	classpath/tools/classes/com/sun/javadoc/FieldDoc.class,
	classpath/tools/classes/com/sun/javadoc/MemberDoc.class,
	classpath/tools/classes/com/sun/javadoc/MethodDoc.class,
	classpath/tools/classes/com/sun/javadoc/PackageDoc.class,
	classpath/tools/classes/com/sun/javadoc/ParamTag.class,
	classpath/tools/classes/com/sun/javadoc/Parameter.class,
	classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.class,
	classpath/tools/classes/com/sun/javadoc/RootDoc.class,
	classpath/tools/classes/com/sun/javadoc/SeeTag.class,
	classpath/tools/classes/com/sun/javadoc/SerialFieldTag.class,
	classpath/tools/classes/com/sun/javadoc/SourcePosition.class,
	classpath/tools/classes/com/sun/javadoc/Tag.class,
	classpath/tools/classes/com/sun/javadoc/ThrowsTag.class,
	classpath/tools/classes/com/sun/javadoc/Type.class,
	classpath/tools/classes/com/sun/javadoc/TypeVariable.class,
	classpath/tools/classes/com/sun/tools/doclets/Taglet.class,
	classpath/tools/classes/sun/rmi/rmic/Main.class,
	classpath/tools/classes/sun/rmi/rmic/Messages.class,
	classpath/tools/com/sun/javadoc/ClassDoc.java,
	classpath/tools/com/sun/javadoc/ConstructorDoc.java,
	classpath/tools/com/sun/javadoc/Doc.java,
	classpath/tools/com/sun/javadoc/DocErrorReporter.java,
	classpath/tools/com/sun/javadoc/Doclet.java,
	classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java,
	classpath/tools/com/sun/javadoc/FieldDoc.java,
	classpath/tools/com/sun/javadoc/MemberDoc.java,
	classpath/tools/com/sun/javadoc/MethodDoc.java,
	classpath/tools/com/sun/javadoc/PackageDoc.java,
	classpath/tools/com/sun/javadoc/ParamTag.java,
	classpath/tools/com/sun/javadoc/Parameter.java,
	classpath/tools/com/sun/javadoc/ProgramElementDoc.java,
	classpath/tools/com/sun/javadoc/RootDoc.java,
	classpath/tools/com/sun/javadoc/SeeTag.java,
	classpath/tools/com/sun/javadoc/SerialFieldTag.java,
	classpath/tools/com/sun/javadoc/SourcePosition.java,
	classpath/tools/com/sun/javadoc/Tag.java,
	classpath/tools/com/sun/javadoc/ThrowsTag.java,
	classpath/tools/com/sun/javadoc/Type.java,
	classpath/tools/com/sun/javadoc/TypeVariable.java,
	classpath/tools/com/sun/tools/doclets/Taglet.java,
	classpath/tools/com/sun/tools/javac/Main.java,
	classpath/tools/com/sun/tools/javac/Messages.java,
	classpath/tools/sun/rmi/rmic/Main.java,
	classpath/tools/sun/rmi/rmic/Messages.java: New files.
	* Makefile.in, classpath/Makefile.in, classpath/configure,
	classpath/doc/Makefile.in, classpath/doc/api/Makefile.in,
	classpath/examples/Makefile.in, classpath/external/Makefile.in,
	classpath/external/jsr166/Makefile.in,
	classpath/external/relaxngDatatype/Makefile.in,
	classpath/external/sax/Makefile.in,
	classpath/external/w3c_dom/Makefile.in,
	classpath/include/Makefile.in, classpath/include/config.h.in,
	classpath/lib/Makefile.in,
	classpath/lib/gnu/classpath/Configuration.class,
	classpath/native/Makefile.in, classpath/native/fdlibm/Makefile.in,
	classpath/native/jawt/Makefile.in,
	classpath/native/jni/Makefile.in,
	classpath/native/jni/classpath/Makefile.in,
	classpath/native/jni/gconf-peer/Makefile.in,
	classpath/native/jni/gtk-peer/Makefile.in,
	classpath/native/jni/java-io/Makefile.in,
	classpath/native/jni/java-lang/Makefile.in,
	classpath/native/jni/java-net/Makefile.in,
	classpath/native/jni/java-nio/Makefile.in,
	classpath/native/jni/java-util/Makefile.in,
	classpath/native/jni/midi-alsa/Makefile.in,
	classpath/native/jni/midi-dssi/Makefile.in,
	classpath/native/jni/native-lib/Makefile.in,
	classpath/native/jni/qt-peer/Makefile.in,
	classpath/native/jni/xmlj/Makefile.in,
	classpath/native/plugin/Makefile.in,
	classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
	classpath/tools/Makefile.in, configure,
	gnu/classpath/Configuration.h: Regenerate.

2007-03-12  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
	as a sigle slot.

2007-03-12  Marco Trudel  <mtrudel@gmx.ch>

	* java/lang/natString.cc (getBytes (jstring enc)):
	Fixed the loop for multiple cycles, Code cleanup

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

	* sources.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl (scan_directory): Allow service files to be
	omitted.
	Omit all XML-related service files.

2007-03-07  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.ac: Clear vm-tools-packages.

2007-03-07  Mohan Embar  <gnustuff@thisiscool.com>

	* java/lang/Win32Process.java: Added nested class EOFInputStream.
	* java/lang/natWin32Process.cc (ChildProcessPipe): Added DUMMY
	enum and implementation.
	(startProcess): Use redirect flag.
	* classpath/lib/java/lang/Win32Process.class: Regenerated.
	* classpath/lib/java/lang/Win32Process$EOFInputStream.class: New.
	* gcj/javaprims.h: Regenerated.
	* java/lang/Win32Process$EOFInputStream.h: New.

2007-03-07  Andrew Haley  <aph@redhat.com>

	* libgcj_bc.c (JvRunMainName): Declare.

2007-03-07  Gary Benson  <gbenson@redhat.com>

	* sources.am, Makefile.in: Rebuilt.

2007-03-07  Mohan Embar  <gnustuff@thisiscool.com>

	* gcj/javaprims.h: Regenerated.

2007-03-07  Alexandre Oliva  <aoliva@redhat.com>

	* include/jvm.h (_Jv_ClosureListFinalizer): New.
	(_Jv_Linker::create_error_method): Adjust.
	* boehm.cc (_Jv_ClosureListFinalizer): New.
	* nogc.cc (_Jv_ClosureListFinalizer): New.
	* java/lang/Class.h (class _Jv_ClosureList): New.
	(class java::lang::Class): Declare it as friend.
	* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
	(_Jv_ClosureList::registerClousure): New.
	* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
	(_Jv_CompiledEngine::do_get_closure_list): New.
	(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
	(_Jv_IndirectCompiledClass): Add closures.
	(_Jv_IndirectCompiledEngine::get_aux_info): New.
	(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
	it.
	(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
	(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
	(_Jv_InterpreterEngine::do_get_closure_list): Declare.
	(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
	* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
	(node_closure): Add closure list.
	(_Jv_InterpMethod::ncode): Add jclass argument.  Use
	ffi_closure_alloc and the separate code pointer.  Register the
	closure for finalization.
	(_Jv_JNIMethod::ncode): Likewise.
	(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
	(_Jv_InterpreterEngine::do_get_closure_list): New.
	* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
	(_Jv_InterpClass): Add closures field.
	(_Jv_JNIMethod::ncode): Adjust.
	* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
	(_Jv_ClassReader::handleMethodsEnd): Likewise.
	* link.cc (struct method_closure): Add closure list.
	(_Jv_Linker::create_error_method): Add jclass argument.  Use
	ffi_closure_alloc and the separate code pointer.  Register the
	closure for finalization.
	(_Jv_Linker::link_symbol_table): Remove outdated comment about
	sharing of otable and atable.  Adjust.
	* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
	list.
	(ncode): Add jclass argument.  Use ffi_closure_alloc and the
	separate code pointer.  Register the closure for finalization.
	(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
	* testsuite/libjava.jar/TestClosureGC.java: New.
	* testsuite/libjava.jar/TestClosureGC.out: New.
	* testsuite/libjava.jar/TestClosureGC.xfail: New.
	* testsuite/libjava.jar/TestClosureGC.jar: New.

2007-03-06  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/exception/AbsentInformationException.java: New file.
	* classpath/lib/gnu/classpath/jdwp/exception/AbsentInformationException.class: Ditto.
	* gnu/classpath/jdwp/exception/AbsentInformationException.h: Ditto.
	* gnu/classpath/jdwp/natVMMethod.cc: Add CHECK_INTERP_CLASS macro.
	(VMMethod::getLineTable): Use new macro.
	(VMMethod::getVariableTable): Implement.
	* sources.am: Regenerated.
	* Makefile.in: Ditto.

2007-03-06  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (bin_PROGRAMS): Added gcjh.
	(gcjh_SOURCES, gcjh_LDFLAGS, gcjh_LINK, gcjh_LDADD,
	gcjh_DEPENDENCIES): New variables.

2007-03-06  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc(_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.
	* testsuite/libjava.jvmti/interp/natgetlocalvartable.cc
	(do_getlocalvartable_tests): Add Deallocate calls to free strings.

2007-03-05  Matthias Klose  <doko@debian.org>

	* Makefile.am (gij_LDFLAGS): Use dbexecdir.
	* Makefile.in: Regnerate.

2007-03-05  Mark Wielaard  <mark@klomp.org>

	* java/lang/Character.java: Re-merged with Classpath.
	* java/lang/natString.cc (nativeCompareTo): Renamed from
	compareTo.
	* java/lang/StringBuilder.java: Re-merged with Classpath.
	* java/lang/String.java: Re-merged with Classpath.
	(nativeCompareTo): Renamed from compareTo.
	* java/lang/StringBuffer.java: Re-merged with Classpath.
	* jni.cc (_Jv_JNI_GetAnyMethodID): Split calls to append.

2007-03-05  Andrew Haley  <aph@redhat.com>

	* java/lang/reflect/natVMProxy.cc (ncode_closure.meth): Delete.
	(generateProxyClass): Don't pass method to ncode.
	(run_proxy): Call _Jv_GetReflectedMethod to find the proxy method.
	* java/lang/reflect/Method.h: Rebuild.
	* java/lang/reflect/Method.java (internalGetParameterTypes,
	internalGetExceptionTypes): New methods.
	* headers.txt (class java/lang/reflect/Method): Declare
	_Jv_GetReflectedMethod.  Be its friend.
	* java/lang/natClass.cc (_Jv_GetReflectedMethod): New method.
	* java/lang/Class.h: Declare it.  Be its friend.

2007-03-05  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl (emit_package_rule): Don't omit
	VMProcess.java.
	* Makefile.am (nat_source_files): Added natVMProcess.cc.
	(inner_nat_headers): Added ImmediateEOFInputStream.h.
	* gcj/javaprims.h: Regenerated.
	* java/lang/System.java (EnvironmentMap): Now package-private.
	(EnvironmentMap(Map)): New constructor.
	(EnvironmentMap.put): New method.
	* java/lang/natWin32Process.cc (startProcess): Update.
	* java/lang/Win32Process.java (Win32Process): Added 'redirect'
	argument.
	(startProcess): Likewise.
	* java/lang/EcosProcess.java (EcosProcess): Added 'redirect'
	argument.
	* java/lang/natPosixProcess.cc (nativeSpawn): Handle redirection.
	* java/lang/PosixProcess.java (redirect): New field.
	(PosixProcess): Added 'redirect' argument.
	* java/lang/natRuntime.cc (execInternal): Added 'redirect'
	argument to Process creation.
	* java/lang/natVMProcess.cc: New file.
	* java/lang/ProcessBuilder.java: Removed.
	* java/lang/VMProcess.java: New file.

2007-03-03  Andrew Haley  <aph@redhat.com>

	* java/lang/natClass.cc (parseAnnotationElement): Correct long
	annotations to read JV_CONSTANT_Long, not JV_CONSTANT_Double.

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

	* sun/reflect/annotation/AnnotationInvocationHandler.java:
	Generify in a few places.
	(equals): Rewrite to use invoke on local proxy.
	(deepToString): Remove most of it.
	(toString): Make nonstatic.
	(arrayClone): Delete.
	(coerce): New method.
	(invoke): Rewrite to handle gcj's structures correctly.
	* java/lang/natClass.cc (getDeclaredAnnotations): Fix test for
	null loader.
	* sources.am: Regenerate.
	* Makefile.am: Likewise.	

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

	* sun/reflect/annotation/AnnotationInvocationHandler.java:
	Whitespace only changes.

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

	* sun/reflect/annotation/AnnotationInvocationHandler.java: Moved
	from Classpath to libgcj local.

2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.am: Add dummy install-pdf target.
	* Makefile.in: Regenerate
	* include/Makefile.in: Regenerate
	* testsuite/Makefile.in: Regenerate
	* gcj/Makefile.in: Regenerate

2007-02-23  Gary Benson  <gbenson@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java: Updated copyright year.

2007-02-23  Gary Benson  <gbenson@redhat.com>

	* java/lang/VMCompiler.java
	(compileClass): Don't lose zeros from within the digest.

2007-02-22  Jakub Jelinek  <jakub@redhat.com>

	PR libgcj/17002
	PR classpath/28550
	* java/util/VMTimeZone.java (getDefaultTimeZoneId): To read
	/etc/localtime, use ZoneInfo.readTZFile instead of
	VMTimeZone.readtzFile.  Get better timezone name for /etc/localtime,
	either if it is a symlink or through /etc/sysconfig/clock.
	(readSysconfigClockFile): New static method.
	(readtzFile): Removed.
	* java/lang/System.java: Add gnu.java.util.zoneinfo.dir to comments.
	* posix.cc (_Jv_platform_initProperties): Set
	gnu.java.util.zoneinfo.dir.
	* sources.am (gnu_java_util_source_files): Add
	classpath/gnu/java/util/ZoneInfo.java.
	* Makefile.in: Regenerated.
	* java/util/VMTimeZone.h: Regenerated.
	* java/util/TimeZone.h: Regenerated.
	* gnu/java/util/ZoneInfo.h: Generated.

2007-02-22  Mohan Embar  <gnustuff@thisiscool.com>

	* include/win32-threads.h: Added #undef OUT.

2007-02-21  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): New function.
	* testsuite/libjava.jvmti/interp/getargssize.java: New test.
	* testsuite/libjava.jvmti/interp/getargssize.h: Ditto.
	* testsuite/libjava.jvmti/interp/getargssize.jar: Ditto.
	* testsuite/libjava.jvmti/interp/getargssize.out: Ditto.
	* testsuite/libjava.jvmti/interp/natgetargssize.cc: Ditto.

2007-02-21  Gary Benson  <gbenson@redhat.com>

	* java/util/GregorianCalendar.java: Removed.
	* sources.am, Makefile.in: Rebuilt.

2007-02-20  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(jdwpClassPrepareCB): Move class status stuff to ...
	(getClassStatus): ... here.

2007-02-20  Gary Benson  <gbenson@redhat.com>

	* gnu/awt/xlib/XEventLoop.h: Regenerated.
	* gnu/java/awt/peer/gtk/GThreadMutex.h: Likewise.
	* gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h:
	Likewise.
	* gnu/java/rmi/server/UnicastConnectionManager.h: Likewise.
	* java/lang/SecurityManager.h: Likewise.
	* java/lang/Thread.h: Likewise.
	* java/security/VMSecureRandom$Spinner.h: Likewise.
	* java/util/concurrent/atomic/AtomicBoolean.h: Likewise.
	* java/util/concurrent/atomic/AtomicInteger.h: Likewise.
	* java/util/concurrent/atomic/AtomicLong.h: Likewise.
	* java/util/concurrent/atomic/AtomicReference.h: Likewise.
	* java/util/concurrent/ConcurrentHashMap$HashEntry.h: Likewise.
	* java/util/concurrent/ConcurrentHashMap$Segment.h: Likewise.
	* java/util/concurrent/ConcurrentLinkedQueue.h: Likewise.
	* java/util/concurrent/ConcurrentLinkedQueue$Node.h: Likewise.
	* java/util/concurrent/ConcurrentSkipListMap.h: Likewise.
	* java/util/concurrent/ConcurrentSkipListMap$Index.h: Likewise.
	* java/util/concurrent/ConcurrentSkipListMap$Node.h: Likewise.
	* java/util/concurrent/Exchanger.h: Likewise.
	* java/util/concurrent/Exchanger$Node.h: Likewise.
	* java/util/concurrent/FutureTask$Sync.h: Likewise.
	* java/util/concurrent/LinkedBlockingQueue$Node.h: Likewise.
	* java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h:
	Likewise.
	* java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h: 
	Likewise.
	* java/util/concurrent/locks/AbstractQueuedSynchronizer.h: Likewise.
	* java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h:
	Likewise.
	* java/util/concurrent/ScheduledThreadPoolExecutor.h: Likewise.
	* java/util/concurrent/SynchronousQueue.h: Likewise.
	* java/util/concurrent/SynchronousQueue$TransferQueue.h: Likewise.
	* java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h:
	Likewise.
	* java/util/concurrent/SynchronousQueue$TransferStack.h: Likewise.
	* java/util/concurrent/SynchronousQueue$TransferStack$SNode.h:
	Likewise.
	* java/util/concurrent/ThreadPoolExecutor.h: Likewise.
	* java/util/concurrent/ThreadPoolExecutor$Worker.h: Likewise.
	* java/util/logging/ErrorManager.h: Likewise.
	* javax/swing/plaf/basic/BasicSpinnerUI$2.h: Likewise.
	* javax/swing/plaf/basic/BasicSpinnerUI$4.h: Likewise.

2007-02-16  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(get_line_table): New function.
	(handle_single_step): New function.
	(jdwpSingleStepCB): New function.
	(jdwpVMInitCB): Define a JVMTI single step
	callback, but don't enable it until needed.

2007-02-16  David Daney  <ddaney@avtrex.com>

	* java/lang/Thread.java (Thread(ThreadGroup, Runnable, String)): Pass
	new parameter constructor.
	(Thread(ThreadGroup, Runnable, String, long)): Same.
	(Thread(String, boolean)): New constructor.
	(Thread(Thread, ThreadGroup, Runnable, String): Add parameter
	noInheritableThreadLocal, don't call
	InheritableThreadLocal.newChildThread if set.
	* java/lang/PosixProcess.java(ProcessManager()): Set
	noInheritableThreadLocal in super.
	* java/lang/natThread.cc (_Jv_AttachCurrentThread): Pass new
	parameter to Thread constructor.
	(_Jv_AttachCurrentThreadAsDaemon): Same.
	* java/lang/Thread.h: Regenerate.
	* classpath/lib/java/lang/Thread.class: Same.
	* classpath/lib/java/lang/PosixProcess$EOFInputStream.class: Same.
	* classpath/lib/java/lang/PosixProcess.class: Same.
	* classpath/lib/java/lang/Thread$State.class: Same.
	* classpath/lib/java/lang/PosixProcess$ProcessManager.class: Same.

2007-02-16  Kyle Galloway  <kgallowa@redhat.com>

	* interpret.cc: Add extra DEBUG_LOCALS_INSN calls for multi-slot
	variables to maintain type info.
	* interpret-run.cc: Add local variable info to frame in the debug
	interpreter.
	* jvmti.cc (getLocalFrame): New method.
	(_Jv_JVMTI_GetLocalObject): New method.
	(_Jv_JVMTI_GetLocallInt): New method.
	(_Jv_JVMTI_GetLocalFloat): New method.
	(_Jv_JVMTI_GetLocalLong): New method.
	(_Jv_JVMTI_GetLocalDouble): New method.
	(_Jv_JVMTI_SetLocalObject): New method.
	(_Jv_JVMTI_SetLocalInt): New method.
	(_Jv_JVMTI_SetLocalFloat): New method.
	(_Jv_JVMTI_SetLocalLong): New method.
	(_Jv_JVMTI_SetLocalDouble): New method.

2007-02-16  Gary Benson  <gbenson@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java
	(bytesToString): Don't lose zeros from within the digest.

2007-02-15  Andrew Haley  <aph@redhat.com>

	* Makefile.am (nat_source_files): Remove
	java/lang/management/natVMManagementFactory.cc.
	* java/lang/Thread.java (getStackTrace): Use reflection to call
	the ManagementFactory.
	* java/lang/management/VMManagementFactory.java: Remove native
	methods.
	* java/lang/management/natVMManagementFactory.cc: Deleted.
	* sources.am: Regnerate.
	* scripts/makemake.tcl: Add new "bcheaders" type.
	Move java/lang/management and gnu/classpath/management to "bc".
	Move gnu/java/lang/management to "bcheaders".
	
2007-02-15  Kyle Galloway  <kgallowa@redhat.com>
	
	* interpret.cc (_Jv_InterpMethod::check_handler): New method.
	* interpret-run.cc: Change the catch section to report exception
	events and to use the new check_handler method.
	* include/java-interp.h (_Jv_InterpMethod): Add check_handler.
	* gnu/gcj/jvmti/ExceptionEvent.java: New file.
	* gnu/gcj/jvmti/ExceptionEvent.h: New file.
	* gnu/gcj/jvmti/natExceptionEvent.cc: New file.
	* libjava/classpath/lib/gnu/gcj/jvmti/ExceptionEvent.class: New
	file.
	* sources.am: Added ExceptionEvent.java.
	* Makefile.am: Added natExceptionEvent.cc
	* Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.

2007-02-15  Johannes Schmidt  <jschmidt@avtrex.com>
	David Daney  <ddaney@avtrex.com>

	* configure.ac: Create vm-tools-packages file.  Add 
	gnu/gcj/tools/gc_analyze to standard.omit and vm-tools-packages.
	Check for /proc/self/maps.
	* Makefile.am (bin_PROGRAMS): Added gc-analyze.
	(gc_analyze_SOURCES): New.
	(gc_analyze_LDFLAGS): New.
	(gc_analyze_LINK): New.
	(gc_analyze_LDADD): New.
	(gc_analyze_DEPENDENCIES): New.
	(nat_source_files): Add gnu/gcj/util/natGCInfo.cc.
	* Makefile.in: Regenerated.
	* configure: Regenerated.
	* include/config.h.in: Regenerated.
	* sources.am: Regenerated.
	* scripts/makemake.tcl: Don't include gc-analyze classes in libgcj.
	* gnu/gcj/tools/gc_analyze/SymbolLookup.java: New.
	* gnu/gcj/tools/gc_analyze/ObjectMap.java: New.
	* gnu/gcj/tools/gc_analyze/MemoryMap.java: New.
	* gnu/gcj/tools/gc_analyze/SymbolTable.java: New.
	* gnu/gcj/tools/gc_analyze/BlockMap.java: New.
	* gnu/gcj/tools/gc_analyze/BytePtr.java: New.
	* gnu/gcj/tools/gc_analyze/ItemList.java: New.
	* gnu/gcj/tools/gc_analyze/ToolPrefix.java: New.
	* gnu/gcj/tools/gc_analyze/MemoryAnalyze.java: New.
	* gnu/gcj/util/GCInfo.java: New.
	* gnu/gcj/util/GCInfo.h: New.
	* gnu/gcj/util/natGCInfo.cc: New.
	* gnu/gcj/util/UtilPermission.java: New.
	* gnu/gcj/util/UtilPermission.h: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/SymbolTable.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/ObjectMap$ObjectItem.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap$RangeComparator.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap$PtrMarks.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap$Range.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/BytePtr.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$SubstringComparator.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/ItemList.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/ToolPrefix.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1$Info.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$OptionParser.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap$SizeKind.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/SymbolLookup.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/ObjectMap.class: New.
	* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap.class: New.
	* classpath/lib/gnu/gcj/util/GCInfo.class: New.
	* classpath/lib/gnu/gcj/util/UtilPermission.class: New.

2007-02-15  David Daney  <ddaney@avtrex.com>

	* gnu/java/net/PlainSocketImpl.h: Regenerate.
	* gnu/classpath/jdwp/VMVirtualMachine.h: Same.
	* gnu/classpath/jdwp/VMFrame.h: Same.
	* java/net/Socket.h: Same.
	* java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h: Same.

2007-02-15  Kyle Galloway  <kgallowa@redhat.com>

	* defineclass.cc (_Jv_ClassReader::read_one_code_attribute):
	Added LocalVariableTable attribute handling.
	(_Jv_ClassReader::pool_Utf8_to_char_arr): New method.
	* jvmti.cc (_Jv_JVMTI_GetLocalVariableTable): New method.
	* include/java-interp.h: Added local_var_table and 
	local_var_table_len fields to _Jv_InterpMethod.
	(_Jv_InterpMethod::get_local_var_table): New method.
	* testsuite/libjava.jvmti/interp/getlocalvartable.java: New test.
	* testsuite/libjava.jvmti/interp/getlocalvartable.jar: New test.
	* testsuite/libjava.jvmti/interp/getlocalvartable.out: Output
	for new test.
	* testsuite/libjava.jvmti/interp/getlocalvartable.h: New test.
	* testsuite/libjava.jvmti/interp/natgetlocalvartable.cc: New test.

2007-02-15  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine (getFrames): Implement.

2007-02-13  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(jdwpBreakpointCB): New function.
	(jdwpVMInitCB): Define and enable the breakpoint
	callback.

2007-02-13  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/Divide_2.out
	* testsuite/libjava.lang/Divide_2.java: New test.

2007-02-12  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetStackTrace): Remove cast
	from jthread to Thread *; it is no longer needed.
	(_Jv_JVMTI_GetFrameCount): Likewise.
	Fix small formatting typo.

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

	* sources.am, Makefile.in: Rebuilt.
	* java/lang/Socket.java: Removed override.
	* java/lang/DatagramSocket.java: Removed override.
	* gnu/java/net/PlainSocketImpl.java (localSocketAddress): New
	field.
	(getLocalAddress): New method.
	* gnu/java/net/PlainDatagramSocketImpl.java
	(PlainDatagramSocketImpl): Throws IOException.
	* gnu/java/net/natPlainSocketImplPosix.cc (write): Remove
	'sizeof'.
	(read): Likewise.

2007-02-09  Jakub Jelinek  <jakub@redhat.com>

	* java/util/VMTimeZone.java: Rewrite to handle both the old
	'TZif\0' format and the new one.
	
2007-02-10  Andrew Haley  <aph@redhat.com>

	PR java/30742
	* gnu/classpath/natVMStackWalker.cc (GET_CALLING_CLASS): New.
	(getCallingClass): Call GET_CALLING_CLASS.
	(getCallingClassLoader): Likewise.

2007-02-10  Mohan Embar  <gnustuff@thisiscool.com>

	* configure: Rebuilt.
	* configure.ac (GCJH): Reverted second part of patch of 2006-12-20.

2007-02-10  Mohan Embar  <gnustuff@thisiscool.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (BUILD_ECJ1): Unify the command for renaming ecjx to
	the host's ecj1 executable.

2007-02-09  Richard Henderson  <rth@redhat.com>

	* sysdep/alpha/locks.h (read_barrier): New.

2007-02-09  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/VMVirtualMachine.java
	(_stepping_threads): New member.
	* classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class:
	Regenerated.
	* gnu/classpath/jdwp/VMVirtualMachine.h:
	Regenerated.
	* gnu/claspath/jdwp/natVMVirtualMachine.cc
	(get_request_step_filter): New function.
	(DISABLE_EVENT): New macro.
	(initialize): Initialize _stepping_threads.
	(registerEvent): Implement EVENT_SINGLE_STEP.
	(unregisterEvent): Likewise.

2007-02-08  Keith Seitz  <keiths@redhat.com>

	* sources.am: Regenerate.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.

	* classpath/lib/javax/management/MBeanServerFactory.class:
	Regenerate.

2007-02-08  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/processor/
	StackFrameCommandSet.java (executeGetValues): Pass jlong instead
	of ByteBuffer.
	(executeSetValues): Ditto.
	(executeThisObject): Ditto.
	* classpath/gnu/classpath/jdwp/processor/
	StackFrameCommandSet.class: Rebuilt.
	* classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class:
	Rebuilt.
	* classpath/lib/gnu/classpath/jdwp/VMFrame.class: Rebuilt.
	* classpath/lib/gnu/classpath/jdwp/exception/
	InvalidFrameException.java: New file.
	* gnu/classpath/jdwp/VMFrame.java: Added field for thread of
	frame.
	(Constructor): New method.
	* gnu/classpath/jdwp/VMFrame.h: Regenerated.
	* gnu/classpath/jdwp/VMVirtualMachine.java
	(getFrame): Changed ByteBuffer to jlong.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(getFrame): Implement.
	* gnu/classpath/jdwp/VMVirtualMachine.h: Regenerated.

2007-02-08  Kyle Galloway  <kgallowa@redhat.com>

	* include/java-interp.h (_Jv_InterpFrame): obj_ptr field added
	to hold "this" pointer for frame.
	(_Jv_InterpFrame::get_this_ptr): New method.
	* interpret-run.cc: Copy the "this" pointer into obj_ptr.

2007-02-07  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (_Jv_Frame::depth):
	New function.
	* jvmti.cc (_Jv_JVMTI_GetFrameCount): Use _Jv_Frame::depth.

2007-02-07  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro.
	(_Jv_JVMTI_GetMaxLocals): New method.
	* include/java-interp.h
	(_Jv_InterpMethod::get_max_locals): New method.

2007-02-01 Marco Trudel <mtrudel@gmx.ch>

	* jni.cc (_Jv_JNI_DeleteWeakGlobalRef): Check for NULL objects.

2007-02-07  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jni/init.c: New file.
	* testsuite/libjava.jni/init.java: New file.
	* testsuite/libjava.jni/init.out: New file.
	* testsuite/libjava.jni/init.jar: New file.
	* testsuite/libjava.jni/init.h: New file.
	* testsuite/libjava.jni/init$NativeClass.h: New file.

2007-02-07  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/28468
	* configure: Regenerate.

2007-02-06  Andrew Haley  <aph@redhat.com>

	* scripts/makemake.tcl (emit_bc_rule): Set the source filename.
	* sources.am: Rebuild.

2007-02-05  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (_envListLock): Change type to
	ReentrantReadWriteLock.
	(_Jv_JVMTI_DisposeEnvironment): Switch to read/write
	lock.
	(check_enabled_event): Likewise.
	(_Jv_GetJVMTIEnv): Likewise.
	(_Jv_JVMTI_Init): Likewise.
	(_Jv_JVMTI_PostEvent): Likewise. 

2007-02-05  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(registerEvent): Implement EVENT_BREAKPOINT.
	(unregisterEvent): Likewise.
	(get_request_location): New function.

2007-02-05  Matthias Klose  <doko@debian.org>

	testsuite/Makefile.am (compile-tests): Fix typo.
	testsuite/Makefile.in: Regenerate.

2007-02-02  Kyle Galloway  <kgallowa@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc (getFrameCount):
	Implment.

2007-02-02  Jakub Jelinek  <jakub@redhat.com>

	* configure.ac (libjava_cv_anon_version_script): New test.
	(ANONVERSCRIPT): New AM_CONDITIONAL.
	* configure: Rebuilt.
	* Makefile.am (extra_ldflags_libjava): Link with -Wl,--version-script
	if ANONVERSCRIPT.
	* Makefile.in: Rebuilt.
	(libgcj_la_DEPENDENCIES): Depend on libgcj.ver.
	* libgcj.ver: New file.

2007-02-01  David Daney  <ddaney@avtrex.com>

	* scripts/makemake.tcl: Replace gnu/xml build with build of all
	its subpackages.
	* sources.am: Regenerate.
	* Makefile.in: Regenerate.

2007-02-01  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (getResources): No longer final.

2007-02-01  Tom Tromey  <tromey@redhat.com>

	* java/util/logging/LogManager.java (loggers): Genericized.
	(addLogger): Merged.
	(findAncestor): Likewise.
	(getLogger): Likewise.
	(getLoggerNames): Genericized.
	(reset): Merged.
	(getLevelProperty): Likewise.
	* java/lang/reflect/Method.java (getDeclaringClass): Genericized.
	* java/lang/reflect/Constructor.java (getParameterTypes):
	Genericized.
	(getExceptionTypes): Likewise.
	(newInstance): Likewise.
	* java/lang/reflect/Array.java (newInstance): Genericized.
	* java/lang/Object.java (getClass): Genericized.
	* java/nio/charset/spi/CharsetProvider.java (charsets):
	Genericized.
	* java/text/Collator.java: Implement Comparable<Object>.

2007-02-01  Tom Tromey  <tromey@redhat.com>

	* java/util/Calendar.java: Implement Comparable<Calendar>.  Update
	comments.
	(clear): Call complete.
	(setTimeZone): Call computeTime, computeFields.
	(compareTo): New method.
	* java/nio/charset/Charset.java: Implement Comparable<Charset>.
	(availableCharsets): Genericized.
	(aliases): Likewise.
	(compareTo): Changed argument type.
	* java/lang/ClassLoader.java (loadClass): Genericized.
	(findClass): Likewise.
	(defineClass): Likewise.
	(resolveClass): Likewise.
	(findSystemClass): Likewise.
	(setSigners): Likewise.
	(findLoadedClass): Likewise.
	(getResources): Likewise.
	(findResources): Likewise.
	(getSystemResources): Likewise.
	(checkInitialized): New method.
	* java/lang/Class.java (getCanonicalName): New method.

2007-01-31  Keith Seitz  <keiths@redhat.com>

	* include/jvmti-int.h (JVMTI): Declare member "enabled".
	* jvmti.cc (JVMTI): Add member "enabled".
	(_Jv_GetJVMTIEnv): Mark JVMTI enabled.
	* interpret.cc (_Jv_InterpMethod::ncode): Use JVMTI::enabled
	instead of gnu::classpath::jdwp::Jdwp::isDebugging.
	(_Jv_CompileMethod): If JVMTI is enabled, use run_debug
	instead of run to compile the method.

	* interpret-run.cc [DEBUG] (NEXT_INSN): Add JVMTI single step
	notification.

2007-01-31  Andreas Tobler  <a.tobler@schweiz.org>

	* testsuite/libjava.jvmti/jvmti-interp.exp (gij_jvmti_test_one): Add
	-shared-libgcc to the cxxflaglist for Darwin.

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

	* scripts.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl (gnu/javax/swing/text/html/parser): Build
	as 'ordinary'.
	(emit_ordinary_rule): New proc.

2007-01-31  Keith Seitz  <keiths@redhat.com>

	* testsuite/libjava.jvmti/getmethodname.h: New file.
	* testsuite/libjava.jvmti/getmethodname.jar: New file.

2007-01-31  Andrew Haley  <aph@redhat.com>

	* prims.cc (_Jv_Abort): fflush (stderr).
	* java/lang/natClassLoader.cc (_Jv_CheckABIVersion): Abort.

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

	* configure, Makefile.in: Rebuilt.
	* configure.ac (JAR): Check for -@ feature.
	* Makefile.am (libgcj-$(gcc_version).jar): Use find -prune.

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

	PR libgcj/30606:
	* configure, include/config.h.in: Rebuilt.
	* configure.ac: Check for magic_t in magic.h.
	* java/net/natVMURLConnection.cc: Use HAVE_MAGIC_T.

2007-01-30  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (libgcj-$(gcc_version).jar): Rewrote.

2007-01-30  Andreas Tobler  <a.tobler@schweiz.org>

	* testsuite/libjava.jvmti/natevents.cc (FieldModificationCB): Use a
	cast to print it right.

2007-01-29  Kaloian Doganov  <kaloian@doganov.org>

	PR libgcj/30600:
	* gnu/gcj/convert/BytesToCharsetAdaptor.java (read): Fix call to
	'limit'.

2007-01-29  Kyle Galloway  <kgallowa@redhat.com>

	* include/java-interp.h:  Added _Jv_Frame class and its two
	subclasses _Jv_InterpFrame and _Jv_NativeFrame.  Also moved
	_Jv_FrameType from java-stack.h.
	* include/java-stack.h: Removed _Jv_FrameType.
	* java/lang/Thread.java: Added frame member to hold new
	composite frame stack.
	* java/lang/Thread.h: Regenerated.
	* java/lang/Thread.class: Rebuilt.
	* jni.cc (_Jv_JNIMethod::call): Push a frame onto the stack when
	calling a JNI method.
	* jvmti.cc (_Jv_JVMTI_GetStackTrace): New Method.
	(_Jv_JVMTI_GetFrameCount): New method.
	* stacktrace.cc (UnwindTraceFn): Modified to use new _Jv_Frame
	classes.
	* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
	* testsuite/libjava.jvmti/interp/natgetstacktrace.cc: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.h: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.out: Output file
	for test. 

2007-01-29  Tom Tromey  <tromey@redhat.com>

	* interpret.cc (run_debug): Remove comment.
	(STOREA): Reformat.
	(STOREI): Likewise.
	(STOREF): Likewise.
	(STOREL): Likewise.
	(STORED): Likewise.
	(POKEI): Likewise.
	(run_normal_debug): Likewise.
	(run_synch_object_debug): Likewise.
	(run_class_debug): Likewise.
	(run_synch_class_debug): Likewise.
	(get1s): Likewise.
	(get1u): Likewise.
	(get2u): Likewise.
	(get4): Likewise.
	(NULLARRAYCHECK): Likewise.
	(ARRAYBOUNDSCHECK): Likewise.
	* interpret-run.cc (insn_target) <breakpoint>: Tidy.

2007-01-29  Tom Tromey  <tromey@redhat.com>

	* configure, Makefile.in: Rebuilt.
	* Makefile.am (bin_SCRIPTS): Never install scripts/jar.
	* configure.ac (BASH_JAR): Removed conditional.
	(JAR): Prefer the jar found by AC_CHECK_PROGS.

2007-01-29  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (interpret.lo): New target.  Add -fwrap to
	AM_CXXFLAGS.

2007-01-29  Keith Seitz  <keiths@redhat.com>

	* include/jvmti_md.h (_CLASSPATH_VM_JVMTI_TYPES_DEFINED):
	Define.
	[__GCJ_JNI_IMPL__]: Define our own JVMTI types when building
	gcj. All jvmti object types now are defined to be their
	corresponding java classes.
	* jvmti.cc (_Jv_JVMTI_SuspendThread): Remove casting from
	jthread to Thread*.
	(_Jv_JVMTI_ResumeThread): Likewise.
	(_Jv_JVMTI_InterruptThread): Likewise.
	(_Jv_JVMTI_SetEventNotificationMode): Likewise.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(jdwpClassPrepareCB): Likewise.
	(jdwpThreadEndCB): Likewise.
	(jdwpThreadStartCB): Likewise.
	(jdwpVMInitCB): Likewise.
 
2007-01-28  Michele Sandri  <gpointorama@gmail.com>

	* gnu/java/nio/channels/natFileChannelWin32.cc
	(lock): Implemented.
	(unlock): Implemented.

2007-01-27  Andreas Tobler  <a.tobler@schweiz.org>

	PR libgcj/30513
	* configure.host: Add forgottten sysdep_dir to sparc. Add a flag to
	libgcj_flags to undefine 'sun' at compile time.
	* sysdep/sparc/locks.h (read_barrier): New functions for 32 and 64 bit
	Sparc.
	(write_barrier): Likewise.

2007-01-27  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(getAllClassMethods): Move error handling to ...
	(throw_jvmti_error): ... here.
	(jdwpClassPrepareCB): New function.
	(jdwpThreadEndCB): New function.
	(jdwpThreadStartCB): New function.
	(jdwpVMDeathCB): New function.
	(jdwpVMInitCB): Define and enable callbacks for
	ClassPrepare, ThreadEnd, ThreadStart, and VMDeath.

2007-01-27  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (generic_header_files): Add $(inner_nat_headers).
	* testsuite/Makefile.am (check-dejaGNU): Depend on compile-tests.
	(MYGCJH): New variable.
	(compile-tests): New goal.
	* Makefile.in: Rebuilt.
	* testsuite/Makefile.in: Rebuilt.

2007-01-26  Andrew Haley  <aph@redhat.com>

	* java/lang/natClass.cc (initializeClass): Re-throw
	SecurityExceptions.
	* java/lang/natVMClassLoader.cc (loadClass): checkPackageAccess.
	* java/lang/ClassLoader.java: (loadClass): Likewise.

2007-01-26  Tom Tromey  <tromey@redhat.com>

	* Updated headers.

2007-01-25  Tom Tromey  <tromey@redhat.com>

	PR libgcj/29594:
	* gnu/gcj/convert/Convert.java (main): Correctly handle missing
	input or output encodings.  Removed unused local variables.

2007-01-25  Keith Seitz  <keiths@redhat.com>

	* include/jvmti-int.h (_Jv_GetJDWP_JVMTIEnv): Declare.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(_Jv_GetJDWP_JVMTIEnv): New function.
	* gnu/classpath/jdwp/natVMMethod.cc (getName): Implement.
	(getSignature): Implement.
	(getModifiers): Implement.

2007-01-25  Andrew Haley  <aph@redhat.com>

	* configure, Makefile.in, include/config.h.in: Rebuilt.
	* Makefile.am (libgcj_la_LIBADD): Removed $(LIBMAGIC).
	* configure.ac: Don't check for libmagic.
	* java/net/natVMURLConnection.cc (p_magic_open, p_magic_load,
	p_magic_close, p_magic_buffer): New globals.
	(init): Look up 'magic' functions.
	(guessContentTypeFromBuffer): Updated.

2007-01-25  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetMethodName): New function.
	(_Jv_JVMTI_Interface): Define GetMethodName.
	* testsuite/libjava.jvmti/getmethodname.java: New file.
	* testsuite/libjava.jvmti/natgetmethodname.cc: New file.
	* testsuite/libjava.jvmti/getmethodname.out: New file. 

2007-01-24  Kyle Galloway  <kgallowa@redhat.com>

	* libjava/testsuite/libjava.jvmti/jvmti-interp.exp: New file.
	* libjava/testsuite/libjava.jvmti/interp: New folder.
	* libjava/testsuite/lib/libjava.exp (exec_gij): New Method.

2007-01-24  Keith Seitz  <keiths@redhat.com>

	* link.cc (_Jv_Linker::wait_for_state): Add JVMTI
	CLASS_PREPARE notification.

2007-01-24  Keith Seitz  <keiths@redhat.com>

	* interpret.cc: Include gnu/gcj/jvmti/Breakpoint.h,
	gnu/gcj/jvmti/BreakpointManager.h, jvmti.h, and jvmti-int.h
	* interpret-run.cc: Implement insn_breakpoint.

2007-01-24  Keith Seitz  <keiths@redhat.com>

	* prims.cc (_Jv_RunMain): Send JVMTI event notifications
	for VM_INIT and VM_DEATH instead of the JDWP notifications.

2007-01-24  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(getAllClassMethods): Implement.

2007-01-24  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc: Call InitClass everywhere.
	(getClassContext) Add a barrier to prevent GetStackWalkerStack()
	from being sibcalled.

2007-01-24  Andrew Haley  <aph@redhat.com>

	* scripts/makemake.tcl (emit_bc_rule): Set the source filename.
	* sources.am: Rebuild.

2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* exception.cc (parse_lsda_header, PERSONALITY_FUNCTION): Replaced
	_Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.

2007-01-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/30550
	* Makefile.am (ecjx_DEPENDENCIES): Add libgcj_bc.la if needed.
	* Makefile.in: Regenerated.

2007-01-22  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(getClassMethod): Implement.

2007-01-22  Keith  Seitz  <keiths@redhat.com>

	* java/lang/Class.h (_Jv_GetClassStatus): Declare.
	* java/lang/natClass.cc (_Jv_GetClassStatus): New function.
	* jvmti.cc (_Jv_JVMTI_GetClassStatus): New function.
	(_Jv_JVMTI_Interface): Define GetClassStatus.

2007-01-22  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.ac (GCJ): Reverted patch of 2006-12-20.

2007-01-22  Tom Tromey  <tromey@redhat.com>

	PR java/29812:
	* testsuite/libjava.jni/pr29812.java: New file.
	* testsuite/libjava.jni/pr29812_injar.java: New file.
	* testsuite/libjava.jni/pr29812_injar.jar: New file.
	* testsuite/libjava.jni/pr29812.out: New file.
	* testsuite/libjava.jni/pr29812_injar.c: New file.
	* testsuite/libjava.jni/pr29812_injar.h: New file.
	* testsuite/libjava.jni/pr29812.jar: New file.
	* testsuite/libjava.jni/pr29812.c: New file.
	* testsuite/libjava.jni/pr29812.h: New file.
	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	New proc.
	(gcj_jni_invocation_test_one): Use it.
	(gcj_jni_pr29812): New proc.
	(gcj_jni_run): Use it.
	* java/lang/natRuntime.cc (_load): Push a new system frame before
	calling JNI_OnLoad.
	* include/jvm.h (_Jv_JNI_PopSystemFrame): Declare.
	(_Jv_GetJNIEnvNewFrameWithLoader): Likewise.
	* jni.cc (struct _Jv_JNI_LocalFrame) <marker>: Now unsigned char.
	<allocated_p>: Now bool.
	<loader>: New field.
	(_Jv_JNI_EnsureLocalCapacity): Updated.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_PopLocalFrame): Likewise.
	(_Jv_JNI_FindClass): Likewise.
	(_Jv_GetJNIEnvNewFrame): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_GetJNIEnvNewFrameWithLoader): New function.
	(_Jv_GetJNIEnvNewFrame): Use it.
	* include/jni_md.h (_CLASSPATH_JNIENV_CONTENTS): Removed 'klass'.

2007-01-22  Tom Tromey  <tromey@redhat.com>

	* libtool-version: Bump current to 9.

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

	* sysdep/alpha/locks.h (write_barrier): New.

2007-01-21  Matthias Klose  <doko@debian.org>

	* Makefile.am (install-exec-hook): Use transformed name.
	* Makefile.in: Regenerate.

2007-01-19  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc: Mark unused parameters
	in methods and reformat.

	* gnu/classpath/jdwp/natVMFrame.cc: Mark unused parameters with
	MAYBE_UNUSED.

2007-01-18  Keith Seitz  <keiths@redhat.com>

	From Macro Trudel <mtrudel@gmx.ch>:
	* gnu/classpath/jdwp/natVMVirtualMachine.cc (jdwpVMInitCB):
	Use JNICALL.

2007-01-18  Marco Trudel  <mtrudel@gmx.ch>

	* jni.cc (_Jv_JNI_FindClass): Initialize class.
	* testsuite/libjava.jni/findclass2.jar: New file.
	* testsuite/libjava.jni/findclass2.h: New file.
	* testsuite/libjava.jni/findclass2.java: New file
	* testsuite/libjava.jni/findclass2.c: New file.
	* testsuite/libjava.jni/findclass2.out: New file.

2007-01-18  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.ac: Use multi_basedir instead of libgcj_basedir.

2007-01-18  Gary Benson  <gbenson@redhat.com>

	* gnu/java/nio/natVMPipeEcos.cc:
	Renamed from gnu/java/nio/natPipeImplEcos.cc.
	* gnu/java/nio/natVMPipePosix.cc:
	Renamed from gnu/java/nio/natPipeImplPosix.cc.
	* gnu/java/nio/natVMPipeWin32.cc:
	Renamed from gnu/java/nio/natPipeImplWin32.cc.
	* gnu/java/nio/natVMSelectorEcos.cc:
	Renamed from gnu/java/nio/natSelectorImplEcos.cc.
	* gnu/java/nio/natVMSelectorPosix.cc:
	Renamed from gnu/java/nio/natSelectorImplPosix.cc.
	* gnu/java/nio/natVMSelectorWin32.cc:
	Renamed from gnu/java/nio/natSelectorImplWin32.cc.
	* java/io/natVMObjectInputStream.cc:
	Renamed from java/io/natObjectInputStream.cc.
	* java/lang/natVMDouble.cc:
	Renamed from java/lang/natDouble.cc.
	* java/lang/natVMFloat.cc:
	Renamed from java/lang/natFloat.cc.	
	* Makefile.am, configure.ac: Reflect the above.
	* Makefile.in, configure: Rebuilt.

2007-01-17  Andrew Haley  <aph@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ecjx_LDFLAGS): Pass -fbootclasspath.

2007-01-17  Keith Seitz  <keiths@redhat.com>

	* java/lang/natThread.cc (finish_): Add JVMTI ThreadEnd notification.
	(_Jv_NotifyThreadStart): Add JVMTI ThreadStart notification.

2007-01-16  Jack Howarth  <howarth@bromo.med.uc.edu>

	* configure.ac: Use multi.m4 from aclocal rather than custom
	code.  Use multi_basedir instead libgcj_basedir.  Test for
	/proc/self/exe when not cross-compiling.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2007-01-17  Gary Benson  <gbenson@redhat.com>

	* java/nio/natVMDirectByteBufferImpl.cc:
	Renamed from java/nio/natDirectByteBufferImpl.cc.
	* Makefile.am: Reflect the above.
	* Makefile.in: Rebuilt.
	
2007-01-17  Marco Trudel  <mtrudel@gmx.ch>

	* jvmti.cc (_Jv_JVMTI_GetAllThreads): Now static.  Use JNICALL.
	Fixed indentation.  Removed unused variable.

2007-01-16  Tom Tromey  <tromey@redhat.com>

	* java/lang/natThread.cc (finalize_native): Remove cast.
	(_Jv_GetCurrentJNIEnv): Likewise.
	* include/jvm.h (struct natThread) <jni_env>: Declare as
	_Jv_JNIEnv*.

2007-01-16  Keith Seitz  <keiths@redhat.com>

	* testsuite/libjava.jvmti/natevents.cc (FieldModificationCB): Use
	%#llx instead of %d for new_value.
	* testsuite/libjava.jvmti/events.out: Update expected output.
	* testsuite/libjava.jvmti/events.jar: Regenerate.

2007-01-16  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc (DEFINE_CALLBACK):
	New macro.
	(ENABLE_EVENT): New macro.
	(initialize): Define and enable JVMTI VM_INIT callback.
	(jdwpVMInitCB): New function.

2007-01-16  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetAllThreads): New function.
	* testsuite/libjava.jvmti/getallthreads.java: New test.
	* testsuite/libjava.jvmti/natgetallthreads.cc: Ditto.
	* testsuite/libjava.jvmti/getallthreads.out: Ditto.
	* testsuite/libjava.jvmti/getallthreads.h: Ditto.
	* testsuite/libjava.jvmti/getallthreads.jar: Ditto. 

2007-01-15  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/natVMVirtualMachine.cc (suspendThread): Use
	java.lang.StringBuilder instead of java.lang.StringBuffer.
	(resumeThread): Likewise.

2007-01-15  Gary Benson  <gbenson@redhat.com>

	* java/nio/MappedByteBuffer.java: Removed.
	* sources.am, Makefile.in: Rebuilt.

2007-01-15  Gary Benson  <gbenson@redhat.com>

	* java/net/URLClassLoader.java: Removed.
	* gnu/java/net/loader/Load_gcjlib.java: New file.
	* gnu/gcj/runtime/BootClassLoader.java: Ensure core
	URL handler is present in static executables.
	* sources.am, Makefile.in: Rebuilt.

2007-01-14  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (libgcj_la_LDFLAGS): Add
	$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS).
	(libgcj_tools_la_LDFLAGS): Likewise.
	(libgcj_bc_la_LDFLAGS): Likewise.
	* Makefile.in: Regenerated.

	* configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC.  Set
	LIBGCJ_LD_SYMBOLIC_FUNCTIONS to $SYMBOLIC_LDFLAGS.  Set
	libgcj_ld_symbolic to $SYMBOLIC_LDFLAGS if it isn't set.
	Substitute LIBGCJ_LD_SYMBOLIC_FUNCTIONS.
	* configure: Regenerated.
	* aclocal.m4: Likewise.
	* gcj/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

2007-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>

	* sysdep/sh/locks.h (read_barrier): New.
	(write_barrier): Likewise.

2007-01-12  Andrew Haley  <aph@redhat.com>

	* include/i386-signal.h: Rewrite to use rt_sigaction.

2007-01-11  Andrew Haley  <aph@redhat.com>

	* prims.cc (jdwpOptions) Fix deprecated cast from char[] constant
	to char*.
	* include/x86_64-signal.h (HANDLE_DIVIDE_OVERFLOW): Rewrite to fix
	aliasing violation.

2007-01-10  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/xlib/*.h: New files.
	* gnu/awt/xlib/*.h: Likewise.
	* classpath/lib/gnu/gcj/xlib: New class files.
	* classpath/lib/gnu/awt/xlib: Likewise.

2007-01-10  Tom Tromey  <tromey@redhat.com>

	* HACKING: Various updates.

2007-01-10  Tom Tromey  <tromey@redhat.com>

	* java/lang/natDouble.cc (toString): Added parens.
	* gnu/gcj/io/shs.h (PROTO): Define.
	* link.cc (resolve_pool_entry): Added missing braces.

2007-01-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/30424
	* sysdep/ia64/locks.h (read_barrier): New.
	(write_barrier): New.

2007-01-10  Gary Benson  <gbenson@redhat.com>

	* java/net/URL.java: Removed.
	* sources.am, Makefile.in: Rebuilt.

2007-01-10  Matthias Klose  <doko@debian.org>

	* Makefile.am (install-exec-hook): Support $(DESTDIR).
	* Makefile.in: Regenerated.

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

	* testsuite/libjava.loader/loader.exp (gcj_loader_run): Find
	dummy.class in srcdir.

2007-01-03  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.cni/cni.exp (gcj_cni_compile_cxx_to_o): Add -I
	for srcdir.

2007-01-03  Tom Tromey  <tromey@redhat.com>

	* testsuite/*: Added many .jar and .h files.
	* testsuite/libjava.special/special.exp
	(gcj_special_try_compiler): New proc.
	* testsuite/libjava.loader/loader.exp (gcj_loader_run): Don't
	bytecompile source.  Search for .jar files.
	(gcj_loader_test_one): Don't look for MyLoader.java.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_test_one): Don't
	bytecompile sources or build headers.
	(gcj_jvmti_run): Look for .jar files.
	* testsuite/libjava.jni/jni.exp (gcj_jni_run): Compile .jar
	files.
	(gcj_jni_test_one): Don't bytecompile sources or build headers.
	Set classpath when invoking gij.
	(gcj_jni_invocation_test_one): Likewise.
	* testsuite/libjava.cni/cni.exp (gcj_cni_test_one): Don't build
	headers or bytecompile sources.
	(gcj_cni_run): Use .jar files, not .java files.
	* testsuite/libjava.lang/lang.exp: Compile .jar files.

2007-01-02  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.ac: Check for gjar.

2007-01-02  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jacks/jacks.exp: Removed.
	* testsuite/libjava.jacks/jacks.xfail: Removed.

