summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/lit_tests
Commit message (Collapse)AuthorAgeFilesLines
* Move TSan lit-tests under test/tsanAlexey Samsonov2014-02-14150-5043/+0
| | | | llvm-svn: 201414
* [tsan] rudimentary support for deadlock detector in tsan (nothing really ↵Kostya Serebryany2014-02-141-0/+25
| | | | | | works yet except for a single tiny test). Also rename tsan's DeadlockDetector to InternalDeadlockDetector llvm-svn: 201407
* Move shared configs for lit test suites to test/ and unittests/ directoriesAlexey Samsonov2014-02-142-2/+2
| | | | llvm-svn: 201399
* tsan: improve the testDmitry Vyukov2014-02-071-2/+9
| | | | | | | remove TSAN_OPTIONS from the test, so that it runs in the presubmit script add a CHECK, so that it can run with FileCheck as well llvm-svn: 200972
* [TSan] Add a regression test for ↵Alexander Potapenko2014-02-061-0/+28
| | | | | | https://code.google.com/p/thread-sanitizer/issues/detail?id=47 llvm-svn: 200923
* tsan: deflake flaky testDmitry Vyukov2014-02-051-0/+2
| | | | llvm-svn: 200833
* tsan: relax checking of errno spoiling in signal handlersDmitry Vyukov2014-01-281-6/+13
| | | | | | | allow SIGABRT to spoil errno, because some real programs reset SIGABRT handler in the handler, re-raise SIGABRT and return from the handler llvm-svn: 200304
* tsan: fix test for -O2Dmitry Vyukov2014-01-241-13/+17
| | | | | | otherwise races are suppressed due to "same stack" llvm-svn: 200015
* tsan: fix test for -O2Dmitry Vyukov2014-01-241-1/+2
| | | | llvm-svn: 200012
* tsan: fix test relying on assertDmitry Vyukov2014-01-241-0/+6
| | | | llvm-svn: 200002
* tsan: do not deadlock on forkDmitry Vyukov2014-01-243-0/+130
| | | | | | | | | | | | | Currently correct programs can deadlock after fork, because atomic operations and async-signal-safe calls are not async-signal-safe under tsan. With this change: - if a single-threaded program forks, the child continues running with verification enabled (the tsan background thread is recreated as well) - if a multi-threaded program forks, then the child runs with verification disabled (memory accesses, atomic operations and interceptors are disabled); it's expected that it will exec soon anyway - if the child tries to create more threads after multi-threaded fork, the program aborts with error message - die_after_fork flag is added that allows to continue running, but all bets are off http://llvm-reviews.chandlerc.com/D2614 llvm-svn: 199993
* Sanitize printf functions.Alexey Samsonov2014-01-211-0/+16
| | | | | | | | | | Intercept and sanitize arguments passed to printf functions in ASan and TSan (don't do this in MSan for now). The checks are controlled by runtime flag (off by default for now). Patch http://llvm-reviews.chandlerc.com/D2480 by Yuri Gribov! llvm-svn: 199729
* tsan: remove in_rtl counterDmitry Vyukov2013-12-241-0/+52
| | | | | | | | 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
* tsan: deflake another testDmitry Vyukov2013-12-241-1/+3
| | | | llvm-svn: 197965
* [TSan] Move declarations of __tsan_atomic functions to a public headerAlexey Samsonov2013-12-111-0/+16
| | | | llvm-svn: 197015
* Run TSan/MSan lit tests only on 64-bit platformsAlexey Samsonov2013-12-052-3/+4
| | | | llvm-svn: 196501
* tsan: deflake more testsDmitry Vyukov2013-11-282-0/+3
| | | | llvm-svn: 195916
* tsan: deflake more testsDmitry Vyukov2013-11-282-0/+4
| | | | llvm-svn: 195913
* tsan: better diagnostics if thread finishes with ignores enabledDmitry Vyukov2013-11-273-4/+34
| | | | | | | print thread creation stack and stacks where ignores were enabled. llvm-svn: 195836
* tsan: deflake testsDmitry Vyukov2013-11-212-0/+3
| | | | | | | | the tests produce episodic flakes the hypothesis is that it's due to our "racy" race detection algorithm sleeps should remove the flakes llvm-svn: 195351
* tsan: add -lm to output test build scriptDmitry Vyukov2013-11-211-1/+1
| | | | | | as common sanitizer interceptors now require it llvm-svn: 195346
* [tsan] use FileCheck in race_on_speculative_load.ccKostya Serebryany2013-11-211-1/+4
| | | | llvm-svn: 195331
* [tsan] add a run-time-side regression test for ↵Kostya Serebryany2013-11-211-0/+24
| | | | | | https://code.google.com/p/thread-sanitizer/issues/detail?id=40 (tsan-hostile load speculation) llvm-svn: 195325
* tsan: add support for robust mutexesDmitry Vyukov2013-11-152-0/+77
| | | | llvm-svn: 194823
* tsan/asan: support pthread_setname_np to set thread namesDmitry Vyukov2013-10-291-0/+32
| | | | llvm-svn: 193602
* tsan: merge 2 similar tests into 1Dmitry Vyukov2013-10-173-40/+8
| | | | llvm-svn: 192874
* tsan: add a test for __tsan_default_options()Dmitry Vyukov2013-10-171-0/+32
| | | | llvm-svn: 192873
* tsan: revert variable name change in testDmitry Vyukov2013-10-161-5/+5
| | | | | | It works as is with new llvm-symbolizer. llvm-svn: 192798
* tsan: move shadow stack from thread descriptors to fixed addressesDmitry Vyukov2013-10-163-5/+81
| | | | | | | | This allows to increase max shadow stack size to 64K, and reliably catch shadow stack overflows instead of silently corrupting memory. llvm-svn: 192797
* [TSan] Extend test for reporting globals with races on themAlexey Samsonov2013-10-161-3/+20
| | | | llvm-svn: 192782
* tsan: add annotations to ignore synchronization operationsDmitry Vyukov2013-10-101-0/+30
| | | | | | | | The annotations are AnnotateIgnoreSyncBegin/End, may be useful to ignore some infrastructure synchronization that introduces lots of false negatives. llvm-svn: 192355
* [TSan] Automatically pick up llvm-symbolizer from PATH, as we do in another ↵Alexey Samsonov2013-10-042-10/+0
| | | | | | sanitizers llvm-svn: 191954
* tsan: ignore interceptors coming from specified librariesDmitry Vyukov2013-10-0311-2/+171
| | | | | | | | | | | | | LibIgnore allows to ignore all interceptors called from a particular set of dynamic libraries. LibIgnore remembers all "called_from_lib" suppressions from the provided SuppressionContext; finds code ranges for the libraries; and checks whether the provided PC value belongs to the code ranges. Also make malloc and friends interceptors use SCOPED_INTERCEPTOR_RAW instead of SCOPED_TSAN_INTERCEPTOR, because if they are called from an ignored lib, then must call our internal allocator instead of libc malloc. llvm-svn: 191897
* tsan: support allocator_may_return_null flagDmitry Vyukov2013-09-271-2/+0
| | | | | | Fixes https://code.google.com/p/thread-sanitizer/issues/detail?id=29 llvm-svn: 191482
* tsan: ignore all interceptors coming directly from JVMDmitry Vyukov2013-09-213-0/+3
| | | | llvm-svn: 191152
* tsan: allow to ignore memory accesses in malloc and freeDmitry Vyukov2013-09-202-0/+73
| | | | llvm-svn: 191072
* [TSan] Use --whole-archive around TSan runtime in old TSan makefiles. Fix a ↵Alexey Samsonov2013-09-111-1/+1
| | | | | | Go build llvm-svn: 190513
* [tsan] make calloc crash instead of returning 0 on overflow (controlled by ↵Kostya Serebryany2013-09-062-1/+68
| | | | | | the allocator_may_return_null flag) llvm-svn: 190135
* tsan: catch races on condition variablesDmitry Vyukov2013-09-032-0/+89
| | | | llvm-svn: 189816
* tsan: properly intercept pthread_cond functionsDmitry Vyukov2013-09-022-1/+45
| | | | llvm-svn: 189767
* tsan/msan: add halt_on_error flagDmitry Vyukov2013-08-131-0/+25
| | | | | | If halt_on_error==true, program terminates after reporting first error. llvm-svn: 188279
* Add "CHECK-" prefix to un-break buildbot failure.Rui Ueyama2013-08-121-2/+2
| | | | | | | After r188221, the prefix given by --check-prefix must match with the label as a whole. Substring is not considered to be a correct label anymore. llvm-svn: 188227
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-094-16/+20
| | | | llvm-svn: 188116
* [TSan] Fix free_race.c by removing `not` from the test invocation that ↵Alexander Potapenko2013-08-071-3/+2
| | | | | | doesn't fail. llvm-svn: 187889
* [TSan] Let the users suppress use-after-free errors using the "race:" ↵Alexander Potapenko2013-08-072-9/+17
| | | | | | | | | | | | | | | suppressions. If there's a race between a memory access and a free() call in the client program, it can be reported as a use-after-free (if the access occurs after the free()) or an ordinary race (if free() occurs after the access). We've decided to use a single "race:" prefix for both cases instead of introducing a "use-after-free:" one, because in many cases this allows us to keep a single suppression for both the use-after-free and free-after-use. This may be misleading if the use-after-free occurs in a non-racy way (e.g. in a single-threaded program). But normally such bugs shall not be suppressed. llvm-svn: 187885
* Enable pipefail for TSan testsAlexey Samsonov2013-08-0765-66/+64
| | | | llvm-svn: 187875
* Disable pipefail for ThreadSanitizer.Rafael Espindola2013-07-261-0/+2
| | | | llvm-svn: 187272
* Use --driver-mode=g++ instead of -ccc-cxx; required after Clang r186605Hans Wennborg2013-07-181-1/+1
| | | | llvm-svn: 186607
* tsan: support sigsuspend() callDmitry Vyukov2013-07-161-0/+38
| | | | | | Intercepting it makes it process pending signal before return. llvm-svn: 186400
* Define the path to llvm-symbolizer tool in a common config to reduce copy-pasteAlexey Samsonov2013-06-301-5/+2
| | | | llvm-svn: 185286
OpenPOWER on IntegriCloud