+2003-03-27 David Mosberger <davidm@hpl.hp.com>
+
+ * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
+ v0.9 API change: replace read of UNW_REG_HANDLER with
+ unw_get_proc_info().
+ (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
+ with unw_get_proc_info().
+ (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
+ unw_get_proc_info().
+
2003-03-27 Vladimir Makarov <vmakarov@redhat.com>
* config/rs6000/8540.md: Use presence_set instead of absence_set.
static _Unwind_Reason_Code
uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)
{
- unw_word_t handler;
+ unw_proc_info_t pi;
if (unw_step (&context->cursor) <= 0)
return _URC_END_OF_STACK;
- unw_get_reg (&context->cursor, UNW_REG_HANDLER, &handler);
- fs->personality = (_Unwind_Personality_Fn) handler;
+ unw_get_proc_info(&context->cursor, &pi);
+ fs->personality = (_Unwind_Personality_Fn) pi.handler;
return _URC_NO_REASON;
}
void *
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
- unw_word_t ret;
+ unw_proc_info_t pi;
- unw_get_reg (&context->cursor, UNW_REG_LSDA, &ret);
- return (void *) ret;
+ unw_get_proc_info(&context->cursor, &pi);
+ return (void *) pi.lsda;
}
_Unwind_Ptr
_Unwind_GetRegionStart (struct _Unwind_Context *context)
{
- unw_word_t ret;
+ unw_proc_info_t pi;
- unw_get_reg (&context->cursor, UNW_REG_PROC_START, &ret);
- return (_Unwind_Ptr) ret;
+ unw_get_proc_info(&context->cursor, &pi);
+ return (_Unwind_Ptr) pi.start_ip;
}
#include "unwind.inc"