[PATCH] D16191: [tsan] Add TSan debugger APIs

Dmitry Vyukov via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 15 01:02:56 PST 2016


dvyukov added a comment.

What do you want to achieve?
__tsan::OnReport already exposes ReportDesc. And it is enough to do the checks.
Long time ago we had lots of tests that did exactly this:

  assert(tid == 0);
  assert(addr == &my_global);
  assert(size == 8);
  assert(write == 1);
  assert(atomic == 0);
  assert(trace[0] > (void *)&main);
  assert(trace[0] < (void *)&__tsan_on_report);
  assert(trace[1] == 0);

They proved to be very painful to write and to maintain. And in the end they don't actually verify what uses sees (e..g all checks can pass but we print nothing at all). I've dropped them in favor of output_tests. I've spent half an hour trying to find them, but unfortunately it seems that we've dropped our history and masked it with file copies without using svn cp.


http://reviews.llvm.org/D16191





More information about the llvm-commits mailing list