summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/lit_tests/TestCases
Commit message (Collapse)AuthorAgeFilesLines
...
* [Sanitizer] Make slow unwinder on Linux more robustAlexey Samsonov2013-11-151-3/+5
| | | | llvm-svn: 194805
* Reapply asan coverage changes 194702-194704.Bob Wilson2013-11-151-0/+45
| | | | | | | | I still don't know what is causing our bootstrapped LTO buildbots to fail, but llvm r194701 seems to be OK and I can't imagine that these changes could cause the problem. llvm-svn: 194790
* Speculatively revert asan coverage changes 194702-194704.Bob Wilson2013-11-151-45/+0
| | | | | | | | | Apple's bootstrapped LTO builds have been failing, and these changes (along with llvm 194701) are the only things on the blamelist. I will either reapply these changes or help debug the problem, depending on whether this fixes the buildbots. llvm-svn: 194779
* [asan] Poor man's coverage that works with ASan (compiler-rt part)Kostya Serebryany2013-11-141-0/+45
| | | | llvm-svn: 194702
* [Sanitizer] Add print_summary runtime flag to disable error summaries (UBSan ↵Alexey Samsonov2013-11-141-0/+14
| | | | | | doesn't need them) llvm-svn: 194685
* [ASan] Do not rely on malloc context in allocator reports.Alexey Samsonov2013-11-133-8/+24
| | | | | | | | | | | Invoke a fatal stack trace unwinder when ASan prints allocator-relevant error reports (double-free, alloc-dealloc-mismatch, invalid-free). Thus we'll be able to print complete stack trace even if allocation/free stacks are not stored (malloc_context_size=0). Based on the patch by Yuri Gribov! llvm-svn: 194579
* [ASan] Use new feature of FileCheck: provide multiple --check-prefix argsAlexey Samsonov2013-11-136-61/+37
| | | | llvm-svn: 194578
* [asan] fix a leak in tds ↵Kostya Serebryany2013-11-131-0/+39
| | | | | | (https://code.google.com/p/address-sanitizer/issues/detail?id=233) llvm-svn: 194572
* [ASan] Use OS-specific matches in the malloc_context_size.cc lit test.Alexander Potapenko2013-11-061-8/+16
| | | | | | The top stack frames for operator new and operator delete are different on Linux and Darwin. llvm-svn: 194150
* [ASan] Disable back init-order checker. Make strict_init_order imply ↵Alexey Samsonov2013-11-064-7/+5
| | | | | | check_initialization_order llvm-svn: 194125
* [ASan] Make sure slow stack unwinder doesn't return empty stacks.Alexey Samsonov2013-11-051-0/+19
| | | | llvm-svn: 194107
* Add a CMake option COMPILER_RT_DEBUG for building runtimes with full debug info.Peter Collingbourne2013-10-253-0/+6
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1984 llvm-svn: 193449
* [ASan] fix compilation of atexit_stats.cc on OSXAlexander Potapenko2013-10-181-0/+2
| | | | llvm-svn: 192973
* [asan] fix a test on MacKostya Serebryany2013-10-181-0/+2
| | | | llvm-svn: 192960
* [asan] fix atexit statsKostya Serebryany2013-10-182-3/+11
| | | | llvm-svn: 192956
* [ASan] fix assign_large_valloc_to_global.cc to use the correct header for ↵Alexander Potapenko2013-10-171-0/+4
| | | | | | valloc() on OSX. llvm-svn: 192901
* [asan] fix a failure with ASAN_OPTIONS=verbosity=1:use_sigaltstack=1Kostya Serebryany2013-10-171-0/+2
| | | | llvm-svn: 192892
* [asan] Fix a deadlock between asan's allocator and lsanKostya Serebryany2013-10-171-0/+5
| | | | | | | | | | | | | | | | Summary: This fixes a deadlock which happens in lsan on a large memalign-allocated chunk that resides in lsan's root set. Reviewers: samsonov, earthdok Reviewed By: earthdok CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1957 llvm-svn: 192885
* [asan] introduce run-time flag 'poison_partial' Kostya Serebryany2013-10-161-0/+19
| | | | llvm-svn: 192793
* Fix a typo.Evgeniy Stepanov2013-10-151-1/+1
| | | | llvm-svn: 192685
* [ASan] Make test from r192581 Linux-only, as wild memory contents is less ↵Alexey Samsonov2013-10-151-0/+0
| | | | | | predictable on Mac llvm-svn: 192677
* [ASan] Don't die with internal ASan error on large buffer overflowsAlexey Samsonov2013-10-142-1/+24
| | | | | | | | | | | | | | | | | | | | Summary: Out-of-bound access may touch not-yet allocated or already freed and recycled from quarantine chunks. We should treat this situation as a "free-range memory access" and avoid printing any data about that irrelevant chunk (which may be inconsistent). This should fix https://code.google.com/p/address-sanitizer/issues/detail?id=183 Reviewers: kcc Reviewed By: kcc CC: timurrrr, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1893 llvm-svn: 192581
* [asan] introduce run-time flag uar_stack_size_log to control the size of ↵Kostya Serebryany2013-09-271-0/+7
| | | | | | FakeStack; don't crash when the fake stack is exhausted, move some code to .cc file llvm-svn: 191510
* [asan] remove -fsanitize=use-after-return from the tests (this flag now ↵Kostya Serebryany2013-09-235-12/+13
| | | | | | comes with asan by default) llvm-svn: 191204
* [ASan] Fix the interface test on Darwin.Alexander Potapenko2013-09-231-0/+2
| | | | llvm-svn: 191187
* [asan] disable the detect_stack_use_after_return run-time flag by default ↵Kostya Serebryany2013-09-232-0/+2
| | | | | | and enable it explicitly in tests. This is done in preparation to enabling the -fsanitize=use-after-return compile-time flag by default when -fsanitize=address is present. llvm-svn: 191184
* [ASan] Fix init-order-dlopen.cc test to not depend on the ↵Alexander Potapenko2013-09-192-2/+7
| | | | | | -Wl,-undefined,dynamic_lookup being passed to the linker. llvm-svn: 191012
* [asan] add a run-time option detect_stack_use_after_return, add verbosity ↵Kostya Serebryany2013-09-181-0/+1
| | | | | | output for fake stack llvm-svn: 190932
* [asan] a bit of performance improvement in fake stack, generalized one test, ↵Kostya Serebryany2013-09-121-4/+16
| | | | | | fixed android build of another test llvm-svn: 190606
* [asan] add a test for use-after-return and exceptions and fix it. Not 100% ↵Kostya Serebryany2013-09-121-0/+27
| | | | | | sure this is a complete fix, will keep looking for harder cases. llvm-svn: 190603
* [asan] hopefully make the FakeStack async-signal safe, enable the related testKostya Serebryany2013-09-122-7/+35
| | | | llvm-svn: 190592
* [asan] refactor the use-after-return API so that the size class is computed ↵Kostya Serebryany2013-09-101-0/+1
| | | | | | at compile time instead of at run-time. compiler-rt part llvm-svn: 190406
* [sanitizer] Fix PR17138.Evgeniy Stepanov2013-09-091-0/+13
| | | | | | | strerror_r on OSX returns a positive error code when the errno value is unknown. Buffer contents are initialized in any case. llvm-svn: 190295
* [ASan] fix one more memory leak in test caseAlexey Samsonov2013-09-081-0/+1
| | | | llvm-svn: 190277
* [ASan] turn on leak checking for ASan tests and fix a few discovered leaksAlexey Samsonov2013-09-082-0/+3
| | | | llvm-svn: 190274
* [sanitizer] A bunch of linux system call handlers.Evgeniy Stepanov2013-09-061-1/+1
| | | | llvm-svn: 190157
* [ASan] make the check for NULL more portable.Alexander Potapenko2013-09-061-6/+8
| | | | llvm-svn: 190139
* [asan] make calloc crash instead of returning 0 on overflow (controlled by ↵Kostya Serebryany2013-09-061-0/+14
| | | | | | the allocator_may_return_null flag) llvm-svn: 190128
* [sanitizer] make the allocator crash instead of returning 0 on huge size ↵Kostya Serebryany2013-09-061-0/+65
| | | | | | (controlled by the allocator_may_return_null flag) llvm-svn: 190127
* [asan] add a test that demonstrates why the current use-after-return is not ↵Kostya Serebryany2013-09-041-0/+66
| | | | | | signal-safe llvm-svn: 189943
* [asan] make use-after-return handle very deep recursion; fixes 483.xalancbmk ↵Kostya Serebryany2013-09-041-0/+23
| | | | | | in UAR mode llvm-svn: 189929
* implement PR17059: more visible diagnostics for stack-buffer-overflowKostya Serebryany2013-09-032-0/+46
| | | | llvm-svn: 189806
* [ASan] Make blacklist test more robustAlexey Samsonov2013-09-021-2/+4
| | | | llvm-svn: 189748
* Improve collecting malloc stats in ASanAlexey Samsonov2013-09-021-0/+43
| | | | | | | | | | | | | | | | Summary: This change makes races between updates of thread-local stats and merging all the thread-local stats together less harmful. Reviewers: kcc Reviewed By: kcc CC: dvyukov, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1572 llvm-svn: 189744
* [asan]: fix a CHECK failure in use-after-return mode; enable and fix ↵Kostya Serebryany2013-08-281-8/+14
| | | | | | stack-use-after-return.cc; add a test for UAR mode in asan_noinst_test llvm-svn: 189457
* [sanitizer] ASan/MSan tests for r187967.Evgeniy Stepanov2013-08-081-0/+19
| | | | | r187967: Disable inlining between sanitized and non-sanitized functions. llvm-svn: 187971
* ASan: fix one more test case for pipefailAlexey Samsonov2013-08-071-1/+1
| | | | llvm-svn: 187881
* Enable pipefail for ASan testsAlexey Samsonov2013-08-0746-118/+117
| | | | llvm-svn: 187877
* Fix a veritable conucopia of bugs in the readdir_r interceptors.Chandler Carruth2013-07-111-7/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, the reason I came here: I forgot to look at readdir64_r which had the exact same bug as readdir_r. However, upon applying the same quick-fix and testing it I discovered that it still didn't work at all. As a consequence, I spent some time studying the code and thinking about it and fixed several other problems. Second, the code was checking for a null entry and result pointer, but there is no indication that null pointers are viable here. Certainly, the spec makes it extremely clear that there is no non-error case where the implementation of readdir_r fails to dereference the 'result' pointer and store NULL to it. Thus, our checking for a non-null 'result' pointer before reflecting that write in the instrumentation was trivially dead. Remove it. Third, the interceptor was marking the write to the actual dirent struct by looking at the entry pointer, but nothing in the spec requires that the dirent struct written is actually written into the entry structure provided. A threadlocal buffer would be just as conforming, and the spec goes out of its way to say the pointer to the *actual* result dirent struct is stored into *result, so *that* is where the interceptor should reflect a write occuring. This also obviates the need to even consider whether the 'entry' parameter is null. Fourth, I got to the bottom of why nothing at all worked in readdir64_r -- the interceptor structure for dirent64 was completely wrong in that it was the same as dirent. I fixed this struct to be correct (64-bit inode and 64-bit offset! just a 64-bit offset isn't enough!) and added several missing tests for the size and layout of this struct. llvm-svn: 186109
* Fix a bug in the readdir_r interceptor: when we reach the end of theChandler Carruth2013-07-101-0/+30
| | | | | | | | | | | | | | | | | | directory stream, the entry is not written to, instead *result is set to NULL and the entry is not written to at all. I'm still somewhat suspicious of the correct instrumention here -- I feel like it should be marking the written range as the pointer in *result and the length (*result)->d_reclen in case the implementation decides not to use the passed-in entry (if that's even allowed). Finally, the definition of 'struct dirent' analog used in the interceptor is wrong in 32-bit mode with _FILE_OFFSET_BITS=64 as it hard codes the use of a pointer-sized offset. I've added a somewhat goofy test for the bug I fixed via ASan -- suggestions on how to better test the interceptor logic itself welcome. llvm-svn: 185998
OpenPOWER on IntegriCloud