diff options
author | Christopher Ferris <cferris@google.com> | 2017-12-11 17:44:33 -0800 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2018-01-29 10:41:11 -0800 |
commit | c8bec5aa91b20b0173bf6bf5f73f9e6daa40519d (patch) | |
tree | cada46a2ee86c8c6c22d563b605a5120caff0426 /libbacktrace/Backtrace.cpp | |
parent | 8abe4e2638587957f621450b4e4c3ff7af310b08 (diff) | |
download | system_core-c8bec5aa91b20b0173bf6bf5f73f9e6daa40519d.tar.gz system_core-c8bec5aa91b20b0173bf6bf5f73f9e6daa40519d.tar.bz2 system_core-c8bec5aa91b20b0173bf6bf5f73f9e6daa40519d.zip |
Use new unwinder for offline in libbacktrace.
libbbacktrace changes:
- Completely rewrite the BacktraceOffline class to use the new unwinder.
- Modify the test data to save ucontext_t data instead of unw_context data.
- Convert the previous tests from unw_context data to ucontext_t data.
Bug: 65682279
Test: New unit tests pass in libunwindstack.
Test: All offline tests continue to pass.
Change-Id: I540345c304b20199d46deeb0349a0638a0f3ab2f
Diffstat (limited to 'libbacktrace/Backtrace.cpp')
-rw-r--r-- | libbacktrace/Backtrace.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libbacktrace/Backtrace.cpp b/libbacktrace/Backtrace.cpp index 1195e5f26..dec241c3c 100644 --- a/libbacktrace/Backtrace.cpp +++ b/libbacktrace/Backtrace.cpp @@ -168,5 +168,9 @@ std::string Backtrace::GetErrorString(BacktraceUnwindError error) { return "Failed to find a function in debug sections"; case BACKTRACE_UNWIND_ERROR_EXECUTE_DWARF_INSTRUCTION_FAILED: return "Failed to execute dwarf instructions in debug sections"; + case BACKTRACE_UNWIND_ERROR_UNWIND_INFO: + return "Failed to unwind due to invalid unwind information"; + case BACKTRACE_UNWIND_ERROR_REPEATED_FRAME: + return "Failed to unwind due to same sp/pc repeating"; } } |