mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-12-27 21:43:42 +01:00
da0b1a146f
This patch adds support for the powerpc64le-linux platform. It consists of two main features: - Support little-endian byte order This is done via a "big_endian" member of struct unw_addr_space, which is evaluated by common code via the dwarf_is_big_endian macro, and also in endian-aware code in unw_is_signal_frame. - Support the ELFv2 ABI This is done via an "abi" member of struct unw_addr_space. This is currently only needed in tdep_get_func_addr, since the ELFv2 ABI does not use function descriptors. Both new members are initialized in unw_create_addr_space and ppc64_local_addr_space_init, following the mips precedent. Since ppc32 and ppc64 now no longer share the unw_create_addr_space implementation, the file is duplicated from the ppc directory into ppc32/ppc64. Tested on powerpc64-linux and powerpc64le-linux. Support on LE seems to be as good as existing BE support; I have not attempted to fix the existing shortcomings of PPC support that already cause a number to tests to fail due to unimplemented features. Signed-off-by: Ulrich Weigand <uweigand@de.ibm.com> |
||
---|---|---|
.. | ||
tdep | ||
tdep-aarch64 | ||
tdep-arm | ||
tdep-hppa | ||
tdep-ia64 | ||
tdep-mips | ||
tdep-ppc32 | ||
tdep-ppc64 | ||
tdep-sh | ||
tdep-x86 | ||
tdep-x86_64 | ||
x86 | ||
compiler.h | ||
dwarf-eh.h | ||
dwarf.h | ||
dwarf_i.h | ||
libunwind-aarch64.h | ||
libunwind-arm.h | ||
libunwind-common.h.in | ||
libunwind-coredump.h | ||
libunwind-dynamic.h | ||
libunwind-hppa.h | ||
libunwind-ia64.h | ||
libunwind-mips.h | ||
libunwind-ppc32.h | ||
libunwind-ppc64.h | ||
libunwind-ptrace.h | ||
libunwind-sh.h | ||
libunwind-x86.h | ||
libunwind-x86_64.h | ||
libunwind.h.in | ||
libunwind_i.h | ||
mempool.h | ||
remote.h | ||
unwind.h |