Home | History | Annotate | Download | only in tsan
      1 # This file lists the functions, object files and source files
      2 # which should be ignored (i.e. not instrumented) by ThreadSanitizer on Mac OS.
      3 # At the moment the Chromium binaries' debug info is not available to
      4 # ThreadSanitizer, so we have to define fun:* rules for Mac OS complementing
      5 # the src:* rules defined for Linux.
      6 
      7 # we ignore the Security libraries for now since
      8 # their instrumentation is very slow.
      9 # TODO(timurrrr): investigate whether we need to instrument them
     10 obj:*/Security*
     11 obj:*/libcrypto*
     12 # SensitiveAllocator::free is a part of the Security framework.
     13 # It calls bzero (0xffff0633) which can't be resolved and thus should be
     14 # ignored recursively.
     15 fun_r:*SensitiveAllocator*free*
     16 
     17 # The CFBag and CFDictionary operators should be thread-safe, but they are not
     18 # annotated properly.
     19 # TODO(glider): replace all the CoreFoundation suppressions with ignores.
     20 fun_r:CFBag*
     21 fun_r:CFDictionary*
     22 fun_r:CFBasicDictionary*
     23 #fun_r:CFBasicHash*
     24 
     25 # see crbug.com/46138
     26 fun_r:__CFRunLoopDeallocate
     27 
     28 fun_r:__CFRunLoopRemoveAllSources
     29 fun_r:__CFFinalizeRunLoop
     30 
     31 # _cthread_fork_child() is called in the child process after the fork syscall.
     32 # This function cleans up the cthread data structures created in the parent,
     33 # so ThreadSanitizer might consider it racey.
     34 fun_r:_cthread_fork_child
     35 
     36 # False reports on Snow Leopard.
     37 fun_r: _pthread_exit
     38 fun_r: _dispatch_queue_drain
     39