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.
From-SVN: r128302
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.
From-SVN: r128098
* 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.
From-SVN: r127097
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.
From-SVN: r126622
* interpret.cc (get_local_var_table) [DIRECT_THREADED]: Make sure the
method is compiled.
* testsuite/libjava.jvmti/interp/getlocalvartable.out: Revise
for compiled methods.
From-SVN: r126556
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.
From-SVN: r126083
* 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.
From-SVN: r125040
* ltmain.sh: Update from ToT Libtool.
* libtool.m4: Update from ToT Libtool.
* ltsugar.m4: New. Update from ToT Libtool.
* ltversion.m4: New. Update from ToT Libtool.
* ltoptions.m4: New. Update from ToT Libtool.
* ltconfig: Remove.
* ltcf-c.sh: Remove.
* ltcf-cxx.sh: Remove.
* ltcf-gcj.sh: Remove.
* Regenerate all subdirs
From-SVN: r125032
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.
From-SVN: r123676
* 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.
From-SVN: r121698
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.
From-SVN: r121438
2007-01-30 Andreas Tobler <a.tobler@schweiz.org>
* testsuite/libjava.jvmti/natevents.cc (FieldModificationCB): Use a
cast to print it right.
From-SVN: r121362
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.
From-SVN: r121314
* 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.
From-SVN: r121301
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'.
From-SVN: r121064
2007-01-17 Jack Howarth <howarth@bromo.med.uc.edu>
boehm-gc/
* aclocal.m4: Regenerate to use multi.m4.
* configure: Regenerate.
* Makefile.in: Regenerate.
zlib/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libffi/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/
* 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.
libjava/classpath/
* configure.ac: Use multi.m4 from aclocal rather than
custom code. Use multi_basedir instead libgcj_basedir.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/libltdl/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* configure.ac: Use multi.m4 from aclocal rather than
custom code.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r120870
2006-10-25 Andreas Tobler <a.tobler@schweiz.org>
* testsuite/libjava.jvmti/natevents.cc (do_callback_arg_tests): Replace
formatting modifiers %p with %#llx and cast the arguments.
From-SVN: r118040
* jvmti.cc (_Jv_JVMTI_DisposeEnvironment): Check for enabled
events.
(check_enabled_event): New function.
(check_enabled_events): New function.
(post_event): New function.
(_Jv_JVMTI_SetEventNotificationMode): New function.
(_Jv_JVMTI_SetEventCallbacks): New function.
(_Jv_JVMTI_Interface): Define SetEventNotificationMode and
SetEventCallbacks members.
* include/jvmti-int.h: New file.
* include/jvmti_md.h (EVENT_SLOTS) [__GCJ_JNI_IMP__]: Define.
(_CLASSPATH_JVMTIENV_CONTENTS) [__GCJ_JNI_IMPL__]: Define.
* testsuite/libjava.jvmti/events.java: New file.
* testsuite/libjava.jvmti/events.out: New file.
* testsuite/libjava.jvmti/natevents.cc: New file.
From-SVN: r117133
2006-07-06 Bryce McKinlay <mckinlay@redhat.com>
* stacktrace.cc (ClassForFrame): Remove commented-out code.
(UnwindTraceFn): Use _Unwind_GetIPInfo and adjust IP
only when needed.
(getLineNumberForFrame): Don't adjust IP here.
* testsuite/libjava.lang/StackTrace.java: New test case.
* testsuite/libjava.lang/StackTrace.out: Ditto.
From-SVN: r115235
2006-07-04 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/lib/libjava.exp (libjava_init): Call the GCJ_UNDER_TEST with
the -B$specdir.
From-SVN: r115188
2006-07-04 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/lib/libjava.exp (libjava_init): Look for libgcj-$version.jar
instead of libgcj-*.jar.
From-SVN: r115181
* java/io/OutputStreamWriter.java (writeChars): Use a 'do' loop.
Set 'out.count' earlier.
(close): Call setFinished on converter.
(flush): Always write work buffer.
* java/io/PrintStream.java (writeChars): Do 'do' loop.
(close): Call setFinished on converter. Write a 'flush' array.
* java/lang/natString.cc (getBytes): Call setFinished on
converter.
* gnu/gcj/convert/CharsetToBytesAdaptor.java (hasBytes): New
field.
(write): Set hasBytes. Changed 'finished' logic.
(havePendingBytes): Rewrote.
(setFinished): New method.
* gnu/gcj/convert/UnicodeToBytes.java (setFinished): New method.
* testsuite/libjava.lang/RH194522.java: New file.
* testsuite/libjava.lang/RH194522.out: New file.
From-SVN: r115039
2006-06-22 Thomas Fitzsimmons <fitzsim@redhat.com>
* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one):
Link against -ljvm, not -lgcj.
From-SVN: r114902
gcc:
2006-06-01 Paolo Bonzini <bonzini@gnu.org>
* doc/install.texi: Document that InfoZIP can replace jar.
libjava:
2006-06-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (ZIP, UNZIP): New programs.
(JAR): Fall back to bash script. Generate it.
(BASH_JAR): New conditional.
* Makefile.am (bin_SCRIPTS): New.
* jar.in: New file.
From-SVN: r114304
2006-05-30 Thomas Fitzsimmons <fitzsim@redhat.com>
* scripts/makemake.tcl (emit_bc_rule): Do not skip
gnu-java-awt-peer-gtk.lo.
Include gnu/java/awt/peer/gtk Java objects in libgcj.so. Use C++
ABI for gnu/java/awt/peer/gtk package.
* gnu/classpath/natSystemProperties.cc (PrependVersionedLibdir):
New function.
(insertSystemProperties): Only set java.ext.dirs if it is not
already defined. Prepend GCJ_VERSIONED_LIBDIR to module search
path where necessary.
* configure.ac (GTK_AWT): Remove automake conditional.
* include/jvm.h (_Jv_PrependVersionedLibdir): New function
declaration.
* gij.cc (main): Prepend LD_LIBRARY_PATH with GCJ_VERSIONED_LIBDIR
and re-exec self.
* Makefile.am (AM_CXXFLAGS): Define GCJ_VERSIONED_LIBDIR,
GIJ_EXECUTABLE and PATH_SEPARATOR macros.
Remove lib-gnu-java-awt-peer-gtk.la and libgcjawt.la build logic.
* prims.cc (_Jv_PrependVersionedLibdir): New function.
2006-05-30 Thomas Fitzsimmons <fitzsim@redhat.com>
* native/jni/gtk-peer/Makefile.am (gcc_version): New variable.
(gcjversionedlibdir): Likewise.
(libgtkpeer_la_LDFLAGS): Likewise.
Install libgtkpeer.so in GCJ versioned library directory.
* native/jawt/Makefile.am (gcc_version): New variable.
(gcjversionedlibdir): Likewise.
(libjawt_la_LDFLAGS): Likewise.
Rename libjawtgnu.so libjawt.so. Install libjawt.so in GCJ
versioned library directory.
* gnu/java/awt/peer/gtk/GdkFontPeer.java (static): Call
System.loadLibrary unconditionally.
* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise.
* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Likewise.
* gnu/java/awt/peer/gtk/GdkGraphics.java: Likewise.
* gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise.
* gnu/java/awt/peer/gtk/GdkTextLayout.java: Likewise.
From-SVN: r114247
2006-05-06 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Add check for
HP-UX and add appropriate extension for shared libraries, sl.
(gcj_jni_test_one): Likewise.
* testsuite/lib/libjava.exp (libjava_find_lib): Add sl to the shared
library extensions.
From-SVN: r113587
PR libgcj/27171:
* testsuite/libjava.lang/pr27171.java: New file.
* testsuite/libjava.lang/pr27171.out: New file.
* gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Return
true if we've seen a high surrogate.
(write): Handle high surrogates at the end of the stream.
Properly emit isolated low surrogates.
From-SVN: r113013
gcc/java
* jcf-write.c (generate_bytecode_insns): Use qualifying type for
non-static method calls.
libjava
* testsuite/libjava.jacks/jacks.xfail: Removed
13.1-runtime-method-5.
From-SVN: r112102