unwind.h (_UA_END_OF_STACK): New flag.
* unwind.h (_UA_END_OF_STACK): New flag. * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it. From-SVN: r45384
This commit is contained in:
parent
7a98d9b248
commit
4c21ef03d1
3 changed files with 12 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2001-09-04 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* unwind.h (_UA_END_OF_STACK): New flag.
|
||||
* unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
|
||||
|
||||
Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
|
||||
|
|
|
@ -87,6 +87,7 @@ typedef int _Unwind_Action;
|
|||
#define _UA_CLEANUP_PHASE 2
|
||||
#define _UA_HANDLER_FRAME 4
|
||||
#define _UA_FORCE_UNWIND 8
|
||||
#define _UA_END_OF_STACK 16
|
||||
|
||||
/* This is an opaque type used to refer to a system-specific data
|
||||
structure used by the system unwinder. This context is created and
|
||||
|
|
|
@ -142,14 +142,18 @@ _Unwind_ForcedUnwind_Phase2(struct _Unwind_Exception *exc,
|
|||
while (1)
|
||||
{
|
||||
_Unwind_FrameState fs;
|
||||
int action;
|
||||
|
||||
code = uw_frame_state_for (context, &fs);
|
||||
if (code != _URC_NO_REASON && code != _URC_END_OF_STACK)
|
||||
return _URC_FATAL_PHASE2_ERROR;
|
||||
|
||||
/* Unwind successful. */
|
||||
stop_code = (*stop) (1, _UA_FORCE_UNWIND | _UA_CLEANUP_PHASE,
|
||||
exc->exception_class, exc, context, stop_argument);
|
||||
action = _UA_FORCE_UNWIND | _UA_CLEANUP_PHASE;
|
||||
if (code == _URC_END_OF_STACK)
|
||||
action |= _UA_END_OF_STACK;
|
||||
stop_code = (*stop) (1, action, exc->exception_class, exc,
|
||||
context, stop_argument);
|
||||
if (stop_code != _URC_NO_REASON)
|
||||
return _URC_FATAL_PHASE2_ERROR;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue