summaryrefslogtreecommitdiff
path: root/libunwindstack/include/unwindstack/Maps.h
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2017-12-15 11:17:45 -0800
committerChristopher Ferris <cferris@google.com>2017-12-15 11:17:45 -0800
commit0140e68885e249ac2b2d6ec3cfa8cc5a1e02a8fd (patch)
tree160f72a2f6796b80b5003e761e9fe9a1bb5029cb /libunwindstack/include/unwindstack/Maps.h
parent2b254247de3b7ce3d2bdf8f0b3ac682a3442edb5 (diff)
downloadunwinding-0140e68885e249ac2b2d6ec3cfa8cc5a1e02a8fd.tar.gz
Fix issues in libunwindstack.
- Add a load_bias field in MapInfo so that it can be loaded offline, and also so it can be cached. - Add an Add function to the Maps class so that it's possible to manually create a map. - Remove the OfflineMaps class since I haven't found a reason for this to exist. - Add a pointer to the gnu debugdata compressed section in the interface itself and modify the step path to try eh_frame, then debug_frame, then gnu_debugdata. This way arm can add exidx as the last step behind gnu_debugdata. Add an offline test to verify the order of unwind. - Fix x86_64_ucontext_t since it was a different size on 32 bit and 64 bit systems. Test: Pass new unit tests. Change-Id: I978b70d6c244bd307c62a29886d24c1a8cb2af23
Diffstat (limited to 'libunwindstack/include/unwindstack/Maps.h')
-rw-r--r--libunwindstack/include/unwindstack/Maps.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/libunwindstack/include/unwindstack/Maps.h b/libunwindstack/include/unwindstack/Maps.h
index 34fef7f..17a2d28 100644
--- a/libunwindstack/include/unwindstack/Maps.h
+++ b/libunwindstack/include/unwindstack/Maps.h
@@ -42,6 +42,9 @@ class Maps {
virtual const std::string GetMapsFile() const { return ""; }
+ void Add(uint64_t start, uint64_t end, uint64_t offset, uint64_t flags, const std::string& name,
+ uint64_t load_bias);
+
typedef std::vector<MapInfo*>::iterator iterator;
iterator begin() { return maps_.begin(); }
iterator end() { return maps_.end(); }
@@ -100,14 +103,6 @@ class FileMaps : public Maps {
const std::string file_;
};
-class OfflineMaps : public FileMaps {
- public:
- OfflineMaps(const std::string& file) : FileMaps(file) {}
- virtual ~OfflineMaps() = default;
-
- bool Parse() override;
-};
-
} // namespace unwindstack
#endif // _LIBUNWINDSTACK_MAPS_H