struct _Unwind_Context; typedef int _Unwind_Reason_Code; typedef void *_Unwind_Ptr; typedef long _Unwind_Word; _Unwind_Word _Unwind_GetGR(struct _Unwind_Context *, int); _Unwind_Ptr _Unwind_GetIP(struct _Unwind_Context *); _Unwind_Ptr _Unwind_GetIPInfo(struct _Unwind_Context *, int *); void _Unwind_SetGR(struct _Unwind_Context *, int, _Unwind_Ptr); void _Unwind_VRS_Get(struct _Unwind_Context *, int, _Unwind_Word, int, void *); void _Unwind_VRS_Set(struct _Unwind_Context *, int, _Unwind_Word, int, void *); _Unwind_Word _Unwind_GetGR(struct _Unwind_Context *context, int regno) { _Unwind_Word val; _Unwind_VRS_Get(context, 0 /*_UVRSC_CORE*/, regno, 0 /*_UVRSD_UINT32*/, &val); return val; } _Unwind_Ptr _Unwind_GetIP(struct _Unwind_Context *context) { return (_Unwind_Ptr)(_Unwind_GetGR (context, 15) & ~(_Unwind_Word)1); } _Unwind_Ptr _Unwind_GetIPInfo(struct _Unwind_Context *context, int *p) { *p = 0; return _Unwind_GetIP(context); } void _Unwind_SetGR(struct _Unwind_Context *context, int reg, _Unwind_Ptr val) { _Unwind_VRS_Set(context, 0 /*_UVRSC_CORE*/, reg, 0 /*_UVRSD_UINT32*/, &val); }