History log of /external/libunwind/src/x86_64/Gstep.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f1f90e79544429ebc9b9be4587691cd12a4aa855 04-Dec-2013 Pavel Chupin <pavel.v.chupin@intel.com> x86_64: enable architecture

Tested on host with crasher-run-on-host target

This patch is required:
https://android-review.googlesource.com/#/c/80307/

Also adding disabled debug build flags

Change-Id: Ib577e7431fc27605fb0d4e616ffbfc8c9fbc3862
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
/external/libunwind/src/x86_64/Gstep.c
adae66d2e24f3779272acfdff6941f29ed61950a 05-Oct-2012 Tommi Rantala <tt.rantala@gmail.com> Fix x86-64 debug build -Wformat warning

src/x86_64/Gstep.c: In function '_ULx86_64_step':
src/x86_64/Gstep.c:204:4: warning: unknown conversion type character 'r' in format [-Wformat]
/external/libunwind/src/x86_64/Gstep.c
d0cbc51955b900749e1ae1f51d7c45d51d3bbd23 17-Sep-2012 Konstantin Belousov <kib@freebsd.org> x86_64: stop unwinding when %rbp location is NULL
/external/libunwind/src/x86_64/Gstep.c
dd297ea92e7cea8050effdb5ac9998933a28da6e 19-May-2012 Arun Sharma <asharma@fb.com> Revert "x86_64: unbreak test-ptrace"

This reverts commit c9c5a40be19f8159aff0f5f07b753d59ba65f0f9.
dwarf_get() returns 0 on success. We should continue unwinding
in that case.

TBD: investigate test-ptrace failure on some platforms.
/external/libunwind/src/x86_64/Gstep.c
c9c5a40be19f8159aff0f5f07b753d59ba65f0f9 16-May-2012 Arun Sharma <asharma@fb.com> x86_64: unbreak test-ptrace

If dwarf_get returns 0 (indicating the end of call chain), we should
not override the return value to 1. This may result in the caller
continuing to unwind and getting spurious errors.
/external/libunwind/src/x86_64/Gstep.c
1a6ea3da607d35c03733b9db26b64b71cdbfcfa7 23-Apr-2012 Konstantin Belousov <kib@freebsd.org> freebsd: Fix boundary conditions for non-dwarf walker on x86_64.

In the commit d04dc94cc2b0141f06ed9de1665ab89a3f549e0b, the check for
dwarf.ip == 0 was removed from non-dwarf walker in x86_64 version of
unw_step(). Apparently this broke the detection of the end of frame
chain when NULL %rbp is specified, because the case just marked
dwarf.ip as 0. Explicitly set ret to 0 to indicate the end of
iteration.
/external/libunwind/src/x86_64/Gstep.c
d04dc94cc2b0141f06ed9de1665ab89a3f549e0b 26-Mar-2012 Arun Sharma <asharma@fb.com> dwarf: ip == 0 should't terminate unwind
/external/libunwind/src/x86_64/Gstep.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/Gstep.c
aa3bb307a30a5b78bf1ae4ac843ae53e354736f5 03-May-2010 Arun Sharma <arun@sharma-home.net> Fix merge errors
/external/libunwind/src/x86_64/Gstep.c
c140d8598d86c699ec619f3652aedbbddb142b69 25-Apr-2010 Arun Sharma <aruns@google.com> Undo commit f252f5ff4e51af90fd6629f122f72556db94ccb7 for now.

Seems to introduce a couple of test breakages.
/external/libunwind/src/x86_64/Gstep.c
d4fbc8326a91d246af29ff17131a12ed7ae87140 20-Apr-2010 Lassi Tuura <lat@cern.ch> Detect end of stack in x86-64 rbp-based walk.
/external/libunwind/src/x86_64/Gstep.c
f252f5ff4e51af90fd6629f122f72556db94ccb7 20-Apr-2010 Lassi Tuura <lat@cern.ch> Recognise and unwind through PLT.
/external/libunwind/src/x86_64/Gstep.c
dac2d001afb1fa7040ca7d8ae57032f684d7023e 20-Apr-2010 Lassi Tuura <lat@cern.ch> Identify signal frames by augmentation attribute.
/external/libunwind/src/x86_64/Gstep.c
aeee03dd7429ebfe8ff5a5b16abe646cef52534d 05-Apr-2010 Konstantin Belousov <kostik@pooma.home> Reduce diffs to master
/external/libunwind/src/x86_64/Gstep.c
ccc0ae665baa67ae3df8595ab7bb0ef8cbc0e5c4 05-Apr-2010 Konstantin Belousov <kostik@pooma.home> More move of osdep code.
/external/libunwind/src/x86_64/Gstep.c
fd88f418184b82ea5dc191e16ae9f3705c865f68 05-Apr-2010 Konstantin Belousov <kostik@pooma.home> Merge remote branch 'origin/master' into freebsd

Conflicts:
src/x86/Gis_signal_frame.c
src/x86/Gstep.c
src/x86_64/Gis_signal_frame.c
src/x86_64/Gstep.c
8e53e62db913470952b8eb541834b876f7a6882c 05-Apr-2010 Arun Sharma <aruns@google.com> Refactor os specific code for x86 (both 32 and 64 bit).

Move Linux specific code into ${arch}/Gos-linux.c
/external/libunwind/src/x86_64/Gstep.c
752ce15c4fbe0e08c2d19df18caa86887732b3c8 08-Mar-2010 Konstantin Belousov <kostik@pooma.home> Preliminary version of freebsd syscall unwinder
/external/libunwind/src/x86_64/Gstep.c
c64723835c0c855fde5bec3d7528db64fe539015 07-Mar-2010 Konstantin Belousov <kostik@pooma.home> Support walk over freebsd sigframes
/external/libunwind/src/x86_64/Gstep.c
649f1fb3449a65dd0626a709432d8b02a7c56bbc 16-Jun-2008 Arun Sharma <arun.sharma@google.com> [X86-64] For local unwinding, we have a defence mechanism against
bad/missing unwind information, which could result in libunwind
dereferencing bad pointers. This mechanism is based on msync(2) system
call and significantly reduces the chances of a bad pointer
dereference in libunwind.

The original idea was to turn this mechanism on only when necessary
i.e. libunwind didn't find proper unwind information for a IP.

There are a couple of problems in the current implementation.

* The flag is global and is modified without locking
* The flag isn't reset when starting a new unwind

The attached patch makes ->validate a per-thread setting by moving it
into struct cursor from unw_local_addr_space and resets it to false
when starting a new unwind. As a result, cursor->as_arg points to the
cursor itself instead of the ucontext (for the local case).

This was found to reduce the number of msync() system calls from an
application using libunwind significantly.

Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
/external/libunwind/src/x86_64/Gstep.c
8297866bd4dbe239fc778ac5a971aca9b80325d7 27-Jul-2006 Arun Sharma <aruns@sharma.corp.google.com> [x86-64] (unw_step): Further refine handling of functions without unwind-info.

CFA should be incremented by 16 in the hope that the previous frame
may have valid unwind info.

Also increase the default frame pointer recognition heuristic from 4k
to 16k.

Signed-off-by: Andrey Veskov <Andrey.Veskov@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
/external/libunwind/src/x86_64/Gstep.c
06d2ffa41abd7a13a0580492fb2ae76dc0f728e6 27-Jul-2006 Arun Sharma <aruns@sharma.corp.google.com> [x86-64] (unw_step): Improve handling of functions which lack unwind info.

If following the frame-chain leads to a frame >= 4KB away, we conclude that
the frame-pointer isn't really valid.
/external/libunwind/src/x86_64/Gstep.c
17bf4d0af84466787d06f90c832dc93d3cd8843a 03-May-2005 mostang.com!davidm <mostang.com!davidm> (unw_step): If dwarf_step() fails and the frame doesn't look like
a signal-trampoline, assume that it's a PLT stub.
If non-DWARF stepping fails to change IP and CFA, declare
it a bad frame.

2004/11/23 16:59:56-08:00 mostang.com!davidm
(unw_step): Also print IP as part of the function-trace.

2004/11/23 16:17:37-08:00 mostang.com!davidm
(unw_step): When dwarf_step() fails on a signal-frame, fill in all
the known locations because dwarf_step() fails on older
kernels which don't export the kernel vDSO even though every-
thing else may be providing proper DWARF unwind-info.

2004/10/25 17:43:57+02:00 homeip.net!davidm
Add Debug statement for return-value.

(Logical change 1.290)
/external/libunwind/src/x86_64/Gstep.c
6058013abe5b60291211458b0b71b87fad053ab9 20-Aug-2004 homeip.net!davidm <homeip.net!davidm> (unw_step): If dwarf_step() fails, fall back on using the frame-chain.
In theory, this may not be needed. In practice, I find that
Red Hat Enterprise Linux AS release 3, the _start() routine has
no unwind-info, but we need to be able to unwind into this
routine to find the end-of-frame-chain marker (RBP == 0).

(Logical change 1.253)
/external/libunwind/src/x86_64/Gstep.c
51ef1210e84bfba2bfaa64432424d0668dbc95d8 19-Aug-2004 homeip.net!davidm <homeip.net!davidm> Include ucontext_i.h.
(unw_step): Fixup signal-frame-skipping code so it can be cross-compiled.

(Logical change 1.251)
/external/libunwind/src/x86_64/Gstep.c
a766efd844260866e0d216f6eeef87f4593f60b2 19-Aug-2004 ibm.com!masbock <ibm.com!masbock> (Logical change 1.249)
/external/libunwind/src/x86_64/Gstep.c
58e37267beb93d9ea5cb4da403f503a5aa4d842d 19-Aug-2004 ibm.com!masbock <ibm.com!masbock> Initial revision
/external/libunwind/src/x86_64/Gstep.c