summaryrefslogtreecommitdiff
path: root/src/x86_64/Gstep.c
diff options
context:
space:
mode:
authorKonstantin Belousov <kostik@pooma.home>2010-04-05 16:25:36 +0300
committerKonstantin Belousov <kostik@pooma.home>2010-04-05 16:25:36 +0300
commitccc0ae665baa67ae3df8595ab7bb0ef8cbc0e5c4 (patch)
treed67557b99ce0586cf1a49e8414eb8139a16215f0 /src/x86_64/Gstep.c
parenta40641f326a5360af03e1788ef1c48568761a5be (diff)
downloadlibunwind-ccc0ae665baa67ae3df8595ab7bb0ef8cbc0e5c4.tar.gz
More move of osdep code.
Diffstat (limited to 'src/x86_64/Gstep.c')
-rw-r--r--src/x86_64/Gstep.c19
1 files changed, 1 insertions, 18 deletions
diff --git a/src/x86_64/Gstep.c b/src/x86_64/Gstep.c
index 2ff2bfe3..d286d445 100644
--- a/src/x86_64/Gstep.c
+++ b/src/x86_64/Gstep.c
@@ -77,24 +77,7 @@ unw_step (unw_cursor_t *cursor)
Debug (13, "dwarf_step() failed (ret=%d), trying frame-chain\n", ret);
- c->sigcontext_format = unw_is_signal_frame (cursor);
- if (c->sigcontext_format == X86_64_SCF_FREEBSD_SYSCALL) {
- c->dwarf.loc[RCX] = c->dwarf.loc[R10];
-// rsp_loc = DWARF_LOC(c->dwarf.cfa - 8, 0);
-// rbp_loc = c->dwarf.loc[RBP];
- c->dwarf.loc[RIP] = DWARF_LOC (c->dwarf.cfa, 0);
- ret = dwarf_get (&c->dwarf, c->dwarf.loc[RIP], &c->dwarf.ip);
- Debug (1, "Frame Chain [RIP=0x%Lx] = 0x%Lx\n",
- (unsigned long long) DWARF_GET_LOC (c->dwarf.loc[RIP]),
- (unsigned long long) c->dwarf.ip);
- if (ret < 0)
- {
- Debug (2, "returning %d\n", ret);
- return ret;
- }
- c->dwarf.cfa += 8;
- return 1;
- } else if (c->sigcontext_format != X86_64_SCF_NONE)
+ if (unw_is_signal_frame (cursor))
{
ret = unw_handle_signal_frame(cursor);
if (ret < 0)