summaryrefslogtreecommitdiffstats
path: root/compiler-rt/include
Commit message (Collapse)AuthorAgeFilesLines
...
* [dfsan] Introduce dfsan_union runtime function.Peter Collingbourne2013-08-121-0/+4
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1347 llvm-svn: 188229
* DataFlowSanitizer; compiler-rt changes.Peter Collingbourne2013-08-072-0/+81
| | | | | | | | | | | | | DataFlowSanitizer is a generalised dynamic data flow analysis. Unlike other Sanitizer tools, this tool is not designed to detect a specific class of bugs on its own. Instead, it provides a generic dynamic data flow analysis framework to be used by clients to help detect application-specific issues within their own code. Differential Revision: http://llvm-reviews.chandlerc.com/D967 llvm-svn: 187924
* Lint fixesAlexey Samsonov2013-08-052-2/+3
| | | | llvm-svn: 187726
* [msan] Allocator statistics interface and malloc hooks.Evgeniy Stepanov2013-08-021-0/+51
| | | | llvm-svn: 187653
* [sanitizer] Tweak read syscall handler signature for consistency.Evgeniy Stepanov2013-07-301-2/+2
| | | | llvm-svn: 187417
* [sanitizer] read() syscall hook.Evgeniy Stepanov2013-07-301-2/+2
| | | | llvm-svn: 187414
* [lsan] Add __lsan_do_leak_check() to the public interface.Sergey Matveev2013-07-181-3/+11
| | | | | | | Let users override the normal behavior to run leak checking earlier in the process. Also fix a couple nits here and there. llvm-svn: 186581
* [sanitizer] Syscall handlers for clock_gettime and clock_getres.Evgeniy Stepanov2013-07-091-4/+4
| | | | llvm-svn: 185913
* [LSan] Add the way to disable LSan at link timeAlexey Samsonov2013-06-271-0/+4
| | | | llvm-svn: 185066
* [msan] Add keep_going runtime flag.Evgeniy Stepanov2013-06-211-0/+5
| | | | llvm-svn: 184542
* Properly install LSan interface header, rely on sanitizer header presence in ↵Alexey Samsonov2013-06-141-0/+1
| | | | | | lit tests llvm-svn: 183977
* [lsan] Implement __lsan_ignore_object().Sergey Matveev2013-06-061-1/+2
| | | | | | Leak annotation similar to HeapChecker's IgnoreObject(). llvm-svn: 183412
* [lsan] Add __lsan_disable() and __lsan_enable().Sergey Matveev2013-06-031-0/+39
| | | | | | | Objects allocated after a call to __lsan_disable() will be treated as live memory. Also add a ScopedDisabler. llvm-svn: 183099
* [MSan] Make a few interface functions accept 'const void *' instead of 'void*'Alexey Samsonov2013-04-231-6/+6
| | | | llvm-svn: 180102
* [sanitizer] Fix lint.Evgeniy Stepanov2013-04-221-5/+9
| | | | llvm-svn: 180012
* [sanitizer] Implement wait4 and waitpid syscall hooks.Evgeniy Stepanov2013-04-161-4/+5
| | | | llvm-svn: 179592
* [sanitizer] More syscall handler placeholders.Evgeniy Stepanov2013-04-121-234/+756
| | | | | | | This time it's the full list scavenged from syscalls.h Fixed return value type. llvm-svn: 179378
* Explicitly list all sanitizer headers in CMake build rules. Make sure ↵Alexey Samsonov2013-04-111-0/+39
| | | | | | sanitizer lit_tests depend on fresh headers. llvm-svn: 179293
* [sanitizer] Syscall hooks.Evgeniy Stepanov2013-04-111-0/+275
| | | | | | | Pre- and post- hooks for linux syscalls. Not wired into anything, but exposed through public interface. llvm-svn: 179288
* [asan] implement callbacks for unaligned loads/storesKostya Serebryany2013-04-101-0/+10
| | | | | | | | | | | | Reviewers: samsonov Reviewed By: samsonov CC: samsonov, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D652 llvm-svn: 179175
* [asan] make asan work with 7fff8000 offset and prelinkKostya Serebryany2013-02-152-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When prelink is installed in the system, prelink-ed libraries map between 0x003000000000 and 0x004000000000 thus occupying the shadow Gap, so we need so split the address space even further, like this: || [0x10007fff8000, 0x7fffffffffff] || HighMem || || [0x02008fff7000, 0x10007fff7fff] || HighShadow || || [0x004000000000, 0x02008fff6fff] || ShadowGap3 || || [0x003000000000, 0x003fffffffff] || MidMem || || [0x00087fff8000, 0x002fffffffff] || ShadowGap2 || || [0x00067fff8000, 0x00087fff7fff] || MidShadow || || [0x00008fff7000, 0x00067fff7fff] || ShadowGap || || [0x00007fff8000, 0x00008fff6fff] || LowShadow || || [0x000000000000, 0x00007fff7fff] || LowMem || Do it only if necessary. Also added a bit of profiling code to make sure that the mapping code is efficient. Added a lit test to simulate prelink-ed libraries. Unfortunately, this test does not work with binutils-gold linker. If gold is the default linker the test silently passes. Also replaced __has_feature(address_sanitizer) with __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) in two places. Patch partially by Jakub Jelinek. llvm-svn: 175263
* [asan] print a short one-line report summary after the full report. ↵Kostya Serebryany2013-02-061-0/+5
| | | | | | Currently, works only if symbolization happens in-process. llvm-svn: 174501
* [ASan] Split ASan interface header into private and public parts. Add a test ↵Alexey Samsonov2013-01-311-106/+31
| | | | | | that makes sure users can include interface header llvm-svn: 174058
* [sanitizer] Further split private and public sanitizer headers.Evgeniy Stepanov2013-01-302-105/+32
| | | | | | And make msan_interface.h C-compatible. llvm-svn: 173928
* [msan] Remove an extra #ifdef.Evgeniy Stepanov2013-01-301-2/+1
| | | | | | __has_feature is always defined at this point. llvm-svn: 173920
* [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. llvm-svn: 173800
* [msan] A runtime call to support custom allocators.Evgeniy Stepanov2013-01-281-0/+5
| | | | llvm-svn: 173687
* [asan] kill some dead codeKostya Serebryany2013-01-181-5/+0
| | | | llvm-svn: 172815
* [asan] add a new interface function __asan_describe_address, useful for ↵Kostya Serebryany2012-12-291-0/+4
| | | | | | running asan-ified binary under a debugger (e.g. gdb) llvm-svn: 171217
* [asan] one more change missed at r171198Kostya Serebryany2012-12-281-0/+5
| | | | llvm-svn: 171199
* [msan] Add a missing file from r169858.Evgeniy Stepanov2012-12-111-0/+124
| | | | llvm-svn: 169860
* Add a libsanitizer API __sanitizer_sandbox_on_notify(void* reserved), which ↵Alexander Potapenko2012-12-101-0/+6
| | | | | | | | should be used by the client programs to notify the tools that sandboxing is about to be turned on. llvm-svn: 169732
* ASan: change the strategy we use for installing malloc/free/symbolization ↵Alexey Samsonov2012-12-072-9/+15
| | | | | | hooks on Linux: don't provide a default no-op implementations for hooks in runtime, and optionally call hooks if they are provided by the user. Don't force weak interface functions into runtime. llvm-svn: 169641
* ASan: add new interface functions - __asan_(un)poison_stack_memory. Calls to ↵Alexey Samsonov2012-12-041-0/+9
| | | | | | these functions are inserted by the instrumentation pass in use-after-scope mode llvm-svn: 169201
* [asan] support x32 mode in the fast stack unwinder. Patch by H.J. Lu Kostya Serebryany2012-11-191-0/+7
| | | | llvm-svn: 168306
* [Sanitizer]: add __sanitizer_set_report_fd function to alter file descriptor ↵Alexey Samsonov2012-11-021-0/+5
| | | | | | for error reports llvm-svn: 167290
* [ASan] Change __asan_set_on_error_callback to weak overridable ↵Alexey Samsonov2012-10-021-6/+5
| | | | | | __asan_on_error, so that ASan would call the latter even if it finds the error early (i.e. during module initialization) llvm-svn: 165008
* [Sanitizer/ASan] Simplify the code that prints and symbolizes stack traces. ↵Alexey Samsonov2012-10-021-7/+5
| | | | | | Fall back to module+offset if user-provided symbolizer failed. Use weak function __asan_symbolize instead of __asan_set_symbolize_callback in ASan interface, so that we're able to symbolize reports for errors that happen before the main() is called, for example, during module initialization. llvm-svn: 165000
* [ASan] Apply some ASan-relevant pieces of patch by Ruben Van Boxem. In the ↵Alexey Samsonov2012-09-241-0/+6
| | | | | | same time, remove ASan from CMake build on Windows after conversation with Timur. We don't want to support building ASan on Windows until it is in a working state. llvm-svn: 164486
* [asan] add asan option log_path=PATH to let users redirect asan reports to a ↵Kostya Serebryany2012-09-141-0/+6
| | | | | | file PATH.PID instead of stderr llvm-svn: 163872
* Relocate the external headers provided by ASan and the common sanitizerChandler Carruth2012-08-292-0/+258
library. These headers are intended to be available to user code when built with AddressSanitizer (or one of the other sanitizer's in the future) to interface with the runtime library. As such, they form stable external C interfaces, and the headers shouldn't be located within the implementation. I've pulled them out into what seem like fairly obvious locations and names, but I'm wide open to further bikeshedding of these names and locations. I've updated the code and the build system to cope with the new locations, both CMake and Makefile. Please let me know if this breaks anyone's build. The eventual goal is to install these headers along side the Clang builtin headers when we build the ASan runtime and install it. My current thinking is to locate them at: <prefix>/lib/clang/X.Y/include/sanitizer/common_interface_defs.h <prefix>/lib/clang/X.Y/include/sanitizer/asan_interface.h <prefix>/lib/clang/X.Y/include/sanitizer/... But maybe others have different suggestions? Fixing the style of the #include between these headers at least unblocks experimentation with installing them as they now should work when installed in these locations. llvm-svn: 162822
OpenPOWER on IntegriCloud