summaryrefslogtreecommitdiff
path: root/lib/tsan
Commit message (Collapse)AuthorAgeFilesLines
...
* [sanitizer] Intercept poll/ppoll.Evgeniy Stepanov2013-08-123-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@188177 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept getgroups.Evgeniy Stepanov2013-08-122-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@188167 91177308-0d34-0410-b5e6-96231b3b80d8
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-094-16/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@188116 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept scandir/scandir64.Evgeniy Stepanov2013-08-082-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187982 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept strerror and strerror_r.Evgeniy Stepanov2013-08-082-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187978 91177308-0d34-0410-b5e6-96231b3b80d8
* [TSan] Fix free_race.c by removing `not` from the test invocation that ↵Alexander Potapenko2013-08-071-3/+2
| | | | | | doesn't fail. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187889 91177308-0d34-0410-b5e6-96231b3b80d8
* [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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187885 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept sched_getaffinity.Evgeniy Stepanov2013-08-072-0/+2
| | | | | | | Re-applying with a more reliable test case. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187876 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable pipefail for TSan testsAlexey Samsonov2013-08-0765-66/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187875 91177308-0d34-0410-b5e6-96231b3b80d8
* 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). git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187841 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept sched_getaffinity.Evgeniy Stepanov2013-08-062-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187788 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Intercept confstr.Evgeniy Stepanov2013-07-302-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187412 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable pipefail for ThreadSanitizer.Rafael Espindola2013-07-261-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187272 91177308-0d34-0410-b5e6-96231b3b80d8
* Use --driver-mode=g++ instead of -ccc-cxx; required after Clang r186605Hans Wennborg2013-07-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@186607 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@186579 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: disable one more interceptor that causes recursionDmitry Vyukov2013-07-171-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@186497 91177308-0d34-0410-b5e6-96231b3b80d8
* [Sanitizer] move strcpy and strncpy to common interceptorsAlexey Samsonov2013-07-161-26/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@186408 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: support sigsuspend() callDmitry Vyukov2013-07-164-0/+46
| | | | | | | Intercepting it makes it process pending signal before return. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@186400 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Support GLOB_ALTDIRFUNC in glob interceptor.Evgeniy Stepanov2013-07-091-3/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185932 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept realpath and canonicalize_file_name.Evgeniy Stepanov2013-07-092-0/+4
| | | | | | | Handle realpath(path, NULL) form. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185921 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept tcgetattr.Evgeniy Stepanov2013-07-042-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185626 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] More interceptors.Evgeniy Stepanov2013-07-042-0/+16
| | | | | | | | | | | bcopy strtoimax, strtoumax mbstowcs, mbsrtowcs, mbsnrtowcs wcstombs, wcsrtombs, wcsnrtombs git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185624 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept mbtowc, mbrtowc, get_current_dir_name.Evgeniy Stepanov2013-07-022-0/+4
| | | | | | | Move getcwd to common interceptors. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185424 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept setlocale.Evgeniy Stepanov2013-07-022-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185416 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept getnameinfo.Evgeniy Stepanov2013-07-012-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185338 91177308-0d34-0410-b5e6-96231b3b80d8
* Hide mlock/munlock info message under verbosity flag.Alexey Samsonov2013-07-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185314 91177308-0d34-0410-b5e6-96231b3b80d8
* Define the path to llvm-symbolizer tool in a common config to reduce copy-pasteAlexey Samsonov2013-06-301-5/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185286 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo found by Clang fix for extern "C" function handling.Richard Smith2013-06-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185234 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept ptrace.Evgeniy Stepanov2013-06-282-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185142 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: revert dynamic symbols file to the old incorrect oneDmitry Vyukov2013-06-272-382/+5
| | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185078 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: remove non-existent functions from syms fileDmitry Vyukov2013-06-272-13/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185077 91177308-0d34-0410-b5e6-96231b3b80d8
* [TSan] try to fix Go buildAlexey Samsonov2013-06-271-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185063 91177308-0d34-0410-b5e6-96231b3b80d8
* [tsan] Fix build.Sergey Matveev2013-06-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184963 91177308-0d34-0410-b5e6-96231b3b80d8
* [tsan] Move some suppressions-related code to common.Sergey Matveev2013-06-266-271/+41
| | | | | | Factor out code to be reused in LSan. Also switch from linked list to vector. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184957 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] readdir and readdir_r interceptors.Evgeniy Stepanov2013-06-262-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184950 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: add missing __attribute__((visibility("default"))) to interface functionsDmitry Vyukov2013-06-251-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184858 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: make the test more robustDmitry Vyukov2013-06-241-2/+8
| | | | | | | | | currently it episodically fails the hypothesis it is due to racy race detection algorithm the sleep should make it more robust git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184752 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: update dynamic export syms fileDmitry Vyukov2013-06-243-3/+441
| | | | | | | | now it includes proper functions (including interceptors) and does not include local functions that lead to build failures git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184747 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept sysinfo.Evgeniy Stepanov2013-06-242-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184739 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Fix TSan build.Evgeniy Stepanov2013-06-242-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184736 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Intercept readv, preadv, writev, pwritev.Evgeniy Stepanov2013-06-243-38/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184717 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: fix potential false positive race on fdDmitry Vyukov2013-06-202-1/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184430 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: consistently use return pc as top frame pcDmitry Vyukov2013-06-175-10/+19
| | | | | | | | always substract 1 from the top pc this allows to get correct stacks with -O2 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184112 91177308-0d34-0410-b5e6-96231b3b80d8
* [TSan] use InternalMmapVector to store fired suppressionsAlexey Samsonov2013-06-143-6/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183974 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: fix Windows Go crashDmitry Vyukov2013-06-131-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183898 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: add -Wno-maybe-uninitialized to Go build scriptDmitry Vyukov2013-06-112-3/+3
| | | | | | | this is how the rest of the codebase is built git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183738 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: fix lit test failuresDmitry Vyukov2013-06-103-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183674 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: add system tests for suppressionsDmitry Vyukov2013-06-107-0/+98
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183673 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: allows to suppress races on global variablesDmitry Vyukov2013-06-104-15/+70
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183672 91177308-0d34-0410-b5e6-96231b3b80d8
* tsan: disable getaddrinfo() interceptor for tsan (causes recursion)Dmitry Vyukov2013-06-101-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183649 91177308-0d34-0410-b5e6-96231b3b80d8