summaryrefslogtreecommitdiffstats
path: root/libbacktrace/Backtrace.cpp
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2017-12-11 17:44:33 -0800
committerChristopher Ferris <cferris@google.com>2018-01-29 10:41:11 -0800
commitc8bec5aa91b20b0173bf6bf5f73f9e6daa40519d (patch)
treecada46a2ee86c8c6c22d563b605a5120caff0426 /libbacktrace/Backtrace.cpp
parent8abe4e2638587957f621450b4e4c3ff7af310b08 (diff)
downloadsystem_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.cpp4
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";
}
}