summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-04 15:03:54 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-04 15:03:54 +0000
commited59fd36a64db0ed51d6014744ff7f4893d2d5a9 (patch)
tree8d7bbb19f149d592e894d9dcdc4f9b74ee4952be
parente9e7c1989c0f0001e08c7e4d38dbf056c38c903a (diff)
downloadppe42-gcc-ed59fd36a64db0ed51d6014744ff7f4893d2d5a9.tar.gz
ppe42-gcc-ed59fd36a64db0ed51d6014744ff7f4893d2d5a9.zip
2007-09-04 Andrew Haley <aph@redhat.com>
* decl.c (java_init_decl_processing): Call "__cxa_end_cleanup" when using the ARM EABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128086 138bc75d-0d04-0410-961f-82ee72b054a4
-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 0adcbdb2b60..6e27bb32369 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 8a6b0149ce5..5340617e1c3 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;
OpenPOWER on IntegriCloud