summaryrefslogtreecommitdiff
path: root/src/x86_64/Ginit_local.c
diff options
context:
space:
mode:
authorLassi Tuura <lat@cern.ch>2010-04-24 19:16:09 -0700
committerArun Sharma <arun@sharma-home.net>2010-04-24 19:16:09 -0700
commita9dce3c06e6ffcb83957e734d960505415118f00 (patch)
tree8ee730d1a61bdb843942b5efa916f9b9cfec6bb0 /src/x86_64/Ginit_local.c
parent4c553ceb2c3fcde6248b05953abc34e162917c4a (diff)
downloadlibunwind-a9dce3c06e6ffcb83957e734d960505415118f00.tar.gz
During the stack unwinding process, the return address points to
the instruction after the call for a normal frame. libunwind uses IP-1 to lookup unwind information. However, this is not necessary for interrupted frames such as signal frames (or interrupt frames) in the kernel context. This patch handles both cases correctly. Based on work by Mark Wielaard <mwielaard@redhat.com>
Diffstat (limited to 'src/x86_64/Ginit_local.c')
-rw-r--r--src/x86_64/Ginit_local.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/x86_64/Ginit_local.c b/src/x86_64/Ginit_local.c
index 1e80cb85..70bef3e1 100644
--- a/src/x86_64/Ginit_local.c
+++ b/src/x86_64/Ginit_local.c
@@ -52,7 +52,7 @@ unw_init_local (unw_cursor_t *cursor, ucontext_t *uc)
c->dwarf.as_arg = c;
c->uc = uc;
c->validate = 0;
- return common_init (c);
+ return common_init (c, 1);
}
#endif /* !UNW_REMOTE_ONLY */