hanchenye-llvm-project/libunwind
Mikhail Maltsev d5323f6a70 [libunwind][AArch64] Fix libunwind::Registers_arm64::jumpto
Summary:
The AArch64 version of the libunwind function which restores the
CPU state and resumes execution is not interrupt-safe. It restores
the target value of SP before loading the floating-point registers
from the context struct, but that struct is allocated on the stack
which is being deallocated. This means that if an interrupt occurs
during this function, and uses a lot of stack space, it could
overwrite the values about to be loaded into the floating-point
registers.

This patch fixes the issue.

Patch by Oliver Stannard.

Reviewers: phosek, chill

Reviewed By: chill

Subscribers: chill, javed.absar, kristof.beyls, christof, LukeCheeseman, pbarrio, olista01, libcxx-commits

Tags: #libc

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

llvm-svn: 363545
2019-06-17 11:00:21 +00:00
..
cmake [runtimes] Use -Wunknown-pragmas for the pragma check 2019-05-30 05:38:06 +00:00
docs [Docs] Modernize references to macOS 2019-05-30 16:46:22 +00:00
include
src [libunwind][AArch64] Fix libunwind::Registers_arm64::jumpto 2019-06-17 11:00:21 +00:00
test [libunwind] [test] Fix inferring source paths 2019-05-29 07:20:30 +00:00
.arcconfig
.clang-format
CMakeLists.txt [CMake] Use find_package(LLVM) instead of LLVMConfig 2019-05-30 07:34:39 +00:00
LICENSE.TXT