decl.c (java_init_decl_processing): Call "__cxa_end_cleanup" when using the ARM EABI.
authorAndrew Haley <aph@redhat.com>
Tue, 4 Sep 2007 15:03:54 +0000 (15:03 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Tue, 4 Sep 2007 15:03:54 +0000 (15:03 +0000)
2007-09-04  Andrew Haley  <aph@redhat.com>

        * decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
        when using the ARM EABI.

From-SVN: r128086

gcc/java/ChangeLog
gcc/java/decl.c

index 0adcbdb2b601c9ab23cb309b218d5e955ac261f3..6e27bb3236994dcdbd73d59d5ce65a46f914b1b2 100644 (file)
@@ -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.
index 8a6b0149ce5c95e12396cd832f29da5d6b73ebfd..5340617e1c3086523ae0e647cba8e0fcfb95aa03 100644 (file)
@@ -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;