summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/rtl/tsan_suppressions.h
Commit message (Collapse)AuthorAgeFilesLines
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* tsan: implement suppressions for top frame onlyDmitry Vyukov2015-06-291-0/+1
| | | | | | | | | | The new suppression type is called "race_top" and is matched only against top frame in report stacks. This is required for situations when we want to suppress a race in a "thread pool" or "event loop" implementation. If we simply use "race:ThreadPool::Execute" suppression, that can suppress everything in the program. Reviewed in http://reviews.llvm.org/D10686 llvm-svn: 240949
* [Sanitizer] Refactor SuppressionContext class.Alexey Samsonov2015-02-201-0/+9
| | | | | | | | | | | | | | SuppressionContext is no longer a singleton, shared by all sanitizers, but a regular class. Each of ASan, LSan, UBSan and TSan now have their own SuppressionContext, which only parses suppressions specific to that sanitizer. "suppressions" flag is moved away from common flags into tool-specific flags, so the user now may pass ASAN_OPTIONS=suppressions=asan_supp.txt LSAN_OPIONS=suppressions=lsan_supp.txt in a single invocation. llvm-svn: 230026
* [Sanitizer] Make SuppressionContext a singleton class, residing in ↵Alexey Samsonov2014-07-301-1/+0
| | | | | | | | | | sanitizer_common. Convert TSan and LSan to the new interface. More changes will follow: 1) "suppressions" should become a common runtime flag. 2) Code for parsing suppressions file should be moved to SuppressionContext::Init(). llvm-svn: 214334
* tsan: ignore interceptors coming from specified librariesDmitry Vyukov2013-10-031-0/+1
| | | | | | | | | | | | | 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] Move some suppressions-related code to common.Sergey Matveev2013-06-261-19/+1
| | | | | | Factor out code to be reused in LSan. Also switch from linked list to vector. llvm-svn: 184957
* tsan: allows to suppress races on global variablesDmitry Vyukov2013-06-101-0/+2
| | | | llvm-svn: 183672
* tsan: print matched suppressions if print_suppressions=1 flag is providedDmitry Vyukov2013-03-271-4/+5
| | | | llvm-svn: 178159
* tsan: allow a front-end to provide default suppressionsDmitry Vyukov2013-01-241-1/+1
| | | | llvm-svn: 173345
* tsan: cache pc's that cause suppressions (this way we do not need to ↵Dmitry Vyukov2012-10-051-1/+1
| | | | | | symbolize the reports) llvm-svn: 165317
* [TSan] fix a bunch of warnings reported by pedantic gccAlexey Samsonov2012-09-131-1/+1
| | | | llvm-svn: 163788
* tsan: suppress reports against source file names as wellDmitry Vyukov2012-05-311-1/+1
| | | | llvm-svn: 157739
* tsan: remove shutdown codeDmitry Vyukov2012-05-171-1/+1
| | | | | | | | tsan runtime shutdown is problematic for 2 reasons: 1. others crash during shutdown 2. we have to override user exit status (don't know it and can't return from atexit handler) llvm-svn: 156991
* [tsan] First commit of ThreadSanitizer (TSan) run-time library.Kostya Serebryany2012-05-101-0/+43
Algorithm description: http://code.google.com/p/thread-sanitizer/wiki/ThreadSanitizerAlgorithm Status: The tool is known to work on large real-life applications, but still has quite a few rough edges. Nothing is guaranteed yet. The tool works on x86_64 Linux. Support for 64-bit MacOS 10.7+ is planned for late 2012. Support for 32-bit OSes is doable, but problematic and not yet planed. Further commits coming: - tests - makefiles - documentation - clang driver patch The code was previously developed at http://code.google.com/p/data-race-test/source/browse/trunk/v2/ by Dmitry Vyukov and Kostya Serebryany with contributions from Timur Iskhodzhanov, Alexander Potapenko, Alexey Samsonov and Evgeniy Stepanov. llvm-svn: 156542
OpenPOWER on IntegriCloud