blob: 9c491f269eb31d74381723e8122342270c636b1a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# This file lists the functions, object files and source files
# which should be ignored (i.e. not instrumented) by ThreadSanitizer on Mac OS.
# At the moment the Chromium binaries' debug info is not available to
# ThreadSanitizer, so we have to define fun:* rules for Mac OS complementing
# the src:* rules defined for Linux.
# Don't instrument code dealing with atomics (base::subtle)
fun:*base*subtle*NoBarrier_Load*
fun:*base*subtle*Release_Store*
fun:*base*subtle*NoBarrier_Store*
fun:*base*subtle*NoBarrier_CompareAndSwap*
# 32-bit version of std::string
# There is something very strange inside these functions.
# Looks like they write zero to a global variable which
# value is already zero. I.e. the race is benign.
# Global var is _ZNSs4_Rep20_S_empty_rep_storageE
# The race can only be reported on Mac since empty_rep is ignored by name
# inside ThreadSanitizer. Unfortunately, we don't have global variable names
# when running on Mac.
fun:*_M_mutateE*
fun_r:*_M_set_length_and_sharable*
fun:*_M_is_leaked*
fun:*_M_is_shared*
fun:*_M_set_leaked*
fun:*_M_set_sharable*
# we ignore the Security libraries for now since
# their instrumentation is very slow.
# TODO(timurrrr): investigate whether we need to instrument them
obj:*/Security*
obj:*/libcrypto*
# SensitiveAllocator::free is a part of the Security framework.
# It calls bzero (0xffff0633) which can't be resolved and thus should be
# ignored recursively.
fun_r:*SensitiveAllocator*free*
# The CFBag operators should be thread-safe, but they are not annotated
# properly.
# TODO(glider): replace all the CoreFoundation suppressions with ignores.
fun_r:CFBag*
|