summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/asan_flags.h
Commit message (Collapse)AuthorAgeFilesLines
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [Sanitizer] Change InitializeFlags() signatures. NFC.Alexey Samsonov2015-02-121-2/+2
| | | | | | | These functions are always used to initialize singleton flags(), as well as other global data (common_flags()). llvm-svn: 228894
* [sanitizer] Flag parser rewrite.Evgeniy Stepanov2015-01-151-1/+2
| | | | | | | The new parser is a lot stricter about syntax, reports unrecognized flags, and will make it easier to implemented some of the planned features. llvm-svn: 226169
* [Sanitizer] Change the runtime flag representation.Alexey Samsonov2015-01-071-38/+7
| | | | | | | | | | | This mirrors r225239 to all the rest sanitizers: ASan, DFSan, LSan, MSan, TSan, UBSan. Now the runtime flag type, name, default value and description is located in the single place in the .inc file. llvm-svn: 225327
* AddressSanitizer: Abort after failed exec() and get rid of the allow_reexec ↵Kuba Brecka2014-12-221-1/+0
| | | | | | | | | | | | | | | | ASan flag As mentioned in https://code.google.com/p/address-sanitizer/issues/detail?id=365, when the re-exec that adds the required DYLD_INSERT_LIBRARIES variable fails, ASan currently continues to run, but things are broken (some memory can be overwritten, interceptors don't work, ...). This patch aborts if the execv() fails and prints an error message that DYLD_INSERT_LIBRARIES is required. It also removes the "alllow_reexec" flag, since using it causes the same issues. Reviewed at http://reviews.llvm.org/D6752 llvm-svn: 224712
* [ASan] Move flag parsing logic to asan_flags.cc. NFC.Alexey Samsonov2014-12-171-1/+2
| | | | llvm-svn: 224450
* [ASan] Introduce the dump_instruction_bytes flag to print the faulting ↵Alexander Potapenko2014-09-221-0/+1
| | | | | | | | instruction upon SIGSEGV When dump_instruction_bytes=1 and the instruction pointer doesn't point to the zero page, ASan prints 16 bytes starting at the instruction point. llvm-svn: 218243
* [Sanitizer] Make disable_coredump a common flag and use it in TSanAlexey Samsonov2014-08-121-1/+0
| | | | llvm-svn: 215479
* [asan] introduce __asan_poison_cxx_array_cookie. This is asan-rt part of ↵Kostya Serebryany2014-08-041-0/+1
| | | | | | PR19838 (Left OOB accesses on new[]-allocated arrays with array cookies are not detected). No tests yet. They will follow once I commit the clang part. llvm-svn: 214711
* [asan] rename new-delete-size-mismatch to new-delete-type-mismatch and make ↵Kostya Serebryany2014-07-301-1/+1
| | | | | | the report more verbose llvm-svn: 214299
* [asan] add a feature to detect new-delete-size-mismatch (when used with ↵Kostya Serebryany2014-07-301-0/+1
| | | | | | -Xclang -fsized-deallocation). Not yet on Mac. Also, remove some unused code. llvm-svn: 214296
* [asan] Move the "coverage" flag to common flags.Sergey Matveev2014-05-121-1/+0
| | | | | | The implementation lives in sanitizer_common and will need to access that flag. llvm-svn: 208566
* [asan] split detect_odr_violation into two: =2 detects all ODR violations, ↵Kostya Serebryany2014-04-281-1/+1
| | | | | | =1 detects only those where the variable sizes are different. BTW, the detector seems to be working well and finding nice bugs. Early adopters are welcome. llvm-svn: 207415
* [asan] implement an experimental detector of ODR violations. Not tested yet ↵Kostya Serebryany2014-04-251-0/+1
| | | | | | outside of a tiny test, may need tuning. llvm-svn: 207210
* [asan] add a run-time flag detect_container_overflow=true/falseKostya Serebryany2014-04-211-0/+1
| | | | llvm-svn: 206753
* [ASan] Move the flag descriptions from comments to ParseFlag arguments.Alexander Potapenko2014-03-211-56/+1
| | | | llvm-svn: 204440
* [asan] *experimental* implementation of invalid-pointer-pair detector (finds ↵Kostya Serebryany2014-02-271-0/+4
| | | | | | when two unrelated pointers are compared or subtracted). This implementation has both false positives and false negatives and is not tuned for performance. A bug report for a proper implementation will follow. llvm-svn: 202389
* [ASan] Move the signal handling-related flags to sanitizer_common.Alexander Potapenko2014-01-281-6/+0
| | | | | | This change is a part of refactoring intended to have common signal handling behavior in all tools. llvm-svn: 200295
* [asan] Implement delayed activation of AddressSanitizerEvgeniy Stepanov2014-01-161-0/+5
| | | | | | | | | | | | This change adds ASAN_OPTIONS=start_deactivated=1 flag. When present, ASan will start in "deactivated" mode, with no heap poisoning, no quarantine, no stack trace gathering, and minimal redzones. All this features come back when __asan_init is called for the constructor of an instrumented library. The primary use case for this feature is Android. Code itself is not Android-specific, and this patch includes a Linux test for it. llvm-svn: 199377
* [asan] Implement max_redzone runtime flag.Evgeniy Stepanov2014-01-091-2/+4
| | | | llvm-svn: 198873
* [asan] replace the flag uar_stack_size_log with two flags ↵Kostya Serebryany2013-12-161-2/+3
| | | | | | min_uar_stack_size_log/max_uar_stack_size_log llvm-svn: 197370
* [asan] add flag uar_noreserve to use noreserve mmap for fake stack. ↵Kostya Serebryany2013-12-131-0/+2
| | | | | | uar_noreserve=1 will save some memory but also negatively affect performance llvm-svn: 197233
* Reapply asan coverage changes 194702-194704.Bob Wilson2013-11-151-0/+3
| | | | | | | | 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-3/+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/+3
| | | | llvm-svn: 194702
* [ASan] Kill use_stack_depot runtime flag and stack trace compression routines.Alexey Samsonov2013-11-011-2/+0
| | | | llvm-svn: 193868
* [asan] introduce run-time flag 'poison_partial' Kostya Serebryany2013-10-161-0/+3
| | | | llvm-svn: 192793
* tsan: move verbosity flag to CommonFlagsDmitry Vyukov2013-10-151-2/+0
| | | | llvm-svn: 192701
* [asan] introduce run-time flag uar_stack_size_log to control the size of ↵Kostya Serebryany2013-09-271-0/+2
| | | | | | FakeStack; don't crash when the fake stack is exhausted, move some code to .cc file llvm-svn: 191510
* [asan] add a run-time option detect_stack_use_after_return, add verbosity ↵Kostya Serebryany2013-09-181-2/+2
| | | | | | output for fake stack llvm-svn: 190932
* [lsan] Make __lsan_do_leak_check() honor the detect_leaks flag.Sergey Matveev2013-07-221-2/+0
| | | | | | Also move detect_leaks to common flags. llvm-svn: 186821
* [sanitizer] Move log_path to common flag and use it in MSan.Evgeniy Stepanov2013-06-251-2/+0
| | | | llvm-svn: 184836
* [asan] LSan hooks in asan_rtl.Sergey Matveev2013-05-211-0/+2
| | | | llvm-svn: 182384
* [asan] Common flags in ASan.Sergey Matveev2013-05-061-10/+0
| | | | | | | Some flags that are common to ASan/MSan/TSan/LSan have been moved to sanitizer_common. llvm-svn: 181193
* [ASan] Add allow_user_segv_handler to let users override SEGV handler ↵Alexey Samsonov2013-04-251-0/+2
| | | | | | installed by ASan llvm-svn: 180255
* [ASan] Make init-order checker allow access to already initialized globals.Alexey Samsonov2013-04-191-0/+3
| | | | | | | | | | 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
* [asan] inline flags(), up to 1% perf gain on malloc-intensive codeKostya Serebryany2013-04-111-1/+4
| | | | llvm-svn: 179307
* [asan] nuke the old unused allocator codeKostya Serebryany2013-04-041-1/+1
| | | | llvm-svn: 178758
* [asan] fill first 4K of malloc-ed memory with garbage, implement flags ↵Kostya Serebryany2013-04-041-3/+3
| | | | | | max_malloc_fill_size and malloc_fill_byte llvm-svn: 178757
* [ASan] Add the memcmp_strict flag (1 by default) that controls the behavior ↵Alexander Potapenko2013-02-281-0/+3
| | | | | | | | | 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] Allow ASan default runtime options be overriden at compile time by ↵Alexey Samsonov2013-02-191-3/+5
| | | | | | providing ASAN_DEFAULT_OPTIONS macro llvm-svn: 175512
* [ASan] Remove the replace_cfallocator flag, which is used no more.Alexander Potapenko2013-02-071-2/+0
| | | | | | See https://code.google.com/p/address-sanitizer/issues/detail?id=10 for the context. llvm-svn: 174629
* [sanitizer] Further split private and public sanitizer headers.Evgeniy Stepanov2013-01-301-1/+1
| | | | | | And make msan_interface.h C-compatible. llvm-svn: 173928
* [asan] two more internal flags for asan-rt: print_stats (0) and print_legend ↵Kostya Serebryany2013-01-281-0/+4
| | | | | | (1) llvm-svn: 173671
* [asan] asan_allocator2: by default use the StackDepot to store the stack ↵Kostya Serebryany2012-12-261-0/+2
| | | | | | traces instead of storing them in the redzones llvm-svn: 171099
* [asan] add a flag alloc_dealloc_mismatch (off by default for now) which ↵Kostya Serebryany2012-12-211-0/+2
| | | | | | finds malloc/delete, new/free, new/delete[], etc mismatches llvm-svn: 170869
* [asan] add a flag poison_heap to allow better allocator benchmarking, ↵Kostya Serebryany2012-12-201-0/+3
| | | | | | implemenet malloc_stats() on Linux llvm-svn: 170685
* [asan] add two asan flags: fast_unwind_on_fatal and fast_unwind_on_malloc to ↵Kostya Serebryany2012-12-131-1/+5
| | | | | | allow using the slow CFI-based unwinder llvm-svn: 170117
* [asan] add asan option log_path=PATH to let users redirect asan reports to a ↵Kostya Serebryany2012-09-141-0/+2
| | | | | | file PATH.PID instead of stderr llvm-svn: 163872
* [ASan] Add print_full_thread_history runtime option (on by default) that ↵Alexey Samsonov2012-09-051-0/+4
| | | | | | prints all full thread creation paths for threads involved in ASan error report llvm-svn: 163200
OpenPOWER on IntegriCloud