diff options
author | Julian Lettner <jlettner@apple.com> | 2019-01-07 19:19:23 +0000 |
---|---|---|
committer | Julian Lettner <jlettner@apple.com> | 2019-01-07 19:19:23 +0000 |
commit | 8ebc3668b07fc5cca6010265cd4795443f1c1bea (patch) | |
tree | 82b67ed234d2ed1dc64cca5d66d897d4a25c7474 /lib/sanitizer_common/sanitizer_procmaps.h | |
parent | 79d27782ac7006e5b2878e7366749769ed6a11f4 (diff) | |
download | compiler-rt-8ebc3668b07fc5cca6010265cd4795443f1c1bea.tar.gz |
[TSan] Support Objective-C @synchronized with tagged pointers
Summary:
Objective-C employs tagged pointers, that is, small objects/values may be encoded directly in the pointer bits. The resulting pointer is not backed by an allocation/does not point to a valid memory. TSan infrastructure requires a valid address for `Acquire/Release` and `Mutex{Lock/Unlock}`.
This patch establishes such a mapping via a "dummy allocation" for each encountered tagged pointer value.
Reviewers: dcoughlin, kubamracek, dvyukov, delcypher
Reviewed By: dvyukov
Subscribers: llvm-commits, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D56238
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350556 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_procmaps.h')
0 files changed, 0 insertions, 0 deletions