libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libunwind-devel] Breaking


From: Doug Moore
Subject: [Libunwind-devel] Breaking
Date: Tue, 03 Oct 2017 03:02:17 -0500
User-agent: Horde Application Framework 5

It seems that this change:

index e8eaeac..9d405e7 100644
--- a/src/dwarf/Gparser.c
+++ b/src/dwarf/Gparser.c
@@ -289,8 +289,10 @@ run_cfi_program (struct dwarf_cursor *c, dwarf_state_record_t *sr,
               ret = -UNW_EINVAL;
               break;
             }
- memcpy (&sr->rs_current, &(*rs_stack)->state, sizeof (sr->rs_current));
-         pop_rstate_stack(rs_stack);
+          if (*ip < end_ip) {
+ memcpy (&sr->rs_current, &(*rs_stack)->state, sizeof (sr->rs_current));
+            pop_rstate_stack(rs_stack);
+          }
           Debug (15, "CFA_restore_state\n");
           break;


broke unw_apply_reg_state, because updating libunwind to include that change broke our software.

So I'm highly motivated to understand what this fixed, so that I can fix unw_apply_reg_state without breaking something.

Doug Moore





reply via email to

[Prev in Thread] Current Thread [Next in Thread]