Back to index

glibc  2.9
Classes | Defines | Typedefs | Enumerations | Functions | Variables
unwind.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _Unwind_Exception

Defines

#define _UA_SEARCH_PHASE   1
#define _UA_CLEANUP_PHASE   2
#define _UA_HANDLER_FRAME   4
#define _UA_FORCE_UNWIND   8
#define _UA_END_OF_STACK   16

Typedefs

typedef unsigned _Unwind_Word __attribute__ ((__mode__(__word__)))
typedef void(* _Unwind_Exception_Cleanup_Fn )(_Unwind_Reason_Code, struct _Unwind_Exception *)
typedef int _Unwind_Action
typedef _Unwind_Reason_Code(* _Unwind_Stop_Fn )(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, struct _Unwind_Context *, void *)
typedef _Unwind_Reason_Code(* _Unwind_Trace_Fn )(struct _Unwind_Context *, void *)
typedef _Unwind_Reason_Code(* _Unwind_Personality_Fn )(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, struct _Unwind_Context *)

Enumerations

enum  _Unwind_Reason_Code {
  _URC_OK = 0, _URC_FOREIGN_EXCEPTION_CAUGHT = 1, _URC_END_OF_STACK = 5, _URC_HANDLER_FOUND = 6,
  _URC_INSTALL_CONTEXT = 7, _URC_CONTINUE_UNWIND = 8, _URC_FAILURE = 9, _URC_NO_REASON = 0,
  _URC_FOREIGN_EXCEPTION_CAUGHT = 1, _URC_FATAL_PHASE2_ERROR = 2, _URC_FATAL_PHASE1_ERROR = 3, _URC_NORMAL_STOP = 4,
  _URC_END_OF_STACK = 5, _URC_HANDLER_FOUND = 6, _URC_INSTALL_CONTEXT = 7, _URC_CONTINUE_UNWIND = 8
}

Functions

struct _Unwind_Exception __attribute__ ((__aligned__))
_Unwind_Reason_Code _Unwind_RaiseException (struct _Unwind_Exception *)
_Unwind_Reason_Code _Unwind_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *)
void _Unwind_DeleteException (struct _Unwind_Exception *)
void _Unwind_Resume (struct _Unwind_Exception *)
_Unwind_Reason_Code _Unwind_Backtrace (_Unwind_Trace_Fn, void *)
_Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int)
void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word)
_Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *)
void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr)
_Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *)
void * _Unwind_GetLanguageSpecificData (struct _Unwind_Context *)
_Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *)
void _Unwind_SjLj_Register (struct SjLj_Function_Context *)
void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *)
_Unwind_Reason_Code _Unwind_SjLj_RaiseException (struct _Unwind_Exception *)
_Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *)
void _Unwind_SjLj_Resume (struct _Unwind_Exception *)
_Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *)
_Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *)
void * _Unwind_FindEnclosingFunction (void *pc)

Variables

_Unwind_Exception_Class exception_class
_Unwind_Exception_Cleanup_Fn exception_cleanup
_Unwind_Word private_1
_Unwind_Word private_2

Class Documentation

struct _Unwind_Exception

Definition at line 77 of file unwind.h.

Collaboration diagram for _Unwind_Exception:
Class Members
_Unwind_Exception_Class exception_class
_Unwind_Exception_Cleanup_Fn exception_cleanup
_Unwind_Word private_1
_Unwind_Word private_2

Define Documentation

#define _UA_CLEANUP_PHASE   2

Definition at line 95 of file unwind.h.

#define _UA_END_OF_STACK   16

Definition at line 98 of file unwind.h.

#define _UA_FORCE_UNWIND   8

Definition at line 97 of file unwind.h.

#define _UA_HANDLER_FRAME   4

Definition at line 96 of file unwind.h.

#define _UA_SEARCH_PHASE   1

Definition at line 94 of file unwind.h.


Typedef Documentation

typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__)))

Definition at line 35 of file unwind.h.

Definition at line 92 of file unwind.h.

Definition at line 74 of file unwind.h.

Definition at line 168 of file unwind.h.

Definition at line 112 of file unwind.h.

Definition at line 130 of file unwind.h.


Enumeration Type Documentation

Enumerator:
_URC_OK 
_URC_FOREIGN_EXCEPTION_CAUGHT 
_URC_END_OF_STACK 
_URC_HANDLER_FOUND 
_URC_INSTALL_CONTEXT 
_URC_CONTINUE_UNWIND 
_URC_FAILURE 
_URC_NO_REASON 
_URC_FOREIGN_EXCEPTION_CAUGHT 
_URC_FATAL_PHASE2_ERROR 
_URC_FATAL_PHASE1_ERROR 
_URC_NORMAL_STOP 
_URC_END_OF_STACK 
_URC_HANDLER_FOUND 
_URC_INSTALL_CONTEXT 
_URC_CONTINUE_UNWIND 

Definition at line 52 of file unwind.h.


Function Documentation

struct _Unwind_Exception __attribute__ ( (__aligned__)  )
void* _Unwind_FindEnclosingFunction ( void *  pc)

Definition at line 227 of file unwind-dw2.c.

{
  struct dwarf_eh_bases bases;
  struct dwarf_fde *fde = _Unwind_Find_FDE (pc-1, &bases);
  if (fde)
    return bases.func;
  else
    return NULL;
}

Definition at line 94 of file unwind-forcedunwind.c.

{
  if (__builtin_expect (libgcc_s_forcedunwind == NULL, 0))
    pthread_cancel_init ();

  return libgcc_s_forcedunwind (exc, stop, stop_argument);
}

Here is the call graph for this function:

_Unwind_Word _Unwind_GetCFA ( struct _Unwind_Context )

Definition at line 104 of file unwind-forcedunwind.c.

Here is the call graph for this function:

_Unwind_Ptr _Unwind_GetDataRelBase ( struct _Unwind_Context )

Definition at line 239 of file unwind-dw2.c.

{
  return (_Unwind_Ptr) context->bases.dbase;
}
_Unwind_Word _Unwind_GetGR ( struct _Unwind_Context ,
int   
) [inline]

Definition at line 176 of file unwind-dw2.c.

{
  /* This will segfault if the register hasn't been saved.  */
  return * (_Unwind_Word *) context->reg[index];
}
_Unwind_Ptr _Unwind_GetIP ( struct _Unwind_Context ) [inline]

Definition at line 201 of file unwind-dw2.c.

{
  return (_Unwind_Ptr) context->ra;
}

Definition at line 215 of file unwind-dw2.c.

{
  return context->lsda;
}
_Unwind_Ptr _Unwind_GetRegionStart ( struct _Unwind_Context )

Definition at line 221 of file unwind-dw2.c.

{
  return (_Unwind_Ptr) context->bases.func;
}
_Unwind_Ptr _Unwind_GetTextRelBase ( struct _Unwind_Context )

Definition at line 245 of file unwind-dw2.c.

{
  return (_Unwind_Ptr) context->bases.tbase;
}
void _Unwind_Resume ( struct _Unwind_Exception )

Definition at line 72 of file unwind-forcedunwind.c.

Here is the call graph for this function:

void _Unwind_SetGR ( struct _Unwind_Context ,
int  ,
_Unwind_Word   
) [inline]

Definition at line 193 of file unwind-dw2.c.

{
  * (_Unwind_Word *) context->reg[index] = val;
}
void _Unwind_SetIP ( struct _Unwind_Context ,
_Unwind_Ptr   
) [inline]

Definition at line 209 of file unwind-dw2.c.

{
  context->ra = (void *) val;
}
void _Unwind_SjLj_Register ( struct SjLj_Function_Context *  )

Definition at line 117 of file unwind-forcedunwind.c.

Here is the call graph for this function:

void _Unwind_SjLj_Unregister ( struct SjLj_Function_Context *  )

Definition at line 126 of file unwind-forcedunwind.c.

Here is the call graph for this function:


Variable Documentation

Definition at line 88 of file unwind.h.

Definition at line 89 of file unwind.h.

_Unwind_Word private_1

Definition at line 90 of file unwind.h.

_Unwind_Word private_2

Definition at line 91 of file unwind.h.