llvm-project/libunwind
Amanieu d'Antras 0c1a135ada [libunwind][RISCV] Track PC separately from RA
Summary:
This allows unwinding to work across signal handler frames where the IP of the previous frame is not the same as the current value of the RA register. This is particularly useful for acquiring backtraces from signal handlers.

I kept the size of the context structure the same to avoid ABI breakage; the PC is stored in the previously unused slot for register 0.

Reviewers: #libunwind, mhorne, lenary, luismarques, arichardson, compnerd

Reviewed By: #libunwind, mhorne, lenary, compnerd

Subscribers: kamleshbhalui, jrtc27, bsdjhb, arichardson, compnerd, simoncook, kito-cheng, shiva0217, rogfer01, rkruppe, psnobl, benna, Jim, s.egerton, sameer.abuasal, evandro, llvm-commits, libcxx-commits

Tags: #libunwind, #llvm

Differential Revision: https://reviews.llvm.org/D78931
2020-06-13 08:15:40 +01:00
..
cmake [libcxx][libcxxabi][libunwind] Use libgcc on Android 2020-04-30 15:42:32 -07:00
docs Doc: Links should use https 2020-03-22 22:49:33 +01:00
include [libunwind] add hexagon support 2020-04-10 04:24:10 -05:00
src [libunwind][RISCV] Track PC separately from RA 2020-06-13 08:15:40 +01:00
test [libc++] Allow specifying arbitrary custom executors with the new format 2020-06-11 16:24:29 -04:00
.clang-format
CMakeLists.txt [libunwind] Fix building standalone after c48974ffd7 2020-01-26 22:12:40 +02:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00