Commit 0f7e4fe2 by Ramana Radhakrishnan Committed by Jakub Jelinek

re PR target/89093 (C++ exception handling clobbers d8 VFP register)

	PR target/89093
	* raise-gcc.c (TARGET_ATTRIBUTE): Define.
	(continue_unwind, personality_body, PERSONALITY_FUNCTION): Add
	TARGET_ATTRIBUTE.

Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r270535
parent 3795b582
2019-04-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Bernd Edlinger <bernd.edlinger@hotmail.de>
Jakub Jelinek <jakub@redhat.com>
PR target/89093
* raise-gcc.c (TARGET_ATTRIBUTE): Define.
(continue_unwind, personality_body, PERSONALITY_FUNCTION): Add
TARGET_ATTRIBUTE.
2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
* libgnat/i-cexten.ads (CFloat_128): New type.
......
......@@ -1154,10 +1154,18 @@ extern void __gnat_notify_unhandled_exception (struct Exception_Occurrence *);
#define PERSONALITY_FUNCTION __gnat_personality_v0
#endif
#if defined (__ARM_EABI_UNWINDER__) \
&& (defined (IN_RTS) || GCC_VERSION > 9000)
#define TARGET_ATTRIBUTE __attribute__((target ("general-regs-only")))
#else
#define TARGET_ATTRIBUTE
#endif
/* Code executed to continue unwinding. With the ARM unwinder, the
personality routine must unwind one frame (per EHABI 7.3 4.). */
static _Unwind_Reason_Code
TARGET_ATTRIBUTE
continue_unwind (struct _Unwind_Exception* ue_header ATTRIBUTE_UNUSED,
struct _Unwind_Context* uw_context ATTRIBUTE_UNUSED)
{
......@@ -1172,6 +1180,7 @@ continue_unwind (struct _Unwind_Exception* ue_header ATTRIBUTE_UNUSED,
between all unwinders. */
static _Unwind_Reason_Code
TARGET_ATTRIBUTE
personality_body (_Unwind_Action uw_phases,
_Unwind_Exception *uw_exception,
_Unwind_Context *uw_context)
......@@ -1342,6 +1351,7 @@ PERSONALITY_FUNCTION (_Unwind_State state,
struct _Unwind_Context* uw_context);
PERSONALITY_STORAGE _Unwind_Reason_Code
TARGET_ATTRIBUTE
PERSONALITY_FUNCTION (_Unwind_State state,
struct _Unwind_Exception* uw_exception,
struct _Unwind_Context* uw_context)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment