diff options
author | Evgenii Stepanov <eugenis@google.com> | 2020-08-06 11:32:33 -0700 |
---|---|---|
committer | Evgenii Stepanov <eugenis@google.com> | 2020-08-06 12:05:22 -0700 |
commit | 189ba3db8653eaefc191599dd60d9aa6b0127c44 (patch) | |
tree | 42bca4a0bba6783fc2e6082ca1738d103feb97a7 /llvm/lib/CodeGen/BasicBlockSections.cpp | |
parent | 87ce06e3155775f63ce8b6693282c130e7dff21d (diff) | |
download | llvm-189ba3db8653eaefc191599dd60d9aa6b0127c44.zip llvm-189ba3db8653eaefc191599dd60d9aa6b0127c44.tar.gz llvm-189ba3db8653eaefc191599dd60d9aa6b0127c44.tar.bz2 |
Fix CFI issues in <future>
This change fixes errors reported by Control Flow Integrity (CFI) checking when using `std::packaged_task`. The errors mostly stem from casting the underlying storage (`__buf_`) to `__base*`, even if it is uninitialized. The solution is to wrap `__base*` access to `__buf_` behind a getter marked with _LIBCPP_NO_CFI.
Differential Revision: https://reviews.llvm.org/D82627
Diffstat (limited to 'llvm/lib/CodeGen/BasicBlockSections.cpp')
0 files changed, 0 insertions, 0 deletions