d1c383c5bb03420decf5cf789cf14ab144b0720d |
|
10-Apr-2014 |
Christopher Ferris <cferris@google.com> |
Fix all warnings, and make warnings errors. Change-Id: Ia2039922b55891551b1de0f0c281c266db6ee219
/external/libunwind/src/x86_64/Gstash_frame.c
|
cf2f3d3b755d3374cc2f77973339c44c18057130 |
|
02-Dec-2011 |
Arun Sharma <asharma@fb.com> |
Correct the inverted check Typo when manually applying the previous commit.
/external/libunwind/src/x86_64/Gstash_frame.c
|
2f328202ee19a68f4fc99d2cea169407026a70ed |
|
02-Dec-2011 |
Arun Sharma <asharma@fb.com> |
Fix a compiler warning Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
/external/libunwind/src/x86_64/Gstash_frame.c
|
1010880548589685a27b8f63ef54a3ea78e052fc |
|
28-Nov-2011 |
Arun Sharma <asharma@fb.com> |
Address x86_64 crashes when using sigaltstack The crashes were tracked down to f->rpb_cfa_offset being incorrect. The problem is that {rsp,rbp}_cfa_offset only have 15 bits, but for SIGRETURN frame they are filled with: // src/x86_64/Gstash_frame.c f->cfa_reg_offset = d->cfa - c->sigcontext_addr; f->rbp_cfa_offset = DWARF_GET_LOC(d->loc[RBP]) - d->cfa; f->rsp_cfa_offset = DWARF_GET_LOC(d->loc[RSP]) - d->cfa; The problem is that the delta here can be arbitrarily large when sigaltstack is used, and can easily overflow the 15 and 30-bit fields. When signal handler starts running, the stack layout is: ... higher addresses ... ucontext CFA-> __restore_rt (== pretcode in rt_sigframe from linux-2.6/arch/x86/include/asm/sigframe.h) SP -> ... sighandler runs on this stack. ... lower addresses ... This makes it very convenient to find ucontext from the CFA. Attached patch re-tested on Linux/x86_64, no new failures. Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com> Reviwed-by: Lassi Tuura <lat@cern.ch>
/external/libunwind/src/x86_64/Gstash_frame.c
|
3b9fd99cb78383e0ce8cd1a31e3b824a30ef965e |
|
25-Mar-2011 |
Lassi Tuura <lat@iki.fi> |
Assign copyright as requested by the author.
/external/libunwind/src/x86_64/Gstash_frame.c
|
9e98f15e9aee12e67cd5956d06ccb559f6a06213 |
|
19-Mar-2011 |
Lassi Tuura <lat@iki.fi> |
Fast back-trace for x86_64 for only collecting the call stack. Adds new function to perform a pure stack walk without unwinding, functionally similar to backtrace() but accelerated by an address attribute cache the caller maintains across calls.
/external/libunwind/src/x86_64/Gstash_frame.c
|