Commit Graph

37 Commits

Author SHA1 Message Date
Tristan Gingold
bf1431e359 eh_personality.cc (__gxx_personality_seh0): New function.
libstdc++-v3/
	* libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
	Adjust for SEH.
	* config/abi/pre/gnu.ver: Add __gxx_personality_seh0.

libobjc/
	* exception.c (__gnu_objc_personality_seh0): New function.

libjava/
	* libgcj.ver: Add __gcj_personality_seh0.
	* exception.cc (__gcj_personality_seh0): New function.
	Adjust for SEH.

libgcc/
	* unwind-seh.c: New file.
	* unwind-generic.h: Include windows.h for SEH.
	(_Unwind_Exception): Use 6 private fields for SEH.
	(_GCC_specific_handler): Declare.
	* unwind-c.c (__gcc_personality_seh0): New function.
	Adjust for SEH.
	* config/i386/libgcc-cygming.ver: New file.
	* config/i386/t-seh-eh: New file.
	* config.host (x86_64-*-mingw*): Default to seh.

gcc/
	* opts.c (finish_options): Handle UI_SEH.
	* expr.c (build_personality_function): Handle UI_SEH.
	* dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
	* coretypes.h (unwind_info_type): Add UI_SEH.
	* config/i386/winnt.c (i386_pe_seh_emit_except_personality):
	New function.
	(i386_pe_seh_init_sections): Likewise.
	* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
	(TARGET_ASM_INIT_SECTIONS): Define.
	* common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
	(i386_except_unwind_info): New function.


Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r189644
2012-07-19 07:29:24 +00:00
Paul Brook
86220f3f94 exception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.
2011-10-17  Paul Brook  <paul@codesourcery.com>

        * exception.cc (parse_lsda_header): hardcode ttype_encoding for older
        ARM EABI toolchains.
        (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.

From-SVN: r180254
2011-10-20 13:56:12 +00:00
Rainer Orth
693ed63381 jcf-dump.c (print_constant): Cast first frexp arg.
gcc/java:
	* jcf-dump.c (print_constant): Cast first frexp arg.

	libjava:
	* exception.cc (std::abort): Remove static.

From-SVN: r177612
2011-08-10 08:40:17 +00:00
Jakub Jelinek
60d3aec487 tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable.
* tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
	used count variable.
	* genemit.c (gen_expand, gen_split): Avoid set but not used warnings
	when operandN variables aren't used in the body of the expander
	or splitter.
	* tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
	FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
	* tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
	* tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
	FOR_EACH_IMM_USE_ON_STMT): Likewise.
	* tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
	* tree.c (PROCESS_ARG): Likewise.
fortran/
	* parse.c (parse_derived, parse_enum): Avoid set but not used
	warning.
java/
	* expr.c (process_jvm_instruction): Avoid set but not used warning.
	* builtins.c (compareAndSwapInt_builtin, compareAndSwapLong_builtin,
	getVolatile_builtin): Likewise.
libjava/
	* exception.cc (_Jv_Throw): Avoid set but not used warning.
	* include/java-assert.h (JvAssertMessage, JvAssert): Use argument in
	sizeof to avoid set but not used warnings.
libjava/classpath/
	* native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c
	(Java_gnu_javax_sound_midi_alsa_AlsaPortDevice_run_1receiver_1thread_1):
	Avoid set but not used warning.
libiberty/
	* regex.c (byte_re_match_2_internal): Avoid set but not used
	warning.
gcc/testsuite/
	* gcc.dg/builtin-choose-expr.c: Avoid set but not used warnings.
	* gcc.dg/trunc-1.c: Likewise.
	* gcc.dg/vla-9.c: Likewise.
	* gcc.dg/dfp/composite-type.c: Likewise.
libffi/
	* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.

From-SVN: r158084
2010-04-07 22:27:37 +02:00
Eric Botcazou
0761b46229 * exception.cc (PERSONALITY_FUNCTION): Fix oversight.
From-SVN: r154159
2009-11-13 18:05:20 +00:00
Andrew Haley
f202305d01 [multiple changes]
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
2007-09-04 18:00:31 +00:00
Andreas Krebbel
f767122b2e unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.
2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with 
	_uleb128_t and _Unwind_SWord with _sleb128_t.
	* unwind-dw2.c (extract_cie_info, execute_stack_op, execute_cfa_program,
	uw_frame_state_for, uw_update_context_1): Likewise.
	* unwind-c.c (parse_lsda_header, PERSONALITY_FUNCTION): Likewise.
	* unwind-pe.h (read_uleb128, read_sleb128,
	read_encoded_value_with_base): Likewise.
	* unwind-generic.h: Define _sleb128_t and _uleb128_t types.

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

	* libsupc++/eh_personality.cc (parse_lsda_header, check_exception_spec,
	get_ttype_entry, empty_exception_spec, PERSONALITY_FUNCTION): Replaced
	_Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.

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.

From-SVN: r121116
2007-01-24 14:46:47 +00:00
Jack Howarth
d4708d9dd4 re PR target/26792 (need to use autoconf when using newly-added libgcc functions)
2006-09-26  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR target/26792:
	* exception.cc (PERSONALITY_FUNCTION): use _Unwind_GetIP
	if HAVE_GETIPINFO not defined.
	* stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Likewise.
	(_Jv_StackTrace::getLineNumberForFrame): Likewise.
	* configure.ac: use GCC_CHECK_UNWIND_GETIPINFO.
	* aclocal.m4, configure, include/config.h.in, Makefile.in:
	Rebuilt.

From-SVN: r117259
2006-09-27 21:24:23 +00:00
Jakub Jelinek
754e45a867 re PR other/26208 (Serious problem with unwinding through signal frames)
PR other/26208
	* unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
	(extract_cie_info): Handle S flag in augmentation string.
	(execute_cfa_program): If context->signal_frame, execute also
	fs->pc == context->ra instructions.
	(uw_frame_state_for): If context->signal_frame, don't subtract one
	from context->ra to find FDE.
	(uw_update_context_1): Set context->signal_frame to
	fs->signal_frame.
	(_Unwind_GetIPInfo): New function.
	* unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
	* unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
	of _Unwind_GetIP.
	* unwind-sjlj.c (_Unwind_GetIPInfo): New function.
	* unwind-generic.h (_Unwind_GetIPInfo): New prototype.
	* unwind-compat.c (_Unwind_GetIPInfo): New function.
	* libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
	* config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
	* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
	* config/i386/linux-unwind.h (x86_fallback_frame_state,
	x86_64_fallback_frame_state): Set fs->signal_frame.
	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
	(MD_FROB_UPDATE_CONTEXT): Define unconditionally.
	(frob_update_context): Likewise.  Workaround missing S flag in
	Linux 2.6.12 - 2.6.16 kernel vDSOs.
	* config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
	Remove the psw_addr + 1 hack.
libjava/
	* exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
	of _Unwind_GetIP.
	* include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro.
	(HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through
	to throw.
	* include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
	* include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
libstdc++-v3/
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
	_Unwind_GetIPInfo instead of _Unwind_GetIP.

From-SVN: r111488
2006-02-27 18:26:26 +01:00
Richard Henderson
ce88799c37 * exception.cc: Revert 05-17 gcc_unreachable change.
From-SVN: r100004
2005-05-19 18:28:35 -07:00
Nathan Sidwell
79d0dfa314 unwind-dw2-fde-glibc.c (base_from_cb_data, [...]): Use gcc_assert and gcc_unreachable as appropriate.
* unwind-dw2-fde-glibc.c (base_from_cb_data,
	_Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as
	appropriate.
	* unwind-dw2-fde.c (__deregister_frame_info_bases,
	base_from_object, fde_split, end_fde_sort): Likewise.
	* unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op,
	execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1,
	uw_init_context_1): Likewise.
	* unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume,
	_Unwind_Resume_or_Rethrow): Likewise.
	* unwind-pe.h (__gxx_abort): Do not define.
	(size_of_encoded_value, base_of_encoded_value,
	read_encoded_value_with_base): Use gcc_unreachable.
	* unwind.h (_Unwind_GetTextRelBase): Likewise.

From-SVN: r99835
2005-05-17 15:37:47 +00:00
Bryce McKinlay
c0cbd60130 exception.cc: Remove stray MethodRef.h include.
2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>

        * exception.cc: Remove stray MethodRef.h include.
        * java/lang/natClass.cc: Likewise.
        * gnu/gcj/runtime/MethodRef.java: Removed.
        * gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
        gnu/gcj/runtime/natStackTrace.cc: Really removed.
        * java/lang/natRuntime.cc (_load): Remove unsed variable.
        * Makefile.am (ordinary_java_source_files): Remove MethodRef.java.
        * Makefile.in: Rebuilt.

From-SVN: r96288
2005-03-11 04:30:20 +00:00
Bryce McKinlay
18744d9b72 New Stack Trace infrastructure.
2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>

	New Stack Trace infrastructure.
	* Makefile.am (libgcj0_convenience_la_SOURCES): Add stacktrace.cc.
	(gnu/gcj/runtime/StackTrace.lo): Removed.
	(ordinary_java_source_files): Remove obsolete files.
	(nat_source_files): Remove obsolete files. Add natVMThrowable.cc.
	* configure.host (fallback_backtrace_h): Set backtrace header
	for mingw and cygwin targets.
	* configure.ac: Make symlink for fallback backtrace headers.
	* Makefile.in, configure: Rebuilt.
	* defineclass.cc (_Jv_ClassReader::read_one_code_attribute):
	Read 'LineNumberTable' attribute.
	(_Jv_ClassReader::read_one_class_attribute): Read 'SourceFile'
	attribute.
	(_Jv_ClassReader::handleCodeAttribute): Initialize method line
	table fields.
	* exception.cc: Remove unused include.
	* interpret.cc (DIRECT_THREADED, insn_slot): Moved to java-interp.h.
	(SAVE_PC): New macro. Save current PC in the interpreter frame.
	(NULLCHECK, NULLARRAYCHECK): Use SAVE_PC.
	(_Jv_InterpMethod::compile): Translate bytecode PC values in the line
	table to direct threaded instruction values.
	(_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): Removed.
	(_Jv_InterpMethod::run): No longer member function. All
	callers updated. Remove _Unwind calls. Call SAVE_PC whenever a call
	is made or where an instruction could throw.
	(_Jv_InterpMethod::get_source_line): New. Look up source line numbers
	in line_table.
	* prims.cc (catch_segv): Construct exception after MAKE_THROW_FRAME.
	(catch_fpe): Likewise.
	* stacktrace.cc: New file. Stack trace code now here.
	* gnu/gcj/runtime/MethodRef.java:
	* gnu/gcj/runtime/NameFinder.java: Mostly reimplemented. Now simply
	calls addr2line to look up PC addresses in a given binary or shared
	library.
	* gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
	gnu/gcj/runtime/natStackTrace.cc: Removed.
	* gnu/java/lang/MainThread.java (call_main): Add comment warning that
	this function name is specially recognised by the stack trace code
	and shouldn't be changed.
	* include/java-interp.h (DIRECT_THREADED, insn_slot): Moved here.
	(struct  _Jv_LineTableEntry, line_table, line_table_len): New.
	(_Jv_InterpMethod::run): Update declaration.
	(_Jv_StackTrace_): New friend. NameFinder and StackTrace no longer
	friends.
	(_Jv_InterpFrame): Renamed from _Jv_MethodChain. Add PC field.
	* include/java-stack.h: New file. Declarations for stack tracing.
	* include/jvm.h (_Jv_Frame_info): Removed.
	* java/lang/Class.h: Update friend declarations.
	* java/lang/VMClassLoader.java (getSystemClassLoader): Simplify
	exception message.
	* java/lang/VMThrowable.java (fillInStackTrace): Now native.
	(getStackTrace): Now native.
	(data): New RawDataManaged field.
	* java/lang/natClass.cc: Update includes.
	(forName): Use _Jv_StackTrace::GetCallingClass for
	calling-classloader check.
	(getClassLoader): Likewise.
	* java/lang/natRuntime.cc: Update includes.
	(_load): Use _Jv_StackTrace::GetFirstNonSystemClassLoader.
	* java/lang/natVMSecurityManager.cc: Update includes.
	(getClassContext): Use _Jv_StackTrace::GetClassContext.
	* java/lang/natVMThrowable.cc: New file. Native methods for
	VMThrowable.
	* java/lang/reflect/natArray.cc: Update includes.
	(newInstance): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natConstructor.cc: Update includes.
	(newInstance): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natField.cc: Update includes.
	(getAddr): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natMethod.cc: Update includes.
	(invoke): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/util/natResourceBundle.cc: Update includes.
	(getCallingClassLoader): Use _Jv_StackTrace::GetCallingClass.
	* java/util/logging/natLogger.cc: Update includes. Use
	_Jv_StackTrace::GetCallerInfo to get call-site info.
	* sysdep/generic/backtrace.h: Fallback backtrace code. Stub
	implementation.
	* sysdep/i386/backtrace.h: New. Fallback backtrace code. i386
	implementation.

From-SVN: r96253
2005-03-10 19:02:21 +00:00
Andrew Haley
904715853c lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
2003-10-22  Andrew Haley  <aph@redhat.com>

        * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
        (java_get_callee_fndecl): New.

        * jcf-parse.c (java_parse_file): Call emit_catch_table().

        * java-tree.h (ctable_decl): New.
        (catch_classes):  New.
        (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.

        * decl.c (java_init_decl_processing): Add catch_class_type.
        Add ctable_decl.
        Add catch_classes field.

        * class.c (build_indirect_class_ref): Break out from
        build_class_ref.
        (make_field_value): Check flag_indirect_dispatch.
        (make_class_data): Ditto.
        Tidy uses of PUSH_FIELD_VALUE.
        Add field catch_classes.
        (make_catch_class_record): New.

        * java-tree.h (PUSH_FIELD_VALUE): Tidy.

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

        * java/lang/natClass.cc (initializeClass): Call
        _Jv_linkExceptionClassTable.
        (_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError.  Call
        _Jv_Defer_Resolution on a method whose ncode is NULL.
        (_Jv_linkExceptionClassTable): New function.
        (_Jv_LayoutVTableMethods): If superclass looks like a constant pool
        entry, look it up.
        * java/lang/Class.h (struct _Jv_CatchClass): New.
        (_Jv_linkExceptionClassTable): New friend.
        (_Jv_Defer_Resolution): New friend.
        (class Class.catch_classes): New field.
        * include/java-interp.h (Jv_Defer_Resolution): New method.
        (_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
        (_Jv_MethodBase.deferred): New field.
        (_Jv_Defer_Resolution): New function.
        * resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
        * exception.cc (get_ttype_entry): Change return type to void**.
        (PERSONALITY_FUNCTION): Remove all code related to using a
        Utf8Const* for a match type.  Change match type to be a pointer to
        a pointer, rather than a pointer to a Class.
        * defineclass.cc (handleCodeAttribute): Initialize
        method->deferred.
        (handleMethodsEnd): Likewise.

From-SVN: r72886
2003-10-24 09:29:43 +00:00
Andrew Haley
f2f3f409f6 [multiple changes]
2003-01-31  Andrew Haley  <aph@redhat.com>

	* except.c (prepare_eh_table_type): Use new encoding for exception
	handlers when using -fno-assume-compiled.

2003-08-20  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/StackTrace.java (getClass): New method.
	* gnu/gcj/runtime/natStackTrace.cc (getClass): New method.
	(classAt): Break out class lookup function into getClass().
	* exception.cc (PERSONALITY_FUNCTION): Use new encoding for exception
	handlers when using -fno-assume-compiled.

From-SVN: r70605
2003-08-20 17:27:56 +00:00
Jeff Sturm
4017ae6e8b exception.cc (PERSONALITY_FUNCTION): Clear least-significant-bit of catch_type.
* exception.cc (PERSONALITY_FUNCTION): Clear least-significant-bit
of catch_type.
* java/lang/natClass.cc (initializeClass): Link vtable, otable,
idt tables after initializing superclass.
* java/lang/natClassLoader.cc (uaddr): New typedef.
(_Jv_PrepareCompiledClass): Resolve superclass, interfaces
if they are constant pool indicies.  Don't link vtable, otable yet.

From-SVN: r60450
2002-12-23 19:59:31 +00:00
Adam Megacz
c950ddc382 exception.cc (abort): added static modifier
2002-04-05  Adam Megacz <adam@xwt.org>

    * exception.cc (abort): added static modifier

From-SVN: r51937
2002-04-06 04:19:10 +00:00
Tom Tromey
cf3c6c99b8 * exception.cc (std::abort): Mark as noreturn.
From-SVN: r49717
2002-02-13 00:29:42 +00:00
Adam Megacz
1e41e84370 exception.cc (_Jv_Throw, [...]): Changed std::abort() to simply abort().
2002-02-11  Adam Megacz <adam@xwt.org>

    * exception.cc (_Jv_Throw, PERSONALITY_FUNCTION): Changed
    std::abort() to simply abort(). Also added "fake" std::abort() so
    we can #include unwind-pe.h without having to link against
    libstdc++-v3.

From-SVN: r49685
2002-02-11 22:28:58 +00:00
Bryce McKinlay
7866a458e2 jvm.h (_Jv_AllocRawObj): New prototype.
* include/jvm.h (_Jv_AllocRawObj): New prototype.
	* boehm.cc (_Jv_AllocRawObj): Implement.
	* nogc.cc (_Jv_AllocRawObj): Likewise.
	* exception.cc (_Jv_Throw): Use _Jv_AllocRawObj, not GC_malloc.

From-SVN: r45497
2001-09-10 02:21:08 +01:00
Jason Merrill
6c8d43e78d exception.cc (PERSONALITY_FUNCTION): Simplify leb128 handling.
* exception.cc (PERSONALITY_FUNCTION): Simplify
        leb128 handling.

From-SVN: r45317
2001-08-31 08:27:32 -04:00
Alexandre Petit-Bianco
9b8c19b4f5 exception.cc (cstdlib): Replaces stdlib.h.
2001-06-10  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * exception.cc (cstdlib): Replaces stdlib.h.
        (_Jv_Throw): Use std::abort().
        (PERSONALITY_FUNCTION): Likewise.

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg00620.html )

From-SVN: r43153
2001-06-10 13:59:37 -07:00
Bryce McKinlay
1f4eb17d51 configure.in: Update boehm-gc include dir for new GC version.
* configure.in: Update boehm-gc include dir for new GC version.
	* configure: Rebuilt.
	* exception.cc: Only include <gc.h>. Remove TRUE/FALSE hacks and
	extern "C" wrapper.
	* boehm.cc: Update includes for new GC version. MAKE_PROC is now
	GC_MAKE_PROC. mark_proc is now GC_mark_proc.
	* posix-threads.cc: Only include <gc.h>. Don't need to wrap with
	extern "C".

From-SVN: r42380
2001-05-21 09:37:04 +01:00
Richard Henderson
5f2fa73083 exception.cc: Include unwind-pe.h.
* exception.cc: Include unwind-pe.h.  Remove all pointer
        encoding logic.

From-SVN: r41983
2001-05-11 23:17:31 -07:00
Richard Henderson
212a2676d3 configure.in (GCC_UNWIND_INCLUDE): Assume we're built within the same tree as gcc.
* configure.in (GCC_UNWIND_INCLUDE): Assume we're built within
        the same tree as gcc.
        * configure: Rebuilt.

        * exception.cc (_Jv_Throw): Clarify commentary.

From-SVN: r41025
2001-04-02 16:26:50 -07:00
Richard Henderson
52a11cbfcf IA-64 ABI Exception Handling.
From-SVN: r40924
2001-03-28 03:04:51 -08:00
Richard Henderson
b3208f56cb exception.cc (java_eh_info): Make value type jthrowable.
* exception.cc (java_eh_info): Make value type jthrowable.
	(_Jv_type_matcher): Remove now unneeded cast.
	(_Jv_Throw): Make argument type jthrowable.  Munge name
	for SJLJ_EXCEPTIONS here ...
	* gcj/cni.h: ... not here.
	(JvThrow): Remove.
	* gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.

	* defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
	prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
	gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
	gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
	gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
	java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
	java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
	java/lang/natClass.cc, java/lang/natClassLoader.cc,
	java/lang/natDouble.cc, java/lang/natObject.cc,
	java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
	java/lang/natString.cc, java/lang/natSystem.cc,
	java/lang/natThread.cc, java/lang/reflect/natArray.cc,
	java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
	java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
	java/util/zip/natInflater.cc:
	Use throw, not JvThrow or _Jv_Throw.

From-SVN: r40838
2001-03-25 23:05:32 -08:00
Bryce McKinlay
c26f7a3165 exception.cc: Don't #include "exception".
2000-10-13  Bryce McKinlay  <bryce@albatross.co.nz>

	* exception.cc: Don't #include "exception".
	(_Jv_eh_alloc): Call abort (), not terminate (), if malloc fails.

	* Makefile.am (libgcj_la_LDFLAGS): Link in libsupc++.
	* Makefile.in: Updated.

From-SVN: r36855
2000-10-13 05:45:57 +01:00
Tom Tromey
878885b411 [multiple changes]
2000-03-15  Tom Tromey  <tromey@cygnus.com>

	* java/io/natFileDescriptorWin32.cc (winerr): Now static.

	* prims.cc (win32_exception_handler): Reformatted.

	* include/win32-threads.h (_Jv_HaveCondDestroy): New define.
	(_Jv_HaveMutexDestroy): Likewise.

2000-03-15 Jon Beniston <jb7216@bristol.ac.uk>

	* java/io/natFileDescriptorWin32.cc: New file.
	* java/io/natFileWin32.cc: New file.
	* java/net/natInetAddress.cc: Added conditional inclusion of
	Windows / Winsock headers.
	* java/net/natPlainDatagramSocketImpl.cc: Added conditional
	inclusion of Windows / Winsock headers.
	* java/net/natPlainSocketImpl.cc: Added conditional inclusion of
	Windows / Winsock headers.
	* include/win32-signal.h: New file.
	* include/win32-threads.h: New file.
	* win32-threads.cc: New file.
	* exception.cc (win32_get_restart_frame): New function.
	* prims.cc (win32_exception_handler): New function.
	(main_init) Performs Winsock initialisation.
	(main_init) Installs exeception handler.

From-SVN: r32567
2000-03-15 22:03:19 +00:00
Tom Tromey
2ba5f77454 All files: Updated copyright information.
* All files: Updated copyright information.
	* COPYING: New file.
	* COPYING.LIB: Removed.
	* LIBGCJ_LICENSE: We now use GPL + special exception.

From-SVN: r32387
2000-03-07 19:55:28 +00:00
Tom Tromey
7c734b1758 * All files: Updated copyright to reflect Cygnus purchase.
From-SVN: r31504
2000-01-19 18:39:27 +00:00
Per Bothner
9b811d11de exception.cc: Remove prototype declarations for malloc and free.
1999-11-27  Per Bothner  <per@bothner.com>

	* exception.cc:  Remove prototype declarations for malloc and free.
	These clash with recent versions of glibc, which specifies `throws ()'
	when __cplusplus is defined.  Instead, #include <stdlib.h>.

From-SVN: r30709
1999-11-29 19:43:55 +00:00
Tom Tromey
3cf88fb4e8 sjlj jumbo patch
From-SVN: r30591
1999-11-19 19:13:42 +00:00
Tom Tromey
27e934d8ba configure: Rebuilt.
* configure: Rebuilt.
	* configure.in: Build include/Makefile.
	* Makefile.in: Rebuilt.
	* Makefile.am (SUBDIRS): Added gcj and include.
	(install-data-local): New target.
	(extra_headers): New macro.
	* include/Makefile.in: New file.
	* include/Makefile.am: New file.

	* interpret.cc: Don't include gcj/field.h or gcj/cni.h.
	* java/lang/reflect/natField.cc: Don't include gcj/field.h or
	gcj/cni.h.
	* boehm.cc: Don't include java-threads.h or gcj/field.h.
	* resolve.cc: Include config.h.
	* defineclass.cc: Include config.h.
	* include/java-interp.h: Don't include config.h.
	* include/jvm.h: Include java-threads.h, Object.h, java-gc.h,
	cni.h.

	* gcj/javaprims.h: Regenerated namespace decls.
	* classes.pl (scan): Don't put `;' after closing brace.

	* Makefile.in: Rebuilt.
	* Makefile.am (INCLUDES): Added -I for top_srcdir.
	* configure.in: Create gcj/Makefile.
	* gcj/Makefile.in: New file.
	* gcj/Makefile.am: New file.
	* java/lang/Object.h: Don't include any other headers.
	* gcj/array.h: Renamed from include/java-array.h.
	* gcj/field.h: Renamed from include/java-field.h.
	* gcj/method.h: Renamed from include/java-method.h.
	* gcj/cni.h, gcj/javaprims.h: Moved from include/.
	Updated all files to reflect new include structure.

From-SVN: r29278
1999-09-10 22:03:10 +00:00
Bryce McKinlay
25fef12b66 ServerSocket.java: Define ANY_IF.
* java/net/ServerSocket.java: Define ANY_IF.
        (ServerSocket (int,int)): Use ANY_IF instead of null to bind to
        all network interfaces.
        * java/net/DatagramSocket.java (DatagramSocket): ditto.
        * java/net/natPlainSocketImpl.cc (bind): Expect 0.0.0' instead of
        null.
        * java/net/natPlainDatagramSocketImpl (bind): Expect 0.0.0'
        instead of null.

From-SVN: r28429
1999-08-03 01:30:53 +01:00
Bryce McKinlay
a0e4da0d17 boehm.cc (_Jv_RegisterFinalizer): Cast eth' to GC_PTR.
eth'

        * boehm.cc (_Jv_RegisterFinalizer): Cast 
eth' to GC_PTR.
        * exception.cc (_Jv_Throw): Cast _Jv_type_matcher' to __eh_matcher.

From-SVN: r28428
1999-08-03 01:23:03 +01:00
Tom Tromey
ee9dd3721b Initial revision
From-SVN: r26263
1999-04-07 14:42:40 +00:00