# This file lists the functions, object files and source files # which should be ignored (i.e. not instrumented) by ThreadSanitizer. # See http://code.google.com/p/data-race-test/wiki/ThreadSanitizerIgnores. # ignore these libraries obj:*/ld-2* obj:*/libpthread-* obj:*/libfreetype* # we ignore the whole NSS library for now since # its instrumentation is very slow. # TODO(timurrrr): investigate whether we need to instrument it obj:*/libnss* obj:*/nss/* # ignore this standard stuff fun:clone fun:fork fun:pthread_* fun_r:_pthread_exit fun_r:_pthread_free_pthread_onstack fun_r:random_r fun_r:random fun_r:rand fun:__lll_mutex_unlock_wake fun:__cxa_atexit fun:__new_exitfn fun:_dl_* fun:__dl_* fun:*_setjmp* # dark magic with 'errno' here. fun:sys_* # ignore libc's printf functions fun_r:_IO_* fun:vfprintf fun:fwrite fun:fflush # Don't instrument intercepts src:*ts_valgrind_intercepts.c ################################################################## # Don't instrument synchronization code src:*base/waitable_event* src:*base/atomic* src:*base/condition_variable* src:*base/lock* src:*base/stats_counters* src:*base/thread_local_storage* # Don't instrument tcmalloc src:*/tcmalloc/* # This function is heavy in net_unittests fun_r:*disk_cache*BackendImpl*CheckAllEntries* # V8 is a hot-spot under ThreadSanitizer. # Lots of tiny functions there... # TODO(timurrrr): # Can we miss data races on V8 objects due to non thread-safe API calls # if we don't instrument v8::internals? fun_r:*v8*internal* # unibrow namespace contains lots of tiny unicode conversion functions. fun_hist:*unibrow* # Histogram has tiny functions that can be called frequently fun_hist:*Histogram* # TODO(timurrrr): SKIA - needs separate testing? # SKIA unittest is single-threaded... # SKIA uses un-annotated atomic refcount and other sync stuff # some functions are HEAVY like png, jpeg decoding src:*third_party/skia* # WebKit hotspot fun:*png_write* # This function generates 25% of memory accesses in net_unittests fun:*icu_4_2*UnicodeSet*add* # There's some weird failure test going on in this tiny test function in sqlite fun_r:threadLockingTest # Ignore accesses below GetCurrentThreadIdentifier. # There is a benign race which is hard to suppress properly, # see http://crbug.com/44580 fun_r:*ChromeThread*GetCurrentThreadIdentifier*