summaryrefslogtreecommitdiff
path: root/gcc/config/arm/unwind-arm.h
diff options
context:
space:
mode:
authordrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-16 17:08:05 +0000
committerdrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-16 17:08:05 +0000
commit363d487eb26583d7e66b35d055543cf7e3348dd9 (patch)
tree099343db634a03965f65fd2dcff754e631fadd4b /gcc/config/arm/unwind-arm.h
parentd9af160209229462a87fd5ade82b352665c77aa0 (diff)
downloadgcc-363d487eb26583d7e66b35d055543cf7e3348dd9.tar.gz
gcc/
* config/arm/unwind-arm.c (abort): Add prototype here. (UCB_FORCED_STOP_ARG): Correct typo in macro argument. (struct phase1_vrs): Add prev_sp. (unwind_phase2_forced): Save the original core registers instead of modifying entry_vrs. Take a new flag argument for resuming unwinding and set action flags accordingly. Always set _US_END_OF_STACK when get_eit_entry fails. Unwind before calling the stop function. (_Unwind_GetCFA): New function. (__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced. (__gnu_Unwind_Resume_or_Rethrow): Likewise. (__gnu_Unwind_Resume): Do not unwind here for forced unwinding; just call unwind_phase2_forced. (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here. * config/arm/unwind-arm.h (abort): Remove prototype. (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to prototypes. (_Unwind_GetCFA): New prototype. * config/arm/pr-support.c (abort): Add prototype here. * unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle forced unwinding. * config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do not schedule the prologue with non-call exceptions and EABI. gcc/testsuite/ * gcc.dg/cleanup-5.c, gcc.dg/cleanup-8.c, gcc.dg/cleanup-9.c, gcc.dg/cleanup-10.c, gcc.dg/cleanup-11.c: Update for ARM EABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107091 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/unwind-arm.h')
-rw-r--r--gcc/config/arm/unwind-arm.h20
1 files changed, 4 insertions, 16 deletions
diff --git a/gcc/config/arm/unwind-arm.h b/gcc/config/arm/unwind-arm.h
index f0c545ff797..dd8d2affe39 100644
--- a/gcc/config/arm/unwind-arm.h
+++ b/gcc/config/arm/unwind-arm.h
@@ -37,10 +37,6 @@
#ifdef __cplusplus
extern "C" {
#endif
- /* We add a prototype for abort here to avoid creating a dependency on
- target headers. */
- extern void abort();
-
typedef unsigned _Unwind_Word __attribute__((__mode__(__word__)));
typedef signed _Unwind_Sword __attribute__((__mode__(__word__)));
typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));
@@ -195,18 +191,9 @@ extern "C" {
void * _Unwind_GetLanguageSpecificData (_Unwind_Context *);
_Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *);
- /* These two should never be used */
- static inline _Unwind_Ptr
- _Unwind_GetDataRelBase (_Unwind_Context * context __attribute__ ((unused)))
- {
- abort ();
- }
-
- static inline _Unwind_Ptr
- _Unwind_GetTextRelBase (_Unwind_Context * context __attribute__ ((unused)))
- {
- abort ();
- }
+ /* These two should never be used. */
+ _Unwind_Ptr _Unwind_GetDataRelBase (_Unwind_Context *);
+ _Unwind_Ptr _Unwind_GetTextRelBase (_Unwind_Context *);
/* Interface functions: */
_Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Control_Block *ucbp);
@@ -218,6 +205,7 @@ extern "C" {
_Unwind_Control_Block *, struct _Unwind_Context *, void *);
_Unwind_Reason_Code _Unwind_ForcedUnwind (_Unwind_Control_Block *,
_Unwind_Stop_Fn, void *);
+ _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *);
void _Unwind_Complete(_Unwind_Control_Block *ucbp);
void _Unwind_DeleteException (_Unwind_Exception *);