From: Ian Lance Taylor Date: Wed, 24 Apr 2019 12:45:45 +0000 (+0000) Subject: re PR target/89093 (C++ exception handling clobbers d8 VFP register) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=972206e0c20a36d6b5a85e3842b52879330f5783;p=gcc.git 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 From-SVN: r270542 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index f5e8bd7b636..2e1c39947bb 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 9fd9596926a..ad3142cb05d 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)),