summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/lit_tests
Commit message (Collapse)AuthorAgeFilesLines
...
* [ASan] Mark init-order test as XFAIL on DarwinAlexey Samsonov2013-05-211-0/+3
| | | | llvm-svn: 182365
* [ASan] Don't run fast unwinder tests on 32-bit Linux as fast unwinder may be ↵Alexey Samsonov2013-05-212-8/+2
| | | | | | unexpectedly smart on some hosts llvm-svn: 182363
* [ASan] Mark some tests as working only on x86_64 and i386 archesAlexey Samsonov2013-05-216-2/+28
| | | | llvm-svn: 182360
* Add lit config feature <target>-supported-target to mark target-specific testsAlexey Samsonov2013-05-211-0/+1
| | | | llvm-svn: 182355
* [ASan] Make the regression test for time(NULL) Linux-specific, as it crashes ↵Alexander Potapenko2013-05-172-7/+20
| | | | | | | | on Darwin (and the problem used to occur on Linux). Do not use zero-based shadow for the time() test. llvm-svn: 182107
* [ASan] Fix allow_user_segv.cc on Darwin (32-bit build required a SIGBUS ↵Alexander Potapenko2013-05-171-1/+9
| | | | | | handler instead of the SIGSEGV one) llvm-svn: 182080
* [ASan] Fix init-order-dlopen.cc to pass under Mac OS.Alexander Potapenko2013-05-161-1/+5
| | | | llvm-svn: 182010
* [ASan] Fix interface_symbols_darwin to pass a correct flag to nm.Alexander Potapenko2013-05-161-1/+1
| | | | llvm-svn: 182008
* [ASan] Add allow_user_segv_handler to let users override SEGV handler ↵Alexey Samsonov2013-04-251-0/+42
| | | | | | installed by ASan llvm-svn: 180255
* [ASan] Disable strict-init-order checker once we have more than one thread, ↵Alexey Samsonov2013-04-231-1/+1
| | | | | | as this mode is thread-hostile llvm-svn: 180106
* [ASan] Make wait.cc more Darwin-compatible: fix the header name and the ↵Alexander Potapenko2013-04-231-3/+3
| | | | | | CHECK patterns. llvm-svn: 180097
* Fixup for r179843: add missing headerAlexey Samsonov2013-04-191-0/+1
| | | | llvm-svn: 179844
* [ASan] Make init-order checker allow access to already initialized globals.Alexey Samsonov2013-04-193-3/+63
| | | | | | | | | | This change adds ASan runtime option "strict-init-order" (off by default) that makes init-order checker bark if global initializer accesses any global from different translation unit (even if the latter is already initialized). strict init-order checking doesn't play well with, e.g. LLVM registration machineries, and causes issue https://code.google.com/p/address-sanitizer/issues/detail?id=178. llvm-svn: 179843
* [sanitizer] Add syscall handlers to ASan and TSan runtimes.Evgeniy Stepanov2013-04-121-0/+22
| | | | | | ASan checks addressability of syscall arguments. TSan does nothing for now. llvm-svn: 179380
* [asan] make heavy_uar_test even heavierKostya Serebryany2013-04-111-5/+13
| | | | llvm-svn: 179306
* Explicitly list all sanitizer headers in CMake build rules. Make sure ↵Alexey Samsonov2013-04-111-3/+2
| | | | | | sanitizer lit_tests depend on fresh headers. llvm-svn: 179293
* [asan] improve the UAR reporting (try harder to find the correct frame), try ↵Kostya Serebryany2013-04-111-7/+6
| | | | | | to make the test more stable llvm-svn: 179292
* [asan] make heavy_uar_test a bit more heavy and fix he fake stack to pass ↵Kostya Serebryany2013-04-111-4/+7
| | | | | | this test llvm-svn: 179286
* [ASan] test source-based init-order blacklisting added in r179280Alexey Samsonov2013-04-113-1/+15
| | | | llvm-svn: 179281
* [asan] fix use-after-return functionality (PR15672) and enable the ↵Kostya Serebryany2013-04-111-1/+0
| | | | | | corresponding test. We still don't guarantee anything with regard to use-after-return checking llvm-svn: 179278
* [asan] move fake stack into a separate .h file; actually disable a failing testKostya Serebryany2013-04-111-1/+1
| | | | llvm-svn: 179273
* [asan] add heavy_uar_test (disabled); fix lintKostya Serebryany2013-04-112-2/+48
| | | | llvm-svn: 179271
* [ASan] Do not check the shadow of NULL argument in the time() interceptor.Alexander Potapenko2013-04-101-0/+20
| | | | | | Add a test for time(). llvm-svn: 179177
* [asan] implement callbacks for unaligned loads/storesKostya Serebryany2013-04-101-0/+52
| | | | | | | | | | | | Reviewers: samsonov Reviewed By: samsonov CC: samsonov, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D652 llvm-svn: 179175
* [sanitizer] Interceptors for wait*.Evgeniy Stepanov2013-04-091-0/+77
| | | | llvm-svn: 179096
* [msan] Intercept glob() with tests.Evgeniy Stepanov2013-04-094-0/+30
| | | | llvm-svn: 179091
* [asan] relax Linux/zero-base-shadow.cc to make it pass on newer Ubuntu; fix lintKostya Serebryany2013-04-091-2/+2
| | | | llvm-svn: 179088
* [asan] make huge_negative_hea_oob more meaningfulKostya Serebryany2013-04-051-1/+4
| | | | llvm-svn: 178876
* [asan] add a test for huge left oobKostya Serebryany2013-04-051-0/+10
| | | | llvm-svn: 178874
* [ASan] init-order checker tests: move constexpr test that requires ↵Alexey Samsonov2013-04-054-36/+62
| | | | | | -std=c++11 to a separate test case. Check that structs with no ctor but non-trivial dtor are ignored. llvm-svn: 178857
* [asan] fill first 4K of malloc-ed memory with garbage, implement flags ↵Kostya Serebryany2013-04-042-0/+23
| | | | | | max_malloc_fill_size and malloc_fill_byte llvm-svn: 178757
* [ASan] More careful reports for globals that are ASCII stringsAlexey Samsonov2013-04-011-6/+7
| | | | llvm-svn: 178458
* [ASan] Demangle global names in error reports.Alexey Samsonov2013-03-271-0/+17
| | | | llvm-svn: 178131
* [asan] print thread number while reporting invalid-free and double-free; add ↵Kostya Serebryany2013-03-263-0/+53
| | | | | | tests; also add a test for use-after-poison llvm-svn: 177993
* [ASan] Use dynamic symbol table when checking exported ASan runtime symbolsAlexey Samsonov2013-03-252-2/+2
| | | | llvm-svn: 177868
* [asan] Change the way we report the alloca frame on stack-buff-overflow.Kostya Serebryany2013-03-225-11/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: the function name was stored by the compiler as a constant string and the run-time was printing it. Now: the PC is stored instead and the run-time prints the full symbolized frame. This adds a couple of instructions into every function with non-empty stack frame, but also reduces the binary size because we store less strings (I saw 2% size reduction). This change bumps the asan ABI version to v3. compiler-rt part, llvm part will follow. Example of report (now): ==31711==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fffa77cf1c5 at pc 0x41feb0 bp 0x7fffa77cefb0 sp 0x7fffa77cefa8 READ of size 1 at 0x7fffa77cf1c5 thread T0 #0 0x41feaf in Frame0(int, char*, char*, char*) stack-oob-frames.cc:20 #1 0x41f7ff in Frame1(int, char*, char*) stack-oob-frames.cc:24 #2 0x41f477 in Frame2(int, char*) stack-oob-frames.cc:28 #3 0x41f194 in Frame3(int) stack-oob-frames.cc:32 #4 0x41eee0 in main stack-oob-frames.cc:38 #5 0x7f0c5566f76c (/lib/x86_64-linux-gnu/libc.so.6+0x2176c) #6 0x41eb1c (/usr/local/google/kcc/llvm_cmake/a.out+0x41eb1c) Address 0x7fffa77cf1c5 is located in stack of thread T0 at offset 293 in frame #0 0x41f87f in Frame0(int, char*, char*, char*) stack-oob-frames.cc:12 <<<<<<<<<<<<<< this is new This frame has 6 object(s): [32, 36) 'frame.addr' [96, 104) 'a.addr' [160, 168) 'b.addr' [224, 232) 'c.addr' [288, 292) 's' [352, 360) 'd' llvm-svn: 177723
* [ASan] remove -fsanitize=init-order from lit tests as now it's implied by ↵Alexey Samsonov2013-03-142-8/+4
| | | | | | -fsanitize=address llvm-svn: 177064
* [ASan] turn off checking initialization order in ASan runtime by default. ↵Alexey Samsonov2013-03-144-19/+38
| | | | | | Instead, it should be turned on by default in the compiler llvm-svn: 177058
* [ASan] Add the memcmp_strict flag (1 by default) that controls the behavior ↵Alexander Potapenko2013-02-281-0/+16
| | | | | | | | | of accessibility checks in memcmp. 1: memcmp(p1, p2, n) always checks n bytes 0: memcmp checks up to n bytes depending on whether the memory contents differ. llvm-svn: 176256
* [asan] bump kMidMemEnd to 0x4fffffffffULL since in rare cases prelink uses ↵Kostya Serebryany2013-02-281-1/+1
| | | | | | addresses higher than 0x3fffffffff llvm-svn: 176250
* [asan] use the new attribute syntax (no_address_safety_analysis => ↵Kostya Serebryany2013-02-262-2/+2
| | | | | | no_sanitize_address) llvm-svn: 176077
* [ASan] Make sure operator new/delete and friends are intercepted on OS X.Alexander Potapenko2013-02-211-2/+3
| | | | | | | | | Because the interceptors will reside in a dylib, not the main executable, we can't just declare them, but must use the interposition machinery. Fix the test expectations in large_func_test.cc affected by the change. This CL should make our Mac buildbots green. llvm-svn: 175763
* [asan] move preinit_test to Linux since on Mac __asan_init is called from ↵Kostya Serebryany2013-02-201-0/+0
| | | | | | ld-preload-ed runtime llvm-svn: 175625
* [asan] on linux, run __asan_init from .preinit_array (even earlier than before)Kostya Serebryany2013-02-201-0/+27
| | | | llvm-svn: 175623
* [asan] add a lit test for invoke-with-no-return instrumentationKostya Serebryany2013-02-201-0/+50
| | | | llvm-svn: 175618
* [sanitizer] Fix lint.Evgeniy Stepanov2013-02-201-2/+1
| | | | llvm-svn: 175615
* [asan] add test throw_call_test (broken with -static-libstdc++)Kostya Serebryany2013-02-201-0/+46
| | | | llvm-svn: 175614
* [asan] instrument memory accesses with unusual sizesKostya Serebryany2013-02-192-0/+4
| | | | | | | | | | | | | | | | This patch makes asan instrument memory accesses with unusual sizes (e.g. 5 bytes or 10 bytes), e.g. long double or packed structures. Instrumentation is done with two 1-byte checks (first and last bytes) and if the error is found __asan_report_load_n(addr, real_size) or __asan_report_store_n(addr, real_size) is called. asan-rt part Also fix lint. llvm-svn: 175508
* [asan] enable asan_prelink_test when gold is the default linker (gold and ↵Kostya Serebryany2013-02-181-4/+5
| | | | | | bfd linker have different flag syntax) llvm-svn: 175431
* [ASan] Fix https://code.google.com/p/address-sanitizer/issues/detail?id=159Alexander Potapenko2013-02-151-0/+20
| | | | | | | | | | | | | | | | | MaybeReexec() does now a tricky job to manage DYLD_INSERT_LIBRARIES in a safe way. Because we're using library interposition, it's critical for an instrumented app to be executed with the runtime library present in DYLD_INSERT_LIBRARIES list. Therefore if it's initially missing in that list, we append the runtime library name to the value of DYLD_INSERT_LIBRARIES and then exec() ourselves. On the other hand, some of the apps exec()ed by our program may not want to have ASan runtime library preloaded, so we remove the runtime library from the DYLD_INSERT_LIBRARIES if it's already there. Users may want to preload other libraries using DYLD_INSERT_LIBRARIES, so we preserve those. llvm-svn: 175276
OpenPOWER on IntegriCloud