diff options
author | David Mosberger <davidm@hpl.hp.com> | 2003-03-27 18:13:59 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-03-27 10:13:59 -0800 |
commit | f18ab43711810de62db708d3c643664344c96aef (patch) | |
tree | a0fc8074588a26af6b31dc681446f6de94c21748 /gcc | |
parent | eaff4b90a0d00119fdc97e9eed6617fe9b2f2a65 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/unwind-libunwind.c | 18 |
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" |