History log of /system/core/libunwindstack/ArmExidx.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
53914165e4a19e4a320cf3394e4fabff4e89d7c6 09-Feb-2018 Christopher Ferris <cferris@google.com> Expose per arch headers.

Bug: 73013352

Test: Compiles.
Change-Id: Ic05660db7d7858a9857143ee5e58cdaddcf52a35
/system/core/libunwindstack/ArmExidx.cpp
2fcf4cf13e9aefa8c312084af12ca2d712a6ead3 24-Jan-2018 Christopher Ferris <cferris@google.com> Add error propagation into Unwinder/Elf objects.

The backtrace offline code uses these error codes to diagnose errors.
In addtion, I've had cases where seeing these errors would help diagnose
failures.

This also allows us to add a few features to indicate why an unwind
terminated (such as max frames exceeded).

Bug: 65682279

Test: Updated unit tests pass.
Change-Id: If82b5092698e8a194016d670efff1320f9b44d50
/system/core/libunwindstack/ArmExidx.cpp
d06001d6e07b14b865f3294fff82d2571ed7cb2c 01-Dec-2017 Christopher Ferris <cferris@google.com> Split arch data into separate files.

Add an ArchEnum to express the arch of the Elf objects and Reg objects.

Split out the regs code into per arch pieces and generic parts.
Also, split out the header files for each arch.

Do not break out the test code yet, there isn't enough and it doesn't
help to maintain the tests.

Test: libunwindstack/libbacktrace/debuggerd unit tests pass.
Test: Running debuggerd -b <PIDS> yields valid data on bullhead.
Change-Id: If61f6c730c9ff2249f986b41de8c4d62f7158325
/system/core/libunwindstack/ArmExidx.cpp
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/ArmExidx.cpp
9416703f5b37cde61fe8f3e3572b84b21e06ea81 29-Jun-2017 Christopher Ferris <cferris@google.com> Remove assert, use CHECK instead.

- Use the CHECK macro everywhere that assert was used.
- Remove the _debug version of the tests and leave the CHECK macro so
it's always checking in the code.

Bug: 23762183

Test: Ran unit tests.
Change-Id: Ie705eedae393d0e95bb9d99f852687a11881aef1
/system/core/libunwindstack/ArmExidx.cpp
3958f8060ac0adccd977c0fab7a53d45f3fce58d 02-Feb-2017 Christopher Ferris <cferris@google.com> Elf interface for new unwinder.

This cl includes the code to read arm unwind information from a shared
library.

Bug: 23762183

Test: Passes all unit tests. I can dump the arm unwind information
Test: for an arm shared library.
Change-Id: I43501ea2eab843b81de8bd5128401dd1971af8d3
/system/core/libunwindstack/ArmExidx.cpp
723cf9b6e61744f7a20a807e67ab50adb9db5d42 20-Jan-2017 Christopher Ferris <cferris@google.com> New version of unwinder.

Bug: 23762183

Test: All unit tests pass.
Change-Id: I0ac69e55af56e1142c0a1ee3715cdc48f2ed3ec3
/system/core/libunwindstack/ArmExidx.cpp