diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/x86/Gos-freebsd.c | 1 | ||||
-rw-r--r-- | src/x86/Gstep.c | 1 | ||||
-rw-r--r-- | src/x86_64/Gos-freebsd.c | 1 | ||||
-rw-r--r-- | src/x86_64/Gstep.c | 1 |
4 files changed, 4 insertions, 0 deletions
diff --git a/src/x86/Gos-freebsd.c b/src/x86/Gos-freebsd.c index aafdfc9c..284148c2 100644 --- a/src/x86/Gos-freebsd.c +++ b/src/x86/Gos-freebsd.c @@ -140,6 +140,7 @@ unw_handle_signal_frame (unw_cursor_t *cursor) c->dwarf.loc[EIP] = DWARF_LOC (c->dwarf.cfa, 0); c->dwarf.loc[EAX] = DWARF_NULL_LOC; c->dwarf.cfa += 4; + c->dwarf.use_prev_instr = 1; } else { Debug (8, "Gstep: not handling frame format %d\n", c->sigcontext_format); abort(); diff --git a/src/x86/Gstep.c b/src/x86/Gstep.c index 0965db2f..fb1d6a26 100644 --- a/src/x86/Gstep.c +++ b/src/x86/Gstep.c @@ -88,6 +88,7 @@ unw_step (unw_cursor_t *cursor) c->dwarf.loc[EBP] = ebp_loc; c->dwarf.loc[EIP] = eip_loc; + c->dwarf.use_prev_instr = 1; } c->dwarf.ret_addr_column = EIP; diff --git a/src/x86_64/Gos-freebsd.c b/src/x86_64/Gos-freebsd.c index 71695c65..776c54b9 100644 --- a/src/x86_64/Gos-freebsd.c +++ b/src/x86_64/Gos-freebsd.c @@ -144,6 +144,7 @@ unw_handle_signal_frame (unw_cursor_t *cursor) return ret; } c->dwarf.cfa += 8; + c->dwarf.use_prev_instr = 1; return 1; } else diff --git a/src/x86_64/Gstep.c b/src/x86_64/Gstep.c index 809d60b0..c019e453 100644 --- a/src/x86_64/Gstep.c +++ b/src/x86_64/Gstep.c @@ -194,6 +194,7 @@ unw_step (unw_cursor_t *cursor) c->dwarf.loc[RBP] = rbp_loc; c->dwarf.loc[RSP] = rsp_loc; c->dwarf.loc[RIP] = rip_loc; + c->dwarf.use_prev_instr = 1; } c->dwarf.ret_addr_column = RIP; |