re PR target/89093 (C++ exception handling clobbers d8 VFP register)
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 24 Apr 2019 12:45:45 +0000 (12:45 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 24 Apr 2019 12:45:45 +0000 (12:45 +0000)
PR target/89093
    runtime: mark unwind functions general-regs-only on ARM

    For https://gcc.gnu.org/PR89093.

    Change-Id: Ic426b43d633c77104bda01d4e7835bc9ab4695ef
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/173657
Reviewed-by: Ian Lance Taylor <iant@golang.org>
From-SVN: r270542

gcc/go/gofrontend/MERGE
libgo/runtime/go-unwind.c

index f5e8bd7b636b60e4002855736eb85042e799cd1b..2e1c39947bb07ff0d23209955c214c3fc69f0674 100644 (file)
@@ -1,4 +1,4 @@
-1d2b98a4af0188f3f1d4a3eaae928e1db8383a63
+56fe6a00892252edb4b28f8660ce29a985c48702
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 9fd9596926ab70587c3635d1c04aa91540fd4703..ad3142cb05d86c4b237da118b7cdc3863076dc64 100644 (file)
@@ -411,7 +411,7 @@ parse_lsda_header (struct _Unwind_Context *context, const unsigned char *p,
 _Unwind_Reason_Code
 PERSONALITY_FUNCTION (_Unwind_State, struct _Unwind_Exception *,
                      struct _Unwind_Context *)
-  __attribute__ ((no_split_stack, flatten));
+  __attribute__ ((no_split_stack, flatten, target ("general-regs-only")));
 
 _Unwind_Reason_Code
 PERSONALITY_FUNCTION (_Unwind_State state,
@@ -604,6 +604,9 @@ __gccgo_personality_dummy (int, _Unwind_Action, _Unwind_Exception_Class,
   __attribute__ ((no_split_stack));
 
 _Unwind_Reason_Code
+#ifdef __ARM_EABI_UNWINDER__
+__attribute__ ((target ("general-regs-only")))
+#endif
 __gccgo_personality_dummy (int version __attribute__ ((unused)),
                      _Unwind_Action actions __attribute__ ((unused)),
                      _Unwind_Exception_Class exception_class __attribute__ ((unused)),