summaryrefslogtreecommitdiffstats
path: root/compiler-rt
Commit message (Collapse)AuthorAgeFilesLines
* [asan] don't use bool in public interface, make sure the interface headers ↵Kostya Serebryany2014-04-146-13/+16
| | | | | | are usable in plain C llvm-svn: 206160
* [asan] provide better reports for cases where memcpy/etc get negative size ↵Kostya Serebryany2014-04-146-1/+30
| | | | | | parameter. Also fix a typo found by Tetsuo Kiso llvm-svn: 206158
* tsan: serialize report printing in standalone deadlock detectorDmitry Vyukov2014-04-112-1/+2
| | | | | | otherwise reports get intermixed llvm-svn: 206043
* tsan: fix vector clocksDmitry Vyukov2014-04-1113-107/+152
| | | | | | | the new optimizations break when thread ids gets reused (clocks go backwards) add the necessary tests as well llvm-svn: 206035
* tsan: ignore interceptors from symbolizerDmitry Vyukov2014-04-111-0/+2
| | | | | | | ocassionally we see races coming from symbolizer interceptors (e.g. memcmp) reproducible only only on large complex programs llvm-svn: 206034
* [tsan] Fix output tests.Evgeniy Stepanov2014-04-111-1/+4
| | | | llvm-svn: 206031
* [tsan] Fix false positive on xdr*_create.Evgeniy Stepanov2014-04-112-2/+23
| | | | llvm-svn: 206030
* [msan] mprotect() more memory to detect user code outside of application range.Evgeniy Stepanov2014-04-112-5/+6
| | | | llvm-svn: 206028
* Enable building of sanitizers on FreeBSDViktor Kutuzov2014-04-091-4/+4
| | | | llvm-svn: 205919
* Declare _DYNAMIC and dl_phdr_info in asan_linux.cc on FreeBSDViktor Kutuzov2014-04-091-1/+5
| | | | llvm-svn: 205852
* Update arc config to new domain.Manuel Klimek2014-04-071-1/+1
| | | | llvm-svn: 205702
* [sanitizer] Intercept a subset of sunrpc interface (xdr_*).Evgeniy Stepanov2014-04-047-1/+283
| | | | llvm-svn: 205627
* [ASan] Explicitly specify -ldl/-lpthread in RUN-lines where neededAlexey Samsonov2014-04-0415-66/+51
| | | | llvm-svn: 205623
* tsan: improve error message in testDmitry Vyukov2014-04-041-1/+8
| | | | | | | we've seen a flake on this test next time it happens we will be able to gather some info llvm-svn: 205619
* [msan] Introduce MsanThread. Move thread-local allocator cache out of TLS.Evgeniy Stepanov2014-04-0410-91/+291
| | | | | | This reduces .tbss from 109K down to almost nothing. llvm-svn: 205618
* [asan] fix a leak in __tls_get_addr handler; introduce a run-time flag to ↵Kostya Serebryany2014-04-045-22/+44
| | | | | | disable this handler completely; remove a workaround for a bug fixed in glibc llvm-svn: 205617
* Revert r205613.Evgeniy Stepanov2014-04-041-1/+0
| | | | llvm-svn: 205614
* [msan] Fix compilation of a disabled test.Evgeniy Stepanov2014-04-041-0/+1
| | | | llvm-svn: 205613
* [TSan] Fix a rare deadlock on multithreaded fork.Alexey Samsonov2014-04-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | If a multi-threaded program calls fork(), TSan ignores all memory accesses in the child to prevent deadlocks in TSan runtime. This is OK, as child is probably going to call exec() as soon as possible. However, a rare deadlocks could be caused by ThreadIgnoreBegin() function itself. ThreadIgnoreBegin() remembers the current stack trace and puts it into the StackDepot to report a warning later if a thread exited with ignores enabled. Using StackDepotPut in a child process is dangerous: it locks a mutex on a slow path, which could be already locked in a parent process. The fix is simple: just don't put current stack traces to StackDepot in ThreadIgnoreBegin() and ThreadIgnoreSyncBegin() functions if we're running after a multithreaded fork. We will not report any "thread exited with ignores enabled" errors in this case anyway. Submitting this without a testcase, as I believe the standalone reproducer is pretty hard to construct. llvm-svn: 205534
* [TSan] Fix a typo ThreadIgnoreSyncEnd. Found by inspectionAlexey Samsonov2014-04-031-1/+1
| | | | llvm-svn: 205531
* [ASan] Fix incompatible runtimes check: don't iterate /proc/self/maps on ↵Alexey Samsonov2014-04-021-17/+22
| | | | | | every call to __asan_init llvm-svn: 205418
* [msan] Add missing test for r205413.Evgeniy Stepanov2014-04-021-0/+33
| | | | llvm-svn: 205417
* [msan] Kill __msan_print_param_shadow.Evgeniy Stepanov2014-04-023-13/+0
| | | | | | | It does not do what it's name says, and what it actually does is hard to describe, and is not useful at all. llvm-svn: 205415
* [msan] Add __msan_check_mem_is_initialized.Evgeniy Stepanov2014-04-023-0/+23
| | | | | | An assert()-like function that checks that a memory range is fully initialized. llvm-svn: 205413
* [msan] Precise origin handling in __unaligned_(load|store)*.Evgeniy Stepanov2014-04-024-35/+160
| | | | llvm-svn: 205412
* [ASan] One more attempt to fix Android buildAlexey Samsonov2014-04-021-7/+6
| | | | llvm-svn: 205411
* [msan] clang-format several unit testsEvgeniy Stepanov2014-04-021-25/+25
| | | | llvm-svn: 205410
* Allow the user to override the compiler used for testingGreg Fitzgerald2014-04-011-3/+7
| | | | | Change-Id: I76d4708a26f17185efb746f4b836aa32f3f8a44f llvm-svn: 205362
* Move __addsf3 and __adddf3 into the corresponding blocks that defineJoerg Sonnenberger2014-04-011-2/+3
| | | | | | fp_t. llvm-svn: 205344
* InstrProfile: Use SANITIZER_COMMON_LIT_TEST_DEPSDuncan P. N. Exon Smith2014-04-011-2/+2
| | | | | | | | Take advantage of the SANITIZER_COMMON_LIT_TEST_DEPS variable. <rdar://problem/16458307> llvm-svn: 205321
* InstrProf: Turn on test for LinuxDuncan P. N. Exon Smith2014-04-011-2/+1
| | | | | | | | | Enabling test/profile on Linux to get feedback from the buildbots. I'm hoping this just works... <rdar://problem/16458307> llvm-svn: 205319
* InstrProf: Remove LTO dependency from testDuncan P. N. Exon Smith2014-04-011-1/+1
| | | | | | | | | The -flto flag relies on linker features that are not available on all platforms. <rdar://problem/16458307> llvm-svn: 205318
* [tsan] Remove an accidentally committed debug print.Alexander Potapenko2014-04-011-1/+0
| | | | llvm-svn: 205316
* Add support for IEEE754 quad precision comparison functions.Joerg Sonnenberger2014-04-019-0/+955
| | | | | | | | From GuanHong Liu. Differential Revision: http://llvm-reviews.chandlerc.com/D2797 llvm-svn: 205312
* [ASan] Fix Android buildAlexey Samsonov2014-04-011-0/+2
| | | | llvm-svn: 205311
* [ASan] Optional support for dynamic ASan runtime on Linux.Alexey Samsonov2014-04-0123-24/+345
| | | | | | Based on http://llvm-reviews.chandlerc.com/D3042 by Yuri Gribov! llvm-svn: 205308
* [TSan] Make this test more portableAlexey Samsonov2014-04-011-2/+2
| | | | llvm-svn: 205300
* [sanitizer] one more stress test for the deadlock detector; this one ↵Kostya Serebryany2014-04-011-4/+29
| | | | | | stresses the slow path with a global lock llvm-svn: 205299
* Add FreeBSD support to sanitizers' procmaps facilitiesViktor Kutuzov2014-04-011-14/+63
| | | | llvm-svn: 205291
* Fix definition of the __sanitizer_passwd structure on FreeBSDViktor Kutuzov2014-04-011-2/+5
| | | | llvm-svn: 205290
* InstrProf: lit.cfg magic for running tests from sourceDuncan P. N. Exon Smith2014-03-313-0/+20
| | | | | | | | | | Implement magic in compiler-rt to enable llvm-lit to be invoked on the source tree in lib/profile. This relies on a paired commit in the llvm tree that exposes a new built-in parameter. <rdar://problem/16458307> llvm-svn: 205263
* InstrProf: Add simple compiler-rt testDuncan P. N. Exon Smith2014-03-317-2/+61
| | | | | | | | | | Add the test infrastructure for testing lib/profile and a single test. This initial commit only enables the tests on Darwin, but they'll be enabled on Linux soon after. <rdar://problem/16458307> llvm-svn: 205256
* [msan] Remove an extra top frame from track-origins=2 reports.Evgeniy Stepanov2014-03-314-16/+20
| | | | llvm-svn: 205192
* [sanitizer] Test that we can compile C++ code on the target platform.Evgeniy Stepanov2014-03-311-2/+2
| | | | llvm-svn: 205184
* [CMake] Rename add_compiler_rt_static_runtime to add_compiler_rt_runtime.Alexey Samsonov2014-03-3111-28/+31
| | | | | | | | Soon there will be an option to build compiler-rt parts as shared libraries on Linux. Extracted from http://llvm-reviews.chandlerc.com/D3042 by Yuri Gribov. llvm-svn: 205183
* [TSan] Follow-up for r205175: typo fix in the test.Alexander Potapenko2014-03-311-2/+2
| | | | llvm-svn: 205176
* [TSan] Replace several Printf() calls with Report() to ease debugging.Alexander Potapenko2014-03-311-7/+8
| | | | llvm-svn: 205175
* [sanitizer] speed up the bitvector-based deadlock detector by ~15% (iterate ↵Kostya Serebryany2014-03-313-19/+20
| | | | | | over the currently held locks using the array, not the bitvector. Bitvector is not the best data structure to iterate over) llvm-svn: 205168
* [sanitizer] Fix Mac build.Evgeniy Stepanov2014-03-281-3/+3
| | | | llvm-svn: 205006
* [sanitizer] Intercept fgetpwent / fgetgrent.Evgeniy Stepanov2014-03-285-44/+209
| | | | | | | | These interceptors require deep unpoisoning of return values. While at it, we do the same for all other pw/gr interceptors to reduce dependency on libc implementation details. llvm-svn: 205004
OpenPOWER on IntegriCloud