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
diff --git a/libbacktrace/BacktraceCurrent.h b/libbacktrace/BacktraceCurrent.h
index 60a9117..48c14ea 100644
--- a/libbacktrace/BacktraceCurrent.h
+++ b/libbacktrace/BacktraceCurrent.h
@@ -19,7 +19,6 @@
#include <stdint.h>
#include <sys/types.h>
-#include <ucontext.h>
#include <backtrace/Backtrace.h>
@@ -44,7 +43,7 @@
bool ReadWord(uint64_t ptr, word_t* out_value) override;
- bool Unwind(size_t num_ignore_frames, ucontext_t* ucontext) override;
+ bool Unwind(size_t num_ignore_frames, void* ucontext) override;
protected:
bool DiscardFrame(const backtrace_frame_data_t& frame);
@@ -52,7 +51,7 @@
private:
bool UnwindThread(size_t num_ignore_frames);
- virtual bool UnwindFromContext(size_t num_ignore_frames, ucontext_t* ucontext) = 0;
+ virtual bool UnwindFromContext(size_t num_ignore_frames, void* ucontext) = 0;
};
#endif // _LIBBACKTRACE_BACKTRACE_CURRENT_H