Commit Graph

37 Commits

Author SHA1 Message Date
Dmitry Vyukov ce3721057d tsan: remove in_rtl counter
This is intended to address the following problem.
Episodically we see CHECK-failures when recursive interceptors call back into user code. Effectively we are not "in_rtl" at this point, but it's very complicated and fragile to properly maintain in_rtl property. Instead get rid of it. It was used mostly for sanity CHECKs, which basically never uncover real problems.
Instead introduce ignore_interceptors flag, which is used in very few narrow places to disable recursive interceptors (e.g. during runtime initialization).

llvm-svn: 197979
2013-12-24 12:55:56 +00:00
Alexey Samsonov 4a2447fd81 [TSan] Use --whole-archive around TSan runtime in old TSan makefiles. Fix a Go build
llvm-svn: 190513
2013-09-11 11:06:06 +00:00
Alexey Samsonov acab30e927 Properly generate lists of exported symbols for sanitizer runtimes
This change adds a Python script that is invoked for
the just-built sanitizer runtime to generate the list of exported symbols
passed to the linker. By default, it contains interceptors and sanitizer
interface functions, but can be extended with tool-specific lists.

llvm-svn: 189356
2013-08-27 15:08:02 +00:00
Dmitry Vyukov d2cd2d018f tsan: revert dynamic symbols file to the old incorrect one
full proper list of dynamic symbols crashes old gold (see bug 16468).
the culprit is 'memcpy' function, if it's added to syms file, gold crashes

llvm-svn: 185078
2013-06-27 13:56:37 +00:00
Dmitry Vyukov b4711b2c24 tsan: update dynamic export syms file
now it includes proper functions (including interceptors)
and does not include local functions that lead to build failures

llvm-svn: 184747
2013-06-24 15:17:36 +00:00
Alexey Samsonov 75289297af Exclude sanitizer_nolibc_test from TSan test run. Fix lint warnings
llvm-svn: 182837
2013-05-29 09:40:07 +00:00
Alexey Samsonov 70a9c263d4 [TSan] Make path to FileCheck configurable
llvm-svn: 178760
2013-04-04 12:18:12 +00:00
Alexey Samsonov e1955b851d [TSan] Makefiles: allow configurable paths to clang and FileCheck. Add -fno-rtti flag.
llvm-svn: 177247
2013-03-18 07:00:36 +00:00
Alexey Samsonov 10bccda948 [TSan] remove temporary build directory in 'make clean' command
llvm-svn: 176012
2013-02-25 08:32:02 +00:00
Alexey Samsonov 84cf6a4333 [TSan] remove artifacts from gotsan build in 'make clean' command
llvm-svn: 174180
2013-02-01 15:30:36 +00:00
Dmitry Vyukov f22982bf0a asan/tsan: move blocking mutex from asan to sanitizer_common
llvm-svn: 172380
2013-01-14 07:51:39 +00:00
Dmitry Vyukov 7b838ada82 tsan: add cmake build and tests into presubmit script
llvm-svn: 170695
2012-12-20 14:10:27 +00:00
Alexey Samsonov d12943e028 [TSan] build only gtest-all.o when building TSan unit tests
llvm-svn: 170519
2012-12-19 09:19:57 +00:00
Dmitry Vyukov 1ed72076b4 tsan: add lint check back into presubmit script
llvm-svn: 170515
2012-12-19 08:53:31 +00:00
Dmitry Vyukov c467933dc7 tsan: fix -Wgnu warnings
llvm-svn: 170499
2012-12-19 06:59:45 +00:00
Dmitry Vyukov 714accd917 tsan: add sanity test for Go runtime into presubmit test
llvm-svn: 170185
2012-12-14 10:10:57 +00:00
Alexey Samsonov 341e5bcb45 [TSan] port all output tests to lit and move them to lit_tests directory. This makes 'make check-tsan' command test both unit and output TSan tests. Old custom makefiles for running TSan tests are still functional as well.
llvm-svn: 164110
2012-09-18 07:23:54 +00:00
Alexey Samsonov 0fa3ea69e2 [TSan] move: rtl_tests->tests/rtl unit_tests->tests/unit to make a single root for gtest-based tests. Support running these tests from lit via check-tsan command.
llvm-svn: 164022
2012-09-17 10:02:17 +00:00
Alexey Samsonov de827cb42b [Sanitizer] Remove lint checkers from our old makefiles in favor of buildbot
llvm-svn: 162981
2012-08-31 08:10:28 +00:00
Kostya Serebryany 4310fe35ea [tsan] fix tsan's Makefile.old -- our build bot still uses it (hopefully, will soon migrate to cmake completely)
llvm-svn: 162832
2012-08-29 08:21:09 +00:00
Kostya Serebryany ab34919413 [tsan] minor enhancements in the new tsan allocator and a test malloc replacement library that can be linked to any program to replace malloc (tested on spec2006)
llvm-svn: 160436
2012-07-18 16:04:55 +00:00
Alexey Samsonov 2c94cd6e3d [Sanitizer] move flag parsing routines (and unit tests) from tsan runtime to common runtime.
llvm-svn: 159928
2012-07-09 13:21:39 +00:00
Alexey Samsonov 6f510f8eb5 [TSan] use threadsafe death tests in TSan unit tests
llvm-svn: 159533
2012-07-02 14:35:25 +00:00
Dmitry Vyukov 513f0238d8 tsan/asan: add SpinMutex to sanitizer_common
llvm-svn: 159439
2012-06-29 17:32:18 +00:00
Dmitry Vyukov 6967083071 tsan: use -Wno-unused-private-field only for clang (gcc does not understand it)
llvm-svn: 159435
2012-06-29 16:37:49 +00:00
Alexey Samsonov e2109388a4 [TSan] fix warnings suppression: internal-linkage-in-inline was renamed to static-in-inline
llvm-svn: 159198
2012-06-26 11:33:51 +00:00
Kostya Serebryany 6e26fa9dd1 [tsan] first step in implementing a custom allocator for tsan (and msan) which saves precious shadow
llvm-svn: 158913
2012-06-21 10:04:36 +00:00
Kostya Serebryany 98390d0b71 [tsan] a bit more lint and Makefile changes to run tests from sanitizer_common
llvm-svn: 158821
2012-06-20 15:19:17 +00:00
Alexey Samsonov d9ae7adb84 [TSan] silence -Winternal-linkage-in-inlinewarning which is produced for gtest code
llvm-svn: 158705
2012-06-19 07:38:11 +00:00
Alexey Samsonov aac5d0c831 [Sanitizer] Workaround for -Wunused-private-field warning - add an attribute in TSan unit test, and silence this warning as gtest has unused fields.
llvm-svn: 158449
2012-06-14 14:02:32 +00:00
Alexey Samsonov 298dd7c361 [TSan] use __sanitizer::internal_open in TSan run-time
llvm-svn: 157988
2012-06-05 07:46:31 +00:00
Kostya Serebryany 458b4006b2 [asan,tsan] Add a new directory compiler-rt/lib/sanitizer_common
which will contain code shared between asan and tsan run-times.

Naming is hard. If you can suggest a better name for the directory -- speak up.

llvm-svn: 157611
2012-05-29 12:18:18 +00:00
Dmitry Vyukov e1bbb2f34a tsan: pass CFLAGS to tests
llvm-svn: 157579
2012-05-28 14:15:39 +00:00
Kostya Serebryany 82bcc58384 [tsan] fix dependency rules in Makefile.old
llvm-svn: 156983
2012-05-17 08:33:14 +00:00
Kostya Serebryany 07c4805175 [tsan] run more kinds of builds as presubmit test (and fix gcc debug build)
llvm-svn: 156616
2012-05-11 14:42:24 +00:00
Kostya Serebryany 1136764ab0 [tsan] a bit more lint
llvm-svn: 156614
2012-05-11 13:49:53 +00:00
Kostya Serebryany 5b7cb1db61 [tsan] old-dstyle Makefile for tests; two helper scripts that analyze the assembly code of the hot functions
llvm-svn: 156547
2012-05-10 15:10:03 +00:00