staticanalysis / data-race-test

Automatically exported from code.google.com/p/data-race-test
0 stars 0 forks source link

[v2] Compiler support for ignore files #89

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
We need it for anything real

Original issue reported on code.google.com by dvyu...@google.com on 12 Mar 2012 at 12:55

GoogleCodeExporter commented 9 years ago
The blacklist option in asan was more like a hack in absence of a proper 
attribute.
Now we have one for asan (attribute no_address_safety_analysis). 
Shall we use attribute no_thread_safety_analysis for tsan *instead* of 
blacklist? 
(I am not sure we can, just asking)

Original comment by konstant...@gmail.com on 12 Mar 2012 at 4:24

GoogleCodeExporter commented 9 years ago
We may implement the attribute. In gcc-tsan I had both the attribute and 
ignoring of functions starting with __tsan_ at some point.
However for faster migration we still need ignore files. FWIW ignore files can 
be used for read-only third_party code as well.

Original comment by dvyu...@google.com on 12 Mar 2012 at 4:32

GoogleCodeExporter commented 9 years ago
Do you think that the blacklist functionality from asan will be enough? 

Original comment by konstant...@gmail.com on 12 Mar 2012 at 4:36

GoogleCodeExporter commented 9 years ago
What is the blacklist functionality from asan?

Original comment by dvyu...@google.com on 12 Mar 2012 at 4:45

GoogleCodeExporter commented 9 years ago
http://code.google.com/p/address-sanitizer/wiki/AddressSanitizer#Blacklist_file

Original comment by konstant...@gmail.com on 12 Mar 2012 at 5:28

GoogleCodeExporter commented 9 years ago
Restoring current ignore file functionality definitely will be enough.

Original comment by dvyu...@google.com on 13 Mar 2012 at 7:59

GoogleCodeExporter commented 9 years ago
llvm r152755 adds flag "-mllvm -tsan-blacklist=<file>"
which uses the same BlackList implementation as in asan, i.e. only supports
  fun:FunctionNameWildcard

Now, what else do we need? 
  * obj: irrelevant, we are not instrumenting binaries
  * src: probably relevant. Yes? 
  * fun_r: OMG. I hope we don't need it. Do we? Pleeease, say no. 
  * fun_hist: hope not.

Original comment by konstant...@gmail.com on 14 Mar 2012 at 11:42

GoogleCodeExporter commented 9 years ago
They are used in our projects. If we support them we are cool. Otherwise we
will need to do something with each ignore independently during deployment.
 On Mar 15, 2012 3:43 AM, <data-race-test@googlecode.com> wrote:

Original comment by dvyu...@google.com on 15 Mar 2012 at 4:36

GoogleCodeExporter commented 9 years ago
They are used for reasons that may not exist with tsan v2. 

Original comment by konstant...@gmail.com on 15 Mar 2012 at 4:39