aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/decl.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 0adcbdb..6e27bb3 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-04 Andrew Haley <aph@redhat.com>
+
+ * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
+ when using the ARM EABI.
+
2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
* Make-lang.in (jvspec.o): Remove SHLIB_MULTILIB.
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 8a6b014..5340617e 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -1075,7 +1075,10 @@ java_init_decl_processing (void)
eh_personality_libfunc = init_one_libfunc (USING_SJLJ_EXCEPTIONS
? "__gcj_personality_sj0"
: "__gcj_personality_v0");
- default_init_unwind_resume_libfunc ();
+ if (targetm.arm_eabi_unwinder)
+ unwind_resume_libfunc = init_one_libfunc ("__cxa_end_cleanup");
+ else
+ default_init_unwind_resume_libfunc ();
lang_eh_runtime_type = do_nothing;