diff options
author | Mikhail Maltsev <mikhail.maltsev@arm.com> | 2019-06-17 11:00:21 +0000 |
---|---|---|
committer | Mikhail Maltsev <mikhail.maltsev@arm.com> | 2019-06-17 11:00:21 +0000 |
commit | d5323f6a707e376aab20ebe7864a78fc38fcedaa (patch) | |
tree | 79dbbf6b3f86a160dccfea4a45e19b6882a2b4a2 /lldb/packages/Python/lldbsuite | |
parent | 2e46312ffd16982f0e991c9434d4908b107f5260 (diff) | |
download | bcm5719-llvm-d5323f6a707e376aab20ebe7864a78fc38fcedaa.tar.gz bcm5719-llvm-d5323f6a707e376aab20ebe7864a78fc38fcedaa.zip |
[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
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
0 files changed, 0 insertions, 0 deletions