summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan
Commit message (Collapse)AuthorAgeFilesLines
...
* tsan: prevent the following false positive due to __cxa_atexitDmitry Vyukov2013-09-191-2/+8
| | | | | | | | | | | | | WARNING: ThreadSanitizer: data race (pid=29103) Write of size 8 at 0x7d64003bbf00 by main thread: #0 free tsan_interceptors.cc:477 #1 __run_exit_handlers <null>:0 (libc.so.6+0x000000050cb7) Previous write of size 8 at 0x7d64003bbf00 by thread T78 (mutexes: write M9896): #0 calloc tsan_interceptors.cc:449 #1 ... llvm-svn: 190989
* tsan: consistently use thr instead of cur_thread() in annotations implementationDmitry Vyukov2013-09-191-6/+6
| | | | llvm-svn: 190988
* tsan: refactor internal IgnoreCtl interfaceDmitry Vyukov2013-09-194-15/+19
| | | | llvm-svn: 190987
* [tsan] No-op implementation of AnnotateMemoryIsInitialized.Evgeniy Stepanov2013-09-181-0/+3
| | | | llvm-svn: 190933
* [TSan] Use --whole-archive around TSan runtime in old TSan makefiles. Fix a ↵Alexey Samsonov2013-09-112-2/+2
| | | | | | Go build llvm-svn: 190513
* [TSan] Use Clang to compile and link TSan unit tests with TSan runtimeAlexey Samsonov2013-09-114-26/+72
| | | | llvm-svn: 190503
* [Sanitizer] Refactor symbolization interface: use class instead of several ↵Alexey Samsonov2013-09-102-8/+8
| | | | | | functions. Move some code around to get rid of extra source files llvm-svn: 190410
* Delete unused variables.Eli Friedman2013-09-101-1/+0
| | | | llvm-svn: 190383
* [tsan] make calloc crash instead of returning 0 on overflow (controlled by ↵Kostya Serebryany2013-09-065-4/+74
| | | | | | the allocator_may_return_null flag) llvm-svn: 190135
* [tsan] add colors to tsan outputKostya Serebryany2013-09-051-2/+43
| | | | llvm-svn: 190045
* tsan: catch races on condition variablesDmitry Vyukov2013-09-033-0/+95
| | | | llvm-svn: 189816
* [TSan] fixup for r189791: don't put ; on the newlineAlexey Samsonov2013-09-031-3/+1
| | | | llvm-svn: 189792
* tsan: add suppressions for true/false positives in standard librariesDmitry Vyukov2013-09-031-0/+14
| | | | llvm-svn: 189791
* [TSan] Move the /proc/self/maps parsing logic to sanitizer_common Alexander Potapenko2013-09-031-57/+20
| | | | | | Provide a generic way for the tools to generate memory profiles from contents of /proc/self/maps llvm-svn: 189789
* tsan: properly intercept pthread_cond functionsDmitry Vyukov2013-09-025-41/+91
| | | | llvm-svn: 189767
* [TSan] Add a couple of compiler warnings to TSan runtime compile flagsAlexey Samsonov2013-08-291-5/+9
| | | | llvm-svn: 189581
* [TSan] Move build rules a bit to ensure correct dependencies of check-tsan ↵Alexey Samsonov2013-08-292-53/+51
| | | | | | command llvm-svn: 189579
* Properly generate lists of exported symbols for sanitizer runtimesAlexey Samsonov2013-08-275-66/+17
| | | | | | | | | 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
* tsan: better report formatting for GoDmitry Vyukov2013-08-163-14/+32
| | | | | | | Say that gorotuine 1 is main goroutine. Remove excessive new line. llvm-svn: 188542
* tsan: intercept getaddrinfoDmitry Vyukov2013-08-131-0/+15
| | | | | | | This is necessary to prevent false positives, see: https://code.google.com/p/thread-sanitizer/issues/detail?id=25 llvm-svn: 188291
* tsan/msan: add halt_on_error flagDmitry Vyukov2013-08-135-1/+33
| | | | | | If halt_on_error==true, program terminates after reporting first error. llvm-svn: 188279
* [*San/RTL] Fix minor breakageTimur Iskhodzhanov2013-08-131-8/+10
| | | | | Grumbling: this hasn't been caught by running 'make check-{a,l,t}san check-sanitizer' llvm-svn: 188262
* Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where ↵Timur Iskhodzhanov2013-08-134-58/+64
| | | | | | SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used llvm-svn: 188261
* 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
* [sanitizer] Intercept poll/ppoll.Evgeniy Stepanov2013-08-123-7/+3
| | | | llvm-svn: 188177
* [sanitizer] Intercept getgroups.Evgeniy Stepanov2013-08-122-0/+2
| | | | llvm-svn: 188167
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-094-16/+20
| | | | llvm-svn: 188116
* [sanitizer] Intercept scandir/scandir64.Evgeniy Stepanov2013-08-082-0/+4
| | | | llvm-svn: 187982
* [sanitizer] Intercept strerror and strerror_r.Evgeniy Stepanov2013-08-082-0/+4
| | | | llvm-svn: 187978
* [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-073-10/+18
| | | | | | | | | | | | | | | 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
* [sanitizer] Intercept sched_getaffinity.Evgeniy Stepanov2013-08-072-0/+2
| | | | | | Re-applying with a more reliable test case. llvm-svn: 187876
* Enable pipefail for TSan testsAlexey Samsonov2013-08-0765-66/+64
| | | | llvm-svn: 187875
* Revert "[sanitizer] Intercept sched_getaffinity."David Blaikie2013-08-072-2/+0
| | | | | | | | | | | | This reverts commit r187788. The test case is unreliable (as the test may be run in a situation in which it has no affinity with cpu0). This can be recommitted with a more reliable test - possibly using CPU_COUNT != 0 instead (I wasn't entirely sure that a process was guaranteed to have at least one affinity, though it seems reasonable, or I'd have made the change myself). llvm-svn: 187841
* [sanitizer] Intercept sched_getaffinity.Evgeniy Stepanov2013-08-062-0/+2
| | | | llvm-svn: 187788
* [msan] Intercept confstr.Evgeniy Stepanov2013-07-302-0/+2
| | | | llvm-svn: 187412
* 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: treat SIGSYS as synchronous signalDmitry Vyukov2013-07-181-1/+2
| | | | | | | | It is required for chromium sandboxing code. From the description it seems to be indeed synchronous -- called back on syscall with incorrect arguments, but seems to be unused in practice. So this should be fine. llvm-svn: 186579
* tsan: disable one more interceptor that causes recursionDmitry Vyukov2013-07-171-0/+1
| | | | llvm-svn: 186497
* [Sanitizer] move strcpy and strncpy to common interceptorsAlexey Samsonov2013-07-161-26/+0
| | | | llvm-svn: 186408
* tsan: support sigsuspend() callDmitry Vyukov2013-07-164-0/+46
| | | | | | Intercepting it makes it process pending signal before return. llvm-svn: 186400
* [sanitizer] Support GLOB_ALTDIRFUNC in glob interceptor.Evgeniy Stepanov2013-07-091-3/+6
| | | | llvm-svn: 185932
* [sanitizer] Intercept realpath and canonicalize_file_name.Evgeniy Stepanov2013-07-092-0/+4
| | | | | | Handle realpath(path, NULL) form. llvm-svn: 185921
* [sanitizer] Intercept tcgetattr.Evgeniy Stepanov2013-07-042-0/+2
| | | | llvm-svn: 185626
* [sanitizer] More interceptors.Evgeniy Stepanov2013-07-042-0/+16
| | | | | | | | | bcopy strtoimax, strtoumax mbstowcs, mbsrtowcs, mbsnrtowcs wcstombs, wcsrtombs, wcsnrtombs llvm-svn: 185624
* [sanitizer] Intercept mbtowc, mbrtowc, get_current_dir_name.Evgeniy Stepanov2013-07-022-0/+4
| | | | | | Move getcwd to common interceptors. llvm-svn: 185424
* [sanitizer] Intercept setlocale.Evgeniy Stepanov2013-07-022-0/+2
| | | | llvm-svn: 185416
* [sanitizer] Intercept getnameinfo.Evgeniy Stepanov2013-07-012-0/+2
| | | | llvm-svn: 185338
* Hide mlock/munlock info message under verbosity flag.Alexey Samsonov2013-07-011-1/+2
| | | | llvm-svn: 185314
OpenPOWER on IntegriCloud