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)),