diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-04-24 12:45:45 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-04-24 12:45:45 +0000 |
commit | 972206e0c20a36d6b5a85e3842b52879330f5783 (patch) | |
tree | 59e5fa434de9d522ee112e44ee9b890b40b15982 | |
parent | 9e1558d3223ebe758877768711f3e4281d0eae4b (diff) | |
download | gcc-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/MERGE | 2 | ||||
-rw-r--r-- | libgo/runtime/go-unwind.c | 5 |
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)), |