Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | tsan: ignore malloc/free/strdup when called from libjvm | Dmitry Vyukov | 2013-09-21 | 3 | -7/+27 | |
| | | | | llvm-svn: 191153 | |||||
* | tsan: ignore all interceptors coming directly from JVM | Dmitry Vyukov | 2013-09-21 | 3 | -2/+35 | |
| | | | | llvm-svn: 191152 | |||||
* | tsan: improve diagnostics for incorrect usages of mutexes | Dmitry Vyukov | 2013-09-21 | 1 | -7/+10 | |
| | | | | llvm-svn: 191151 | |||||
* | tsan: intercept fork syscall | Dmitry Vyukov | 2013-09-21 | 1 | -18/+44 | |
| | | | | llvm-svn: 191144 | |||||
* | tsan: intercept close syscall | Dmitry Vyukov | 2013-09-21 | 1 | -0/+15 | |
| | | | | llvm-svn: 191129 | |||||
* | tsan: handle memory read/write in syscalls | Dmitry Vyukov | 2013-09-20 | 1 | -3/+13 | |
| | | | | llvm-svn: 191074 | |||||
* | tsan: allow to ignore memory accesses in malloc and free | Dmitry Vyukov | 2013-09-20 | 1 | -4/+10 | |
| | | | | llvm-svn: 191072 | |||||
* | tsan: do not crash when user intercepts fopen() | Dmitry Vyukov | 2013-09-20 | 1 | -0/+4 | |
| | | | | llvm-svn: 191066 | |||||
* | tsan: fix linking of tsan runtime into dynamic libraries | Dmitry Vyukov | 2013-09-19 | 3 | -45/+36 | |
| | | | | | | | versioned symbols can not be linked into dynamic library w/o linker script also simplifies code as side effect llvm-svn: 191056 | |||||
* | [TSan] Fix -Wempty-body warning | Alexey Samsonov | 2013-09-19 | 1 | -4/+8 | |
| | | | | llvm-svn: 190993 | |||||
* | tsan: prevent the following false positive due to __cxa_atexit | Dmitry Vyukov | 2013-09-19 | 1 | -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 implementation | Dmitry Vyukov | 2013-09-19 | 1 | -6/+6 | |
| | | | | llvm-svn: 190988 | |||||
* | tsan: refactor internal IgnoreCtl interface | Dmitry Vyukov | 2013-09-19 | 4 | -15/+19 | |
| | | | | llvm-svn: 190987 | |||||
* | [tsan] No-op implementation of AnnotateMemoryIsInitialized. | Evgeniy Stepanov | 2013-09-18 | 1 | -0/+3 | |
| | | | | llvm-svn: 190933 | |||||
* | [Sanitizer] Refactor symbolization interface: use class instead of several ↵ | Alexey Samsonov | 2013-09-10 | 2 | -8/+8 | |
| | | | | | | functions. Move some code around to get rid of extra source files llvm-svn: 190410 | |||||
* | Delete unused variables. | Eli Friedman | 2013-09-10 | 1 | -1/+0 | |
| | | | | llvm-svn: 190383 | |||||
* | [tsan] make calloc crash instead of returning 0 on overflow (controlled by ↵ | Kostya Serebryany | 2013-09-06 | 2 | -2/+3 | |
| | | | | | | the allocator_may_return_null flag) llvm-svn: 190135 | |||||
* | [tsan] add colors to tsan output | Kostya Serebryany | 2013-09-05 | 1 | -2/+43 | |
| | | | | llvm-svn: 190045 | |||||
* | tsan: catch races on condition variables | Dmitry Vyukov | 2013-09-03 | 1 | -0/+6 | |
| | | | | llvm-svn: 189816 | |||||
* | [TSan] fixup for r189791: don't put ; on the newline | Alexey Samsonov | 2013-09-03 | 1 | -3/+1 | |
| | | | | llvm-svn: 189792 | |||||
* | tsan: add suppressions for true/false positives in standard libraries | Dmitry Vyukov | 2013-09-03 | 1 | -0/+14 | |
| | | | | llvm-svn: 189791 | |||||
* | [TSan] Move the /proc/self/maps parsing logic to sanitizer_common | Alexander Potapenko | 2013-09-03 | 1 | -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 functions | Dmitry Vyukov | 2013-09-02 | 3 | -40/+46 | |
| | | | | llvm-svn: 189767 | |||||
* | [TSan] Move build rules a bit to ensure correct dependencies of check-tsan ↵ | Alexey Samsonov | 2013-08-29 | 1 | -52/+0 | |
| | | | | | | command llvm-svn: 189579 | |||||
* | Properly generate lists of exported symbols for sanitizer runtimes | Alexey Samsonov | 2013-08-27 | 3 | -8/+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 Go | Dmitry Vyukov | 2013-08-16 | 1 | -8/+14 | |
| | | | | | | | Say that gorotuine 1 is main goroutine. Remove excessive new line. llvm-svn: 188542 | |||||
* | tsan: intercept getaddrinfo | Dmitry Vyukov | 2013-08-13 | 1 | -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 flag | Dmitry Vyukov | 2013-08-13 | 3 | -1/+7 | |
| | | | | | | If halt_on_error==true, program terminates after reporting first error. llvm-svn: 188279 | |||||
* | [*San/RTL] Fix minor breakage | Timur Iskhodzhanov | 2013-08-13 | 1 | -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 Iskhodzhanov | 2013-08-13 | 4 | -58/+64 | |
| | | | | | | SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used llvm-svn: 188261 | |||||
* | [sanitizer] Intercept poll/ppoll. | Evgeniy Stepanov | 2013-08-12 | 3 | -7/+3 | |
| | | | | llvm-svn: 188177 | |||||
* | [sanitizer] Intercept getgroups. | Evgeniy Stepanov | 2013-08-12 | 2 | -0/+2 | |
| | | | | llvm-svn: 188167 | |||||
* | [sanitizer] Intercept scandir/scandir64. | Evgeniy Stepanov | 2013-08-08 | 2 | -0/+4 | |
| | | | | llvm-svn: 187982 | |||||
* | [sanitizer] Intercept strerror and strerror_r. | Evgeniy Stepanov | 2013-08-08 | 2 | -0/+4 | |
| | | | | llvm-svn: 187978 | |||||
* | [TSan] Let the users suppress use-after-free errors using the "race:" ↵ | Alexander Potapenko | 2013-08-07 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | 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 Stepanov | 2013-08-07 | 2 | -0/+2 | |
| | | | | | | Re-applying with a more reliable test case. llvm-svn: 187876 | |||||
* | Revert "[sanitizer] Intercept sched_getaffinity." | David Blaikie | 2013-08-07 | 2 | -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 Stepanov | 2013-08-06 | 2 | -0/+2 | |
| | | | | llvm-svn: 187788 | |||||
* | [msan] Intercept confstr. | Evgeniy Stepanov | 2013-07-30 | 2 | -0/+2 | |
| | | | | llvm-svn: 187412 | |||||
* | tsan: treat SIGSYS as synchronous signal | Dmitry Vyukov | 2013-07-18 | 1 | -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 recursion | Dmitry Vyukov | 2013-07-17 | 1 | -0/+1 | |
| | | | | llvm-svn: 186497 | |||||
* | [Sanitizer] move strcpy and strncpy to common interceptors | Alexey Samsonov | 2013-07-16 | 1 | -26/+0 | |
| | | | | llvm-svn: 186408 | |||||
* | tsan: support sigsuspend() call | Dmitry Vyukov | 2013-07-16 | 3 | -0/+8 | |
| | | | | | | Intercepting it makes it process pending signal before return. llvm-svn: 186400 | |||||
* | [sanitizer] Support GLOB_ALTDIRFUNC in glob interceptor. | Evgeniy Stepanov | 2013-07-09 | 1 | -3/+6 | |
| | | | | llvm-svn: 185932 | |||||
* | [sanitizer] Intercept realpath and canonicalize_file_name. | Evgeniy Stepanov | 2013-07-09 | 2 | -0/+4 | |
| | | | | | | Handle realpath(path, NULL) form. llvm-svn: 185921 | |||||
* | [sanitizer] Intercept tcgetattr. | Evgeniy Stepanov | 2013-07-04 | 2 | -0/+2 | |
| | | | | llvm-svn: 185626 | |||||
* | [sanitizer] More interceptors. | Evgeniy Stepanov | 2013-07-04 | 2 | -0/+16 | |
| | | | | | | | | | bcopy strtoimax, strtoumax mbstowcs, mbsrtowcs, mbsnrtowcs wcstombs, wcsrtombs, wcsnrtombs llvm-svn: 185624 | |||||
* | [sanitizer] Intercept mbtowc, mbrtowc, get_current_dir_name. | Evgeniy Stepanov | 2013-07-02 | 2 | -0/+4 | |
| | | | | | | Move getcwd to common interceptors. llvm-svn: 185424 | |||||
* | [sanitizer] Intercept setlocale. | Evgeniy Stepanov | 2013-07-02 | 2 | -0/+2 | |
| | | | | llvm-svn: 185416 | |||||
* | [sanitizer] Intercept getnameinfo. | Evgeniy Stepanov | 2013-07-01 | 2 | -0/+2 | |
| | | | | llvm-svn: 185338 |