diff options
| author | Christopher Ferris <cferris@google.com> | 2018-12-10 11:13:23 -0800 |
|---|---|---|
| committer | Christopher Ferris <cferris@google.com> | 2018-12-11 19:16:29 -0800 |
| commit | 01040b10b2393014c2d49265b6ef75a1a2a459a7 (patch) | |
| tree | 3b73550aec21a98a8e4ae302f9d567f9d2541c65 /libunwindstack/tests/MemoryCacheTest.cpp | |
| parent | 1fcf7f7d1f6e064ff2a129394d26b9d5a257206f (diff) | |
Fix handling of ro segments for embedded libs.
When a shared library is loaded directly from an apk, the new way the
linker splits a shared library into a read-only and execute segment
broke unwinding. Modify the code to handle this case.
Other changes:
- Modify the algorithm for finding read-only map entries. Before, the code
would search the entire map for the closest offset. Now it simply looks
at the previous map. I did this because the old code was too lenient and
might still work even if the linker changes. I want this to break if the
linker behavior changes so that I can analyze the change.
- Update the tools to use PTRACE_SEIZE instead of PTRACE_ATTACH since
PTRACE_ATTACH doesn't work in all cases.
- Small refactor of the GetFileMemory function.
- Add new unit test cases and new offline unwind test cases.
Bug: 120618231
Test: Ran new unit tests, ran original failing test.
Change-Id: I4bade55cf33220d52f1d5e9b0cbbbcc8419669d4
Diffstat (limited to 'libunwindstack/tests/MemoryCacheTest.cpp')
0 files changed, 0 insertions, 0 deletions
