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

Kuba Brecka via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 14 08:26:12 PST 2016


kubabrecka created this revision.
kubabrecka added reviewers: dvyukov, samsonov, glider, kcc.
kubabrecka added subscribers: llvm-commits, zaks.anna.

Currently, TSan only reports everything in a formatted textual form.  The idea behind this patch is to provide a consistent API that can be used to query information contained in a TSan-produced report.  User can use these APIs either in a debugger (via a script or directly), or they can use it directly from the process (e.g. in the `__tsan_on_report` callback).  ASan already has a similar API, see http://reviews.llvm.org/D4466.

Some details about the patch:
* The API is in C (and not C++), because we want it simple and stable.
* The callback `__tsan_on_report` is called just after the report is printed to the console.
* Added a test case which uses the callback `__tsan_on_report` to query and verify various data from the report.


http://reviews.llvm.org/D16191

Files:
  lib/tsan/CMakeLists.txt
  lib/tsan/rtl/tsan_debugging.cc
  lib/tsan/rtl/tsan_interface.h
  lib/tsan/rtl/tsan_rtl.h
  lib/tsan/rtl/tsan_rtl_report.cc
  test/tsan/debugging.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16191.44888.patch
Type: text/x-patch
Size: 14808 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160114/95319a45/attachment.bin>


More information about the llvm-commits mailing list