414df3e583c21023a22a11b64e703cd4ab38b29a |
|
15-Mar-2018 |
Yabin Cui <yabinc@google.com> |
Always set the sp reg to the cfa for DWARF. There are a few places where it is assumed that this register is set to the cfa value when interpreting DWARF information. Add a testcase for unwinding art_quick_osr_stub on ARM. Bug: 73954823 Test: Ran libunwindstack/libbacktrace unit tests. Test: Random debuggerd -b of process on a hikey. Test: Ran the 137 art test on host. Change-Id: Ida6ccdc38c3cfeea6b57fe861a0cc127b150b790 (cherry picked from commit 11e96fe48a74e6ab97d4de899684d3a61a9d1129)
/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
|
61b1a1ae7797e0d3177400cdb3cda028ea14669d |
|
08-Nov-2017 |
Douglas Leung <douglas.leung@mips.com> |
Add libunwindstack support for Mips and Mips64 This patch requires v3.18 kernel or above, because v3.10 kernel has a bug (as of 8/1/2017) in the ptrace(GETREGSET) function for mips and mips64. Change-Id: I004c1fa190193eebe1c84440b366289122a6bd8a Signed-off-by: Douglas Leung <douglas.leung@mips.com> Signed-off-by: Dejan Jovicevic <dejan.jovicevic@mips.com>
/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
|
be788d891da26943b1ad6abe0f07a8745fa676d5 |
|
27-Nov-2017 |
Christopher Ferris <cferris@google.com> |
Allow multiple threads sharing a map to unwind. Add a mutex in MapInfo, and a mutex in Elf. Lock the creation of an Elf file using the MapInfo mutex, and lock when calling Step, GetFunctionName, or GetSoname since they can modify information in the object. It might be beneficial to use a fine grained lock in the future. Change the Maps object to contain a vector of MapInfo pointers rather than the total objects. This avoids copying this data around. Add a test to libbacktrace to verify that sharing a map while doing unwinds in different threads works. Add concurrency tests in libunwindstack to verify the locking works. Add always inline to the RegsGetLocal arm and aarch64 functions. I had a case where clang did not inline the code, so make sure this is specified. Bug: 68813077 Test: New unit tests to cover the case. Passes all unit tests. Test: Ran a monkey test while dumping bugreports and verified that Test: no crashes in libunwind. Test: Remove the locking and verified that all of the concurrenty tests fail. Change-Id: I769e728c676f6bdae9e64ce4cdc03b6749beae03
/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
|
32766f1f528a879797b19f90693cb62d042f8e01 |
|
02-Aug-2017 |
Christopher Ferris <cferris@google.com> |
Allow mips to build. Test: Build mips. Change-Id: Ice2fe1d11b7c628b325ea2ad1fd1252ad8e10668
/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
|
d226a5140989f509a0ed3e2723f05d5fc93ce8df |
|
14-Jul-2017 |
Christopher Ferris <cferris@google.com> |
Make the library usable as a library. - Add namespace unwindstack everywhere so that it's easier for other code to use the library. - Move some of the header files into include/unwindstack so that they can be exposed. - Modify the headers so that only a limited number need to be exposed. - Update the tools to use the new headers. - Add a GetLoadBias() call on the Elf object. This prevents the need to get the interface object out of the Elf object. - Move the GetRelPc() call out of the Reg class, to the Elf class. It's not always the case that a Reg object will be around when you want to get a relative pc. The tests for this moved to ElfTest.cpp. Bug: 23762183 Test: Unit tests pass. Change-Id: Iac609dac1dd90ed83d1a1e24ff2579c96c023bc3
/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
|