llvm-project/compiler-rt/lib/tsan
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
..
benchmarks
dd [CMake] Tidy up the organisation of compiler-rt when configured as a standalone 2018-06-27 12:56:34 +00:00
go Switch syscall(2)/__syscall(2) calls to libc calls on NetBSD 2018-10-01 19:50:12 +00:00
rtl [TSan] Support Objective-C @synchronized with tagged pointers 2019-01-07 19:19:23 +00:00
tests [tsan] Use DARWIN_osx_LINK_FLAGS when building unit tests to match ASan behavior. 2018-06-21 18:00:51 +00:00
.clang-format [sanitizer] Remove unneeded blank lines 2018-05-09 00:44:26 +00:00
CMakeLists.txt Improve the comment in previous 2018-12-16 10:24:06 +00:00
analyze_libtsan.sh [TSan] Slightly improve check_analyze script. 2015-12-07 20:18:50 +00:00
check_analyze.sh tsan: Update measurements in check_analyze.sh. 2018-11-22 00:47:37 +00:00
check_cmake.sh