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 | 6a40b2d0a5851f57541aaf8ae3d2e9dfe3f6cd2f (patch) | |
tree | 2094751b94157711a99724c5af25620553845690 /lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp | |
parent | 1f88f4c3bc9a011fe9fdc10fa2242d1ba6a64b1e (diff) | |
download | bcm5719-llvm-6a40b2d0a5851f57541aaf8ae3d2e9dfe3f6cd2f.tar.gz bcm5719-llvm-6a40b2d0a5851f57541aaf8ae3d2e9dfe3f6cd2f.zip |
[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
llvm-svn: 318261
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp')
0 files changed, 0 insertions, 0 deletions