llvm-project/compiler-rt/lib
Julian Lettner a6d29024ed [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

llvm-svn: 350556
2019-01-07 19:19:23 +00:00
..
BlocksRuntime [compiler-rt] Test commit: remove some trailing white spaces. 2017-08-25 19:36:30 +00:00
asan Add support for background thread on NetBSD in ASan 2018-12-29 00:32:07 +00:00
builtins [builtins] Remove trailing whitespaces, NFC 2018-12-10 22:52:59 +00:00
cfi Unbreak linux cfi build 2018-10-01 18:14:02 +00:00
dfsan [dfsan] Fix build after r346262 2018-11-06 20:42:19 +00:00
esan [Sanitizer] Separate FreeBSD interception data structures 2018-12-07 20:05:55 +00:00
fuzzer [libFuzzer] make len_control less aggressive 2018-12-14 23:21:31 +00:00
hwasan Bring back the pthread_create interceptor, but only on non-aarch64. 2019-01-04 23:24:02 +00:00
interception [interception] Switch to _type suffix instead of _f, NFC. 2018-10-22 20:54:48 +00:00
lsan Introduce `AddressSpaceView` template parameter to `CombinedAllocator`. 2018-12-21 21:22:27 +00:00
msan Reimplement Thread Static Data MSan routines with TLS 2018-12-27 21:43:46 +00:00
profile Add support for LLVM profile for NetBSD 2018-12-22 06:56:19 +00:00
safestack SafeStack: Fix thread liveness check on *BSD 2018-08-28 18:30:03 +00:00
sanitizer_common [compiler-rt][Fuchsia] Replace _zx_vmar_allocate_old call 2019-01-06 05:19:05 +00:00
scudo Introduce `AddressSpaceView` template parameter to `SizeClassAllocator64`. 2018-12-21 21:09:31 +00:00
stats [CMake] Add compiler-rt header files to the list of sources for targets 2018-07-10 13:00:17 +00:00
tsan [TSan] Support Objective-C @synchronized with tagged pointers 2019-01-07 19:19:23 +00:00
ubsan [compiler-rt][UBSan] silence_unsigned_overflow: do *NOT* ignore *fatal* unsigned overflows 2018-11-21 20:35:43 +00:00
ubsan_minimal [ubsan-minimal] update comments in CMakeLists.txt 2018-10-30 01:20:12 +00:00
xray Speculative fix for xray assembler error on MachO since r349976 2018-12-28 18:53:00 +00:00
CMakeLists.txt [cmake] Add a separate CMake var to control profile runtime 2017-10-02 05:03:55 +00:00