diff options
author | Julian Lettner <jlettner@apple.com> | 2019-08-21 23:42:06 +0000 |
---|---|---|
committer | Julian Lettner <jlettner@apple.com> | 2019-08-21 23:42:06 +0000 |
commit | 73c62339cf5a6bac19b3e897ddca363e05316d65 (patch) | |
tree | acd621f0caffbf81a574de2f50dd685909190032 /lib/tsan | |
parent | 832231aca65152c6c56198375146ac384b946c57 (diff) | |
download | compiler-rt-73c62339cf5a6bac19b3e897ddca363e05316d65.tar.gz |
[TSan] #include header instead of forward declaring interceptees
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@369601 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/tsan')
-rw-r--r-- | lib/tsan/rtl/tsan_interceptors_mac.cpp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/lib/tsan/rtl/tsan_interceptors_mac.cpp b/lib/tsan/rtl/tsan_interceptors_mac.cpp index db7392796..8b748c110 100644 --- a/lib/tsan/rtl/tsan_interceptors_mac.cpp +++ b/lib/tsan/rtl/tsan_interceptors_mac.cpp @@ -23,6 +23,7 @@ #include <errno.h> #include <libkern/OSAtomic.h> #include <objc/objc-sync.h> +#include <os/lock.h> #include <sys/ucontext.h> #if defined(__has_include) && __has_include(<xpc/xpc.h>) @@ -246,21 +247,7 @@ TSAN_INTERCEPTOR(void, os_lock_unlock, void *lock) { REAL(os_lock_unlock)(lock); } -extern "C" { - #define _LOCK_AVAILABILITY \ - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) \ - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) - - _LOCK_AVAILABILITY void os_unfair_lock_lock(void *lock); - // NOTE: `options` actually has type `os_unfair_lock_options_t` but this - // should be ABI compatible. - _LOCK_AVAILABILITY void os_unfair_lock_lock_with_options(void *lock, - u32 options); - _LOCK_AVAILABILITY bool os_unfair_lock_trylock(void *lock); - _LOCK_AVAILABILITY void os_unfair_lock_unlock(void *lock); -} - -TSAN_INTERCEPTOR(void, os_unfair_lock_lock, void *lock) { +TSAN_INTERCEPTOR(void, os_unfair_lock_lock, os_unfair_lock_t lock) { if (!cur_thread()->is_inited || cur_thread()->is_dead) { return REAL(os_unfair_lock_lock)(lock); } @@ -269,7 +256,7 @@ TSAN_INTERCEPTOR(void, os_unfair_lock_lock, void *lock) { Acquire(thr, pc, (uptr)lock); } -TSAN_INTERCEPTOR(void, os_unfair_lock_lock_with_options, void *lock, +TSAN_INTERCEPTOR(void, os_unfair_lock_lock_with_options, os_unfair_lock_t lock, u32 options) { if (!cur_thread()->is_inited || cur_thread()->is_dead) { return REAL(os_unfair_lock_lock_with_options)(lock, options); @@ -279,7 +266,7 @@ TSAN_INTERCEPTOR(void, os_unfair_lock_lock_with_options, void *lock, Acquire(thr, pc, (uptr)lock); } -TSAN_INTERCEPTOR(bool, os_unfair_lock_trylock, void *lock) { +TSAN_INTERCEPTOR(bool, os_unfair_lock_trylock, os_unfair_lock_t lock) { if (!cur_thread()->is_inited || cur_thread()->is_dead) { return REAL(os_unfair_lock_trylock)(lock); } @@ -290,7 +277,7 @@ TSAN_INTERCEPTOR(bool, os_unfair_lock_trylock, void *lock) { return result; } -TSAN_INTERCEPTOR(void, os_unfair_lock_unlock, void *lock) { +TSAN_INTERCEPTOR(void, os_unfair_lock_unlock, os_unfair_lock_t lock) { if (!cur_thread()->is_inited || cur_thread()->is_dead) { return REAL(os_unfair_lock_unlock)(lock); } |