Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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
- Loading branch information