diff options
author | Martin Storsjo <martin@martin.st> | 2018-01-02 20:10:54 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2018-01-02 20:10:54 +0000 |
commit | 0aa55fdbba34928c0e05eb7d2fe3ebba7d95e85f (patch) | |
tree | fda2eae5f0bd3aa3a829fb20f2469706d414c308 /libunwind/src/AddressSpace.hpp | |
parent | 2b377c99f715f0efab7173905054eab0c9fb02c0 (diff) | |
download | bcm5719-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.hpp | 7 |
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 |