|
From: Konstantin S. <kon...@gm...> - 2009-05-29 10:58:34
|
[changed subject] Julian, Bart, Do you plan to support annotations (aka client requests) in Helgrind and DRD in a compatible way (and possibly, in a way compatible with ThreadSanitizer)? Something like http://code.google.com/p/google-perftools/source/browse/trunk/src/base/dynamic_annotations.h, or completely different. Our experience shows that even a pure-happens-before race detector is completely useless w/o annotations if your code has lock-less synchronization and hundreds of benign races. Thanks, --kcc On Thu, Feb 12, 2009 at 12:00 AM, Konstantin Serebryany <kon...@gm...> wrote: > On Wed, Feb 11, 2009 at 8:53 PM, Bart Van Assche > <bar...@gm...> wrote: >> On Tue, Feb 10, 2009 at 7:42 AM, Konstantin Serebryany >> <kon...@gm...> wrote: >>> On Mon, Feb 9, 2009 at 9:48 PM, Bart Van Assche >>> <bar...@gm...> wrote: >>>> IMHO it would be a significant advantage for Valgrind users if there >>>> would be a single set of source code annotations that is understood by >>>> all data race detectors built on top of Valgrind (Helgrind, DRD and >>>> ThreadSanitizer). >>> >>> Yes. >>> Another question: should these client requests be binary compatible >>> with each other, or only source compatible? >>> (source compatible == macro definitions with different >>> implementations for different tools) >>> If we push for binary compatibility, we may loose the ability to be >>> compatible with non-valgrind-based tools. >> >> Do you think it is possible to define the annotations such that >> recompilation would only be needed when switching between >> Valgrind-tools and non-Valgrind tools ? > > Yes, sure. > either define the same client requests in all three tools or intercept > the same functions (like AnnotateBlahBlahBlah()) > --kcc > > --kcc >> >> Bart. >> > |