OSDN Git Service

* unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Mar 2003 18:13:59 +0000 (18:13 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Mar 2003 18:13:59 +0000 (18:13 +0000)
        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().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64927 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/unwind-libunwind.c

index 171e36b..7694758 100644 (file)
@@ -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.
index 836c097..8ed0524 100644 (file)
@@ -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"