1.13. Data Definitions for libgcc_s

This section defines global identifiers and their values that are associated with interfaces contained in libgcc_s. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.

1.13.1. unwind.h


struct dwarf_eh_base
{
  void *tbase;
  void *dbase;
  void *func;
}
 ;
struct _Unwind_Context;

typedef unsigned int _Unwind_Ptr;
typedef unsigned int _Unwind_Word;

typedef enum
{
  _URC_NO_REASON, _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
}
_Unwind_Reason_Code;

struct _Unwind_Exception
{
  _Unwind_Exception_Class;
  _Unwind_Exception_Cleanup_Fn;
  _Unwind_Word;
  _Unwind_Word;
}
 ;
#define _UA_SEARCH_PHASE	1
#define _UA_END_OF_STACK	16
#define _UA_CLEANUP_PHASE	2
#define _UA_HANDLER_FRAME	4
#define _UA_FORCE_UNWIND	8