llvm-project/libunwind
Daniel Cederman 17121adfa6 [Sparc] Add Sparc V8 support
Summary:
Adds the register class implementation for Sparc.
Adds support for DW_CFA_GNU_window_save.
Adds save and restore context functionality.

Adds getArch() function to each Registers_ class to be able to separate
between DW_CFA_AARCH64_negate_ra_state and DW_CFA_GNU_window_save which
are both represented by the same constant.

On Sparc the return address is the address of the call instruction, so
an offset needs to be added when returning to skip the call instruction
and its delay slot. If the function returns a struct it is also necessary
to skip one extra instruction on Sparc V8.

Reviewers: jyknight, mclow.lists, mstorsjo, compnerd

Reviewed By: jyknight, compnerd

Subscribers: jgorbe, mgorny, christof, llvm-commits, fedor.sergeev, JDevlieghere, ldionne, libcxx-commits

Differential Revision: https://reviews.llvm.org/D55763

llvm-svn: 351044
2019-01-14 10:15:20 +00:00
..
cmake [CMake] Passthrough CFLAGS when checking the compiler-rt path 2018-11-14 00:09:26 +00:00
docs NFC: Test commit access 2018-08-16 16:55:07 +00:00
include [Sparc] Add Sparc V8 support 2019-01-14 10:15:20 +00:00
src [Sparc] Add Sparc V8 support 2019-01-14 10:15:20 +00:00
test [libunwind] Permit additional compiler and linker flags to be passed to tests. 2018-02-27 18:40:04 +00:00
.arcconfig [libunwind] Set up .arcconfig to point to new Diffusion UNW repository 2018-01-10 22:20:03 +00:00
.clang-format unwind: add a .clang-format 2015-05-07 19:50:18 +00:00
CMakeLists.txt [cmake] Rename append_if to avoid collision with LLVM 2018-12-11 15:30:04 +00:00
LICENSE.TXT Update copyright year to 2018. 2018-06-18 12:22:17 +00:00