summaryrefslogtreecommitdiffstats
path: root/libunwind/src/AddressSpace.hpp
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2018-01-02 20:10:54 +0000
committerMartin Storsjo <martin@martin.st>2018-01-02 20:10:54 +0000
commit0aa55fdbba34928c0e05eb7d2fe3ebba7d95e85f (patch)
treefda2eae5f0bd3aa3a829fb20f2469706d414c308 /libunwind/src/AddressSpace.hpp
parent2b377c99f715f0efab7173905054eab0c9fb02c0 (diff)
downloadbcm5719-llvm-0aa55fdbba34928c0e05eb7d2fe3ebba7d95e85f.tar.gz
bcm5719-llvm-0aa55fdbba34928c0e05eb7d2fe3ebba7d95e85f.zip
[PPC64] Port to ppc64le - initial version
Initial working version of libunwind for PowerPC 64. Tested on little-endian ppc64 host only. Based on the existing PowerPC 32 code. It supports: - context save/restore (unw_getcontext, unw_init_local, unw_resume) - read/write from/to saved registers - backtrace (unw_step) Patch by Leandro Lupori! Differential Revision: https://reviews.llvm.org/D41386 llvm-svn: 321667
Diffstat (limited to 'libunwind/src/AddressSpace.hpp')
-rw-r--r--libunwind/src/AddressSpace.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libunwind/src/AddressSpace.hpp b/libunwind/src/AddressSpace.hpp
index 24914fa329a..384fc9a32da 100644
--- a/libunwind/src/AddressSpace.hpp
+++ b/libunwind/src/AddressSpace.hpp
@@ -697,6 +697,13 @@ struct unw_addr_space_ppc : public unw_addr_space {
RemoteAddressSpace<Pointer32<BigEndian>> oas;
};
+/// unw_addr_space_ppc is the concrete instance that a unw_addr_space_t points
+/// to when examining a 64-bit PowerPC process.
+struct unw_addr_space_ppc64 : public unw_addr_space {
+ unw_addr_space_ppc64(task_t task) : oas(task) {}
+ RemoteAddressSpace<Pointer64<LittleEndian>> oas;
+};
+
#endif // UNW_REMOTE
} // namespace libunwind
OpenPOWER on IntegriCloud