Thread Sanitizer and GCC GOMP (OpenMP)

Konstantin Serebryany konstantin.s.serebryany@gmail.com
Wed Feb 27 08:05:00 GMT 2013


Hi Jeffrey,

On Tue, Feb 26, 2013 at 8:42 PM, Jeffrey Walton <noloader@gmail.com> wrote:
> Hi All,
>
> This came up on another list (Automake). I'm going to quote Bob
> Friesenhahn directly since my paraphrase won't do him justice:
>
> "I am curious if this ThreadSanitizer extension will work with the
> normal build of GCC GOMP (for OpenMP) on GNU/Linux.  Up to now, it has
> been necessary for interested parties to build their own GCC in order
> to build a libgomp which uses pthreads rather than Linux clone for
> threading.  This is because valgrind only supports threads created via
> pthreads and pthread locking semantics."
>
> Does Thread Sanitizer work for non-pthread or OpenMP environments? [1]
> and [2] don't discuss limitations.

ThreadSanitizer works for pthread-based synchronization and atomic
compiler builtins (the latter, only in the code that is instrumented
by tsan).
If the code uses something else, it could be possible to support that
to, but we will need minimized test cases.
I suggest you to talk to us at thread-sanitizer@googlegroups.com.

>
> Jeff
>
> [1] http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging-Options
> [2] http://code.google.com/p/data-race-test/wiki/ThreadSanitizer

This link refers to the old Valgrind-based ThreadSanitizer, which we
have abandoned.
See code.google.com/p/thread-sanitizer/ for the new compiler-base tool.

--kcc



More information about the Gcc mailing list