Back to index

glibc  2.9
Classes | Defines | Typedefs | Enumerations | Functions
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_Control_Block
struct  __gnu_unwind_state
struct  _Unwind_Control_Block.unwinder_cache
struct  _Unwind_Control_Block.barrier_cache
struct  _Unwind_Control_Block.cleanup_cache
struct  _Unwind_Control_Block.pr_cache

Defines

#define __ARM_EABI_UNWINDER__   1
#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
#define _URC_NO_REASON   _URC_OK
#define _Unwind_Exception   _Unwind_Control_Block
#define _Unwind_GetIP(context)   (_Unwind_GetGR (context, 15) & ~(_Unwind_Word)1)
#define _Unwind_SetIP(context, val)   _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1))

Typedefs

typedef unsigned _Unwind_Word __attribute__ ((__mode__(__word__)))
typedef _Unwind_Word _uw
typedef int _Unwind_Action
typedef struct _Unwind_Control_Block
typedef struct _Unwind_Context
typedef _uw _Unwind_EHT_Header
typedef _Unwind_Reason_Code(* personality_routine )(_Unwind_State, _Unwind_Control_Block *, _Unwind_Context *)
typedef char _Unwind_Exception_Class [8]
typedef _Unwind_Reason_Code(* _Unwind_Stop_Fn )(int, _Unwind_Action, _Unwind_Exception_Class, _Unwind_Control_Block *, struct _Unwind_Context *, void *)

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
}
enum  _Unwind_State {
  _US_VIRTUAL_UNWIND_FRAME = 0, _US_UNWIND_FRAME_STARTING = 1, _US_UNWIND_FRAME_RESUME = 2, _US_ACTION_MASK = 3,
  _US_FORCE_UNWIND = 8, _US_END_OF_STACK = 16
}
enum  _Unwind_VRS_RegClass {
  _UVRSC_CORE = 0, _UVRSC_VFP = 1, _UVRSC_FPA = 2, _UVRSC_WMMXD = 3,
  _UVRSC_WMMXC = 4
}
enum  _Unwind_VRS_DataRepresentation {
  _UVRSD_UINT32 = 0, _UVRSD_VFPX = 1, _UVRSD_FPAX = 2, _UVRSD_UINT64 = 3,
  _UVRSD_FLOAT = 4, _UVRSD_DOUBLE = 5
}
enum  _Unwind_VRS_Result { _UVRSR_OK = 0, _UVRSR_NOT_IMPLEMENTED = 1, _UVRSR_FAILED = 2 }

Functions

_Unwind_VRS_Result _Unwind_VRS_Set (_Unwind_Context *, _Unwind_VRS_RegClass, _uw, _Unwind_VRS_DataRepresentation, void *)
_Unwind_VRS_Result _Unwind_VRS_Get (_Unwind_Context *, _Unwind_VRS_RegClass, _uw, _Unwind_VRS_DataRepresentation, void *)
_Unwind_VRS_Result _Unwind_VRS_Pop (_Unwind_Context *, _Unwind_VRS_RegClass, _uw, _Unwind_VRS_DataRepresentation)
void * _Unwind_GetLanguageSpecificData (_Unwind_Context *)
_Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *)
_Unwind_Ptr _Unwind_GetDataRelBase (_Unwind_Context *)
_Unwind_Ptr _Unwind_GetTextRelBase (_Unwind_Context *)
_Unwind_Reason_Code _Unwind_RaiseException (_Unwind_Control_Block *ucbp)
void __attribute__ ((noreturn)) _Unwind_Resume(_Unwind_Control_Block *ucbp)
_Unwind_Reason_Code _Unwind_Resume_or_Rethrow (_Unwind_Control_Block *ucbp)
_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 *)
_Unwind_Reason_Code __gnu_unwind_frame (_Unwind_Control_Block *, _Unwind_Context *)
_Unwind_Reason_Code __gnu_unwind_execute (_Unwind_Context *, __gnu_unwind_state *)
static _Unwind_Word _Unwind_decode_target2 (_Unwind_Word ptr)
static _Unwind_Word _Unwind_GetGR (_Unwind_Context *context, int regno)
static void _Unwind_SetGR (_Unwind_Context *context, int regno, _Unwind_Word val)

Class Documentation

struct __gnu_unwind_state

Definition at line 165 of file unwind.h.

Class Members
_uw8 bytes_left
_uw data
_uw * next
_uw8 words_left
struct _Unwind_Control_Block.unwinder_cache

Definition at line 99 of file unwind.h.

Class Members
_uw reserved1
_uw reserved2
_uw reserved3
_uw reserved4
_uw reserved5
struct _Unwind_Control_Block.barrier_cache

Definition at line 109 of file unwind.h.

Class Members
_uw bitpattern
_uw sp
struct _Unwind_Control_Block.cleanup_cache

Definition at line 116 of file unwind.h.

Class Members
_uw bitpattern
struct _Unwind_Control_Block.pr_cache

Definition at line 122 of file unwind.h.

Class Members
_uw additional
_Unwind_EHT_Header * ehtp
_uw fnstart
_uw reserved1

Define Documentation

#define __ARM_EABI_UNWINDER__   1

Definition at line 35 of file unwind.h.

#define _UA_CLEANUP_PHASE   2

Definition at line 75 of file unwind.h.

#define _UA_END_OF_STACK   16

Definition at line 78 of file unwind.h.

#define _UA_FORCE_UNWIND   8

Definition at line 77 of file unwind.h.

#define _UA_HANDLER_FRAME   4

Definition at line 76 of file unwind.h.

#define _UA_SEARCH_PHASE   1

Definition at line 74 of file unwind.h.

Definition at line 194 of file unwind.h.

#define _Unwind_GetIP (   context)    (_Unwind_GetGR (context, 15) & ~(_Unwind_Word)1)

Definition at line 256 of file unwind.h.

#define _Unwind_SetIP (   context,
  val 
)    _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1))

Definition at line 267 of file unwind.h.

#define _URC_NO_REASON   _URC_OK

Definition at line 79 of file unwind.h.


Typedef Documentation

typedef unsigned _uw8 __attribute__((mode(__QI__)))

Definition at line 40 of file unwind.h.

Definition at line 73 of file unwind.h.

typedef struct _Unwind_Context

Definition at line 82 of file unwind.h.

typedef struct _Unwind_Control_Block

Definition at line 81 of file unwind.h.

Definition at line 83 of file unwind.h.

typedef char _Unwind_Exception_Class[8]

Definition at line 195 of file unwind.h.

Definition at line 210 of file unwind.h.

typedef _Unwind_Word _uw

Definition at line 44 of file unwind.h.

Definition at line 178 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 49 of file unwind.h.

    {
      _URC_OK = 0,       /* operation completed successfully */
      _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   /* unspecified failure of some kind */
    }
Enumerator:
_US_VIRTUAL_UNWIND_FRAME 
_US_UNWIND_FRAME_STARTING 
_US_UNWIND_FRAME_RESUME 
_US_ACTION_MASK 
_US_FORCE_UNWIND 
_US_END_OF_STACK 

Definition at line 61 of file unwind.h.

Enumerator:
_UVRSD_UINT32 
_UVRSD_VFPX 
_UVRSD_FPAX 
_UVRSD_UINT64 
_UVRSD_FLOAT 
_UVRSD_DOUBLE 

Definition at line 145 of file unwind.h.

Enumerator:
_UVRSC_CORE 
_UVRSC_VFP 
_UVRSC_FPA 
_UVRSC_WMMXD 
_UVRSC_WMMXC 

Definition at line 135 of file unwind.h.

    {
      _UVRSC_CORE = 0,      /* integer register */
      _UVRSC_VFP = 1,       /* vfp */
      _UVRSC_FPA = 2,       /* fpa */
      _UVRSC_WMMXD = 3,     /* Intel WMMX data register */
      _UVRSC_WMMXC = 4      /* Intel WMMX control register */
    }
Enumerator:
_UVRSR_OK 
_UVRSR_NOT_IMPLEMENTED 
_UVRSR_FAILED 

Definition at line 156 of file unwind.h.


Function Documentation

void __attribute__ ( (noreturn)  )

Definition at line 26 of file chk_fail.c.

{
  __fortify_fail ("buffer overflow detected");
}

Here is the call graph for this function:

static _Unwind_Word _Unwind_decode_target2 ( _Unwind_Word  ptr) [inline, static]

Definition at line 225 of file unwind.h.

    {
      _Unwind_Word tmp;

      tmp = *(_Unwind_Word *) ptr;
      /* Zero values are always NULL.  */
      if (!tmp)
       return 0;

#if defined(linux) || defined(__NetBSD__)
      /* Pc-relative indirect.  */
      tmp += ptr;
      tmp = *(_Unwind_Word *) tmp;
#elif defined(__symbian__)
      /* Absolute pointer.  Nothing more to do.  */
#else
      /* Pc-relative pointer.  */
      tmp += ptr;
#endif
      return tmp;
    }
_Unwind_Word _Unwind_GetCFA ( struct _Unwind_Context )

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

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

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

Definition at line 248 of file unwind.h.

    {
      _uw val;
      _Unwind_VRS_Get (context, _UVRSC_CORE, regno, _UVRSD_UINT32, &val);
      return val;
    }

Here is the call graph for this function:

Here is the caller graph for this function:

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

{
  return context->lsda;
}

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

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

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

{
  return (_Unwind_Ptr) context->bases.tbase;
}
static void _Unwind_SetGR ( _Unwind_Context context,
int  regno,
_Unwind_Word  val 
) [inline, static]

Definition at line 260 of file unwind.h.

    {
      _Unwind_VRS_Set (context, _UVRSC_CORE, regno, _UVRSD_UINT32, &val);
    }

Here is the call graph for this function:

Here is the caller graph for this function:

Here is the caller graph for this function: