summaryrefslogtreecommitdiffstats
path: root/compiler-rt/include
Commit message (Collapse)AuthorAgeFilesLines
...
* [DFSan] Add flag to dump the labels when the program terminates.Lorenzo Martignoni2014-11-201-0/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D6306 llvm-svn: 222425
* [asan] add interface function __sanitizer_get_total_unique_coverage; useful ↵Kostya Serebryany2014-11-141-0/+3
| | | | | | for coverage-guided in-process fuzzers llvm-svn: 222060
* Fix minor typos in comments.Filipe Cabecinhas2014-10-132-2/+2
| | | | llvm-svn: 219632
* [compiler-rt] recommit of r218481: ASan debugging API for report info ↵Kuba Brecka2014-09-261-0/+26
| | | | | | | | | | extraction and locating addresses Reviewed at http://reviews.llvm.org/D4527 Fixed a test case failure on 32-bit Linux, I did right shift on intptr_t, instead it should have been uintptr_t. llvm-svn: 218538
* [compiler-rt] revert r218481 due to test failure on sanitizer-x86_64-linux Kuba Brecka2014-09-261-26/+0
| | | | llvm-svn: 218501
* [compiler-rt] ASan debugging API for report info extraction and locating ↵Kuba Brecka2014-09-251-0/+26
| | | | | | | | | | addresses Reviewed at http://reviews.llvm.org/D4527 This patch is part of an effort to implement a more generic debugging API, as proposed in http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-July/074656.html, with first part reviewed at http://reviews.llvm.org/D4466. Now adding several new APIs: __asan_report_present, __asan_get_report_{pc,bp,sp,address,type,size,description}, __asan_locate_address. These return whether an asan report happened yet, the PC, BP, SP, address, access type (read/write), access size and bug description (e.g. "heap-use-after-free"), __asan_locate_address takes a pointer and tries to locate it, i.e. say whether it is a heap pointer, a global or a stack, or whether it's a pointer into the shadow memory. If global or stack, tries to also return the variable name, address and size. If heap, tries to return the chunk address and size. Generally these should serve as an alternative to "asan_describe_address", which only returns all the data in text form. Having an API to get these data could allow having debugging scripts/extensions that could show additional information about a variable/expression/pointer. Test cases in test/asan/TestCases/debug_locate.cc and test/asan/TestCasea/debug_report.cc. llvm-svn: 218481
* [Sanitizer] Kill deprecated allocator interfaces in ASan, MSan and TSan in ↵Alexey Samsonov2014-08-122-103/+0
| | | | | | | | favor of a unified interface in <sanitizer/allocator_interface.h>. llvm-svn: 215469
* [ASan] Add ASan debugging API to get malloc/free stack traces and shadow ↵Kuba Brecka2014-07-151-0/+16
| | | | | | | | memory mapping info Reviewed at http://reviews.llvm.org/D4466 llvm-svn: 213080
* Generalize sanitizer allocator public interface.Alexey Samsonov2014-07-074-2/+93
| | | | | | | | | | | | | | Introduce new public header <sanitizer/allocator_interface.h> and a set of functions __sanitizer_get_ownership(), __sanitizer_malloc_hook() etc. that will eventually replace their tool-specific equivalents (__asan_get_ownership(), __msan_get_ownership() etc.). Tool-specific functions are now deprecated and implemented as stubs redirecting to __sanitizer_ versions (which are implemented differently in each tool). Replace all uses of __xsan_ versions with __sanitizer_ versions in unit and lit tests. llvm-svn: 212469
* [sanitizer] Add __sanitizer_maybe_open_cov_file().Sergey Matveev2014-05-211-0/+4
| | | | | Summary: Add a new interface function required for coverage sandboxing support. llvm-svn: 209298
* [msan] Chained origins re-design.Evgeniy Stepanov2014-05-211-4/+0
| | | | | | | | | | | | | | | | | Generalize StackDepot and create a new specialized instance of it to efficiently (i.e. without duplicating stack trace data) store the origin history tree. This reduces memory usage for chained origins roughly by an order of magnitude. Most importantly, this new design allows us to put two limits on stored history data (exposed in MSAN_OPTIONS) that help avoid exponential growth in used memory on certain workloads. See comments in lib/msan/msan_origin.h for more details. llvm-svn: 209284
* [sanitizer] Support sandboxing in sanitizer coverage.Sergey Matveev2014-05-191-1/+16
| | | | | | | | | | | Summary: Sandboxed code may now pass additional arguments to __sanitizer_sandbox_on_notify() to force all coverage data to be dumped to a single file (the default is one file per module). The user may supply a file or socket to write to. The latter option can be used to broker out the file writing functionality. If -1 is passed, we pre-open a file. llvm-svn: 209121
* [asan] introduce interface function __sanitizer_verify_contiguous_container ↵Kostya Serebryany2014-05-061-0/+8
| | | | | | to verify annotations in vector-like containers llvm-svn: 208092
* [asan] make AsanCoverage lock-free (and AS-safe)Kostya Serebryany2014-04-301-0/+2
| | | | llvm-svn: 207630
* [msan] Prettify __msan_print_shadow.Evgeniy Stepanov2014-04-301-0/+4
| | | | | | Makes __msan_print_shadow output much more readable, adds origin info. llvm-svn: 207622
* Add user-defined callback on write() calls.Peter Collingbourne2014-04-241-0/+8
| | | | | | | | | | | Add dfsan_set_write_callback(), which sets a callback to be invoked when a write() call is invoked within DFSan instrumented code. Patch by Sam Kerner! Differential Revision: http://reviews.llvm.org/D3268 llvm-svn: 207131
* [asan] don't use bool in public interface, make sure the interface headers ↵Kostya Serebryany2014-04-141-6/+7
| | | | | | are usable in plain C llvm-svn: 206160
* [msan] Kill __msan_print_param_shadow.Evgeniy Stepanov2014-04-021-4/+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-021-0/+4
| | | | | | An assert()-like function that checks that a memory range is fully initialized. llvm-svn: 205413
* [msan] Implement __msan_set_death_callback.Evgeniy Stepanov2014-03-271-0/+3
| | | | llvm-svn: 204926
* Add function to get the number of DFSan labels allocated.Peter Collingbourne2014-03-261-0/+3
| | | | | | | | | | Expose the number of DFSan labels allocated by adding function dfsan_get_label_count(). Patch by Sam Kerner! Differential Revision: http://llvm-reviews.chandlerc.com/D3109 llvm-svn: 204854
* [MSan] Add __msan_unpoison_string() to the public interface.Sergey Matveev2014-03-211-0/+4
| | | | | | | | Using __msan_unpoison() on null-terminated strings is awkward because strlen() can't be called on a poisoned string. This case warrants a special interface function. llvm-svn: 204448
* [msan] Remove stubs for non-instrumented code from msan interface header.Evgeniy Stepanov2014-02-201-24/+0
| | | | llvm-svn: 201777
* [CMake] Rename several variablesAlexey Samsonov2014-02-181-15/+2
| | | | llvm-svn: 201575
* [asan] introduce two functions that will allow implementations of C++ ↵Kostya Serebryany2014-02-061-0/+18
| | | | | | garbage colection to work with asan's fake stack llvm-svn: 200908
* [lsan] remove LeakSanitizerIsTurnedOffForTheCurrentProcess (this was a bad ↵Kostya Serebryany2014-01-151-5/+0
| | | | | | idea), leave __lsan_is_turned_off llvm-svn: 199304
* [msan] Fix an incorrect comment.Evgeniy Stepanov2014-01-151-2/+2
| | | | llvm-svn: 199300
* [lsan] Add __lsan_default_suppressions() to the public interface header.Sergey Matveev2014-01-131-7/+11
| | | | llvm-svn: 199121
* [sanitizer] fix commentKostya Serebryany2014-01-131-1/+1
| | | | llvm-svn: 199112
* [lsan] rename __lsan_is_turned_off to ↵Kostya Serebryany2014-01-101-0/+5
| | | | | | LeakSanitizerIsTurnedOffForTheCurrentProcess (leave the old variant for now for compatibility) llvm-svn: 198921
* [ASan] Get rid of __asan_symbolize functionAlexey Samsonov2013-12-191-8/+0
| | | | llvm-svn: 197670
* [lsan] Introduce __lsan_(un)register_root_region().Sergey Matveev2013-12-171-0/+17
| | | | | | | Add an interface for telling LSan that a region of memory is to be treated as a source of live pointers. Useful for code which stores pointers in mapped memory. llvm-svn: 197489
* [TSan] Move declarations of __tsan_atomic functions to a public headerAlexey Samsonov2013-12-112-1/+224
| | | | llvm-svn: 197015
* [sanitizer] Expose __sanitizer_print_stack_trace().Sergey Matveev2013-12-031-0/+3
| | | | | | | Expose a new interface function for debugging code built with sanitizer tools. Add an ASan implementation. llvm-svn: 196302
* [asan] remove a fixed FIXME; extend the comment around ↵Kostya Serebryany2013-11-191-1/+10
| | | | | | __sanitizer_annotate_contiguous_container llvm-svn: 195131
* [asan] new shadow poison magic for contiguous-container-buffer-overflow, ↵Kostya Serebryany2013-11-191-2/+4
| | | | | | addressed Alexey Samsonov's comments for r195011 llvm-svn: 195117
* [asan] introduce __sanitizer_annotate_contiguous_containerKostya Serebryany2013-11-181-0/+24
| | | | llvm-svn: 195011
* CMake: make sure compiler-rt headers are copied to build tree if ↵Alexey Samsonov2013-11-181-0/+1
| | | | | | 'compilrer-rt' target is built llvm-svn: 195002
* 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] unbreak dfsan, which includes sanitizer/common_interface_defs.h into ↵Kostya Serebryany2013-11-141-1/+0
| | | | | | internal sources (although it shoudn't) llvm-svn: 194704
* [asan] Poor man's coverage that works with ASan (compiler-rt part)Kostya Serebryany2013-11-141-0/+4
| | | | llvm-svn: 194702
* tsan: fix linux syscall hooksDmitry Vyukov2013-10-231-2/+3
| | | | | | the file references non-existent arguments and breaks build llvm-svn: 193234
* tsan: remove __sanitizer_set_report_fd function from public interfaceDmitry Vyukov2013-10-151-4/+0
| | | | | | | | __sanitizer_set_report_path now accepts two special values - stderr and stdout logging to other file descriptors is not supported anymore, it's fragile in presence of multiple processes, fork, etc llvm-svn: 192706
* tsan: intercept fork syscallDmitry Vyukov2013-09-211-4/+12
| | | | llvm-svn: 191144
* [msan] Make all pointers in msan_interface "const volatile void *".Evgeniy Stepanov2013-09-101-12/+13
| | | | | | This way msan annotations can be used with both normal and volatile memory. llvm-svn: 190403
* [msan] bool -> int to make msan_interface.h C-compatible.Evgeniy Stepanov2013-09-101-1/+1
| | | | llvm-svn: 190402
* [sanitizer] A bunch of linux system call handlers.Evgeniy Stepanov2013-09-061-607/+2865
| | | | llvm-svn: 190157
* [dfsan] Introduce dfsan_read_label runtime function.Peter Collingbourne2013-08-131-0/+3
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1349 llvm-svn: 188319
* dfsan: fix lint warningDmitry Vyukov2013-08-131-1/+1
| | | | llvm-svn: 188292
OpenPOWER on IntegriCloud