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>
diff --git a/libgo/runtime/go-unwind.c b/libgo/runtime/go-unwind.c
index 9fd9596..ad3142c 100644
--- a/libgo/runtime/go-unwind.c
+++ b/libgo/runtime/go-unwind.c
@@ -411,7 +411,7 @@
_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 @@
__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)),