summaryrefslogtreecommitdiff
path: root/include/sanitizer/msan_interface.h
Commit message (Collapse)AuthorAgeFilesLines
* [Sanitizer] Kill deprecated allocator interfaces in ASan, MSan and TSan in ↵Alexey Samsonov2014-08-121-54/+0
| | | | | | | | | favor of a unified interface in <sanitizer/allocator_interface.h>. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@215469 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize sanitizer allocator public interface.Alexey Samsonov2014-07-071-2/+11
| | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@212469 91177308-0d34-0410-b5e6-96231b3b80d8
* [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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209284 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Prettify __msan_print_shadow.Evgeniy Stepanov2014-04-301-0/+4
| | | | | | | Makes __msan_print_shadow output much more readable, adds origin info. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@207622 91177308-0d34-0410-b5e6-96231b3b80d8
* [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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@205415 91177308-0d34-0410-b5e6-96231b3b80d8
* [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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@205413 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Implement __msan_set_death_callback.Evgeniy Stepanov2014-03-271-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204926 91177308-0d34-0410-b5e6-96231b3b80d8
* [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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204448 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Remove stubs for non-instrumented code from msan interface header.Evgeniy Stepanov2014-02-201-24/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201777 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Fix an incorrect comment.Evgeniy Stepanov2014-01-151-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@199300 91177308-0d34-0410-b5e6-96231b3b80d8
* [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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190403 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] bool -> int to make msan_interface.h C-compatible.Evgeniy Stepanov2013-09-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190402 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Allocator statistics interface and malloc hooks.Evgeniy Stepanov2013-08-021-0/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187653 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Add keep_going runtime flag.Evgeniy Stepanov2013-06-211-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184542 91177308-0d34-0410-b5e6-96231b3b80d8
* [MSan] Make a few interface functions accept 'const void *' instead of 'void*'Alexey Samsonov2013-04-231-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@180102 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Further split private and public sanitizer headers.Evgeniy Stepanov2013-01-301-40/+21
| | | | | | | And make msan_interface.h C-compatible. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@173928 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Remove an extra #ifdef.Evgeniy Stepanov2013-01-301-2/+1
| | | | | | | __has_feature is always defined at this point. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@173920 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Cleanup public interface header.Evgeniy Stepanov2013-01-291-97/+93
| | | | | | | | | Moved everything users are not supposed to use to a private interface header. Documented all public interfaces. Made them safe to use even if built without MemorySanitizer. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@173800 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] A runtime call to support custom allocators.Evgeniy Stepanov2013-01-281-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@173687 91177308-0d34-0410-b5e6-96231b3b80d8
* [msan] Add a missing file from r169858.Evgeniy Stepanov2012-12-111-0/+124
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169860 91177308-0d34-0410-b5e6-96231b3b80d8