aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-04-24 12:45:45 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-04-24 12:45:45 +0000
commit972206e0c20a36d6b5a85e3842b52879330f5783 (patch)
tree59e5fa434de9d522ee112e44ee9b890b40b15982
parent9e1558d3223ebe758877768711f3e4281d0eae4b (diff)
downloadgcc-972206e0c20a36d6b5a85e3842b52879330f5783.zip
gcc-972206e0c20a36d6b5a85e3842b52879330f5783.tar.gz
gcc-972206e0c20a36d6b5a85e3842b52879330f5783.tar.bz2
re PR target/89093 (C++ exception handling clobbers d8 VFP register)
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
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/runtime/go-unwind.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index f5e8bd7..2e1c399 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -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.
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 @@ 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)),