aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Mosberger <davidm@hpl.hp.com>2003-03-27 18:13:59 +0000
committerRichard Henderson <rth@gcc.gnu.org>2003-03-27 10:13:59 -0800
commitf18ab43711810de62db708d3c643664344c96aef (patch)
treea0fc8074588a26af6b31dc681446f6de94c21748
parenteaff4b90a0d00119fdc97e9eed6617fe9b2f2a65 (diff)
downloadgcc-f18ab43711810de62db708d3c643664344c96aef.zip
gcc-f18ab43711810de62db708d3c643664344c96aef.tar.gz
gcc-f18ab43711810de62db708d3c643664344c96aef.tar.bz2
unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind v0.9 API change...
* 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(). From-SVN: r64927
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/unwind-libunwind.c18
2 files changed, 19 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 171e36b..7694758 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+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.
diff --git a/gcc/unwind-libunwind.c b/gcc/unwind-libunwind.c
index 836c097..8ed0524 100644
--- a/gcc/unwind-libunwind.c
+++ b/gcc/unwind-libunwind.c
@@ -51,13 +51,13 @@ struct _Unwind_Context {
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;
}
@@ -137,19 +137,19 @@ _Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
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"