[compiler-rt] r369601 - [TSan] #include header instead of forward declaring interceptees

Julian Lettner via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 21 16:42:06 PDT 2019


Author: yln
Date: Wed Aug 21 16:42:06 2019
New Revision: 369601

URL: http://llvm.org/viewvc/llvm-project?rev=369601&view=rev
Log:
[TSan] #include header instead of forward declaring interceptees

Modified:
    compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors_mac.cpp

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors_mac.cpp
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors_mac.cpp?rev=369601&r1=369600&r2=369601&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors_mac.cpp (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors_mac.cpp Wed Aug 21 16:42:06 2019
@@ -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, v
   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_lo
   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_lo
   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_tr
   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);
   }




More information about the llvm-commits mailing list