History log of /external/libunwind/src/x86_64/Gresume.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
979af4502fe19b0d98459633731d004a4a010a0e 05-Apr-2010 Konstantin Belousov <kostik@pooma.home> Move local_resume to os-specific file.
/external/libunwind/src/x86_64/Gresume.c
0f1c0f5f664004f0e812e7c2d939bc21fc5e89df 08-Mar-2010 Konstantin Belousov <kostik@pooma.home> Fix resume.
/external/libunwind/src/x86_64/Gresume.c
53095e6b3e4a6738e814c8f40cf546dca96a061f 07-Mar-2010 Konstantin Belousov <kostik@pooma.home> Code for resume
/external/libunwind/src/x86_64/Gresume.c
3eabce18b1e70c3b26975024e450977dfb4b84b9 06-Mar-2010 Konstantin Belousov <kostik@pooma.home> Include sys/types.h when needed.
/external/libunwind/src/x86_64/Gresume.c
491d576529a3b01208accb37627a075d7ce07093 16-Oct-2009 Arun Sharma <aruns@google.com> Fix compiler warnings on x86_64
/external/libunwind/src/x86_64/Gresume.c
ef29eade44fc2aa7e49811a8bd76e941b369b914 16-Jun-2008 Arun Sharma <arun.sharma@google.com> This patch eliminates one system call per unwind by not using the
getcontext in libc.

Also cleanup the namespace (check-name-space passes on x86_64 now).
Replace uses of offsets.h with ucontext_i.h.
Rename _x86_64_setcontext to _Ux86_64_setcontext.

TBD: Add CFI annotations for get/setcontext.

Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
/external/libunwind/src/x86_64/Gresume.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/Gresume.c
31440e9796bb34146372df52ed59c4f68ea5839d 06-Apr-2007 Arun Sharma <aruns@google.com> Make libunwind pass C++ exceptions correctly

When libunwind is linked with a C++ program that throws exceptions,
the exception that's thrown is passed in %rax. However, libc's
setcontext clears %rax, causing problems.

This patch implements a setcontext that doesn't clobber rax.

TBD: Add dwarf CFI annotations

Signed-off-by: Arun Sharma <arun.sharma@google.com>
/external/libunwind/src/x86_64/Gresume.c
a9cad72ed4626c80843b5f4ac075b93b4a873155 03-May-2005 hp.com!davidm <hp.com!davidm> (x86_64_local_resume): Fix missing "H" typo.

2004/11/30 22:44:47-08:00 mostang.com!davidm
(my_rt_sigreturn): New function.
(x86_64_local_resume): Use my_rt_sigreturn(). The normal sigreturn()
does nothing (returns with an error).

2004/11/23 18:01:09-08:00 mostang.com!davidm
(x86_64_local_resume): Provide a minimal implementation (a la x86).
(establish_machine_state): Fix off-by-one error.

(Logical change 1.290)
/external/libunwind/src/x86_64/Gresume.c
f576cce7480d6acee537cecfeb5530187e50f785 26-Aug-2004 hp.com!davidm <hp.com!davidm> Drop debug-level for function-trace to 1.

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