diff options
author | Dean Michael Berris <dberris@google.com> | 2017-11-15 03:35:42 +0000 |
---|---|---|
committer | Dean Michael Berris <dberris@google.com> | 2017-11-15 03:35:42 +0000 |
commit | e811c409bf2634f1845f5f14e36851255098b197 (patch) | |
tree | 8ff593246f319bdac00365f3588abdfb48602cb8 /lib/scudo/scudo_allocator.cpp | |
parent | 270a9d57af3a0b13214ca6e2cd33a820094cd6c3 (diff) |
[XRay][compiler-rt][x86_64] Align the stack before and after calling handlers
Summary:
This change fixes the XRay trampolines aside from the __xray_CustomEvent
trampoline to align the stack to 16-byte boundaries before calling the
handler. Before this change we've not been explicitly aligning the stack
to 16-byte boundaries, which makes it dangerous when calling handlers
that leave the stack in a state that isn't strictly 16-byte aligned
after calling the handlers.
We add a test that makes sure we can handle these cases appropriately
after the changes, and prevents us from regressing the state moving
forward.
Fixes http://llvm.org/PR35294.
Reviewers: pelikan, pcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D40004
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@318261 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/scudo/scudo_allocator.cpp')
0 files changed, 0 insertions, 0 deletions