summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/asan_interface.h
Commit message (Collapse)AuthorAgeFilesLines
* Relocate the external headers provided by ASan and the common sanitizerChandler Carruth2012-08-291-201/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [ASan] get rid of ASAN_USE_EXTERNAL_SYMBOLIZER compiler def in favor of ↵Alexey Samsonov2012-08-221-0/+10
| | | | | | __asan_set_symbolize_callback interface function. Now the user doesn't have to recompile ASan runtime to provide its own symbolizer llvm-svn: 162358
* [ASan] make ASan malloc/free hooks weak interface functions, overridable by ↵Alexey Samsonov2012-08-221-0/+11
| | | | | | user. Now the user can control malloc/free hooks without recompiling ASan runtime llvm-svn: 162355
* [asan] run-time part of the initialization order checker. Patch by Reid ↵Kostya Serebryany2012-08-211-0/+8
| | | | | | Watson with some bits from kcc. The sub-pass is off by default for now. On simple tests it works fine. llvm-svn: 162278
* [asan] update asan-rt to match the interface change in LLVm (r162268)Kostya Serebryany2012-08-211-1/+2
| | | | llvm-svn: 162269
* [ASan] move declaration of __asan_default_options to interface headerAlexey Samsonov2012-08-151-1/+6
| | | | llvm-svn: 161932
* [ASan] Add __asan_set_on_error_callback() interface function that allows ↵Alexey Samsonov2012-08-131-0/+7
| | | | | | user to set a callback to be called right when ASan detects an error llvm-svn: 161754
* [ASan] move flags description to separate header, add comments about them.Alexey Samsonov2012-07-101-4/+0
| | | | llvm-svn: 159985
* [Sanitizer] Use common defines for ASan and TSan runtime. Split defines ↵Alexey Samsonov2012-06-051-28/+26
| | | | | | between interface defines (can be visible in user code that includes interface ASan/TSan headers) and internal defines. llvm-svn: 157998
* [asan] more renamingKostya Serebryany2012-05-311-2/+2
| | | | llvm-svn: 157746
* [asan,tsan] introduce sanitizer_common/sanitizer_defs.h and perform some ↵Kostya Serebryany2012-05-311-53/+42
| | | | | | renaming in asan rt. More to come. llvm-svn: 157743
* Do not define ___asan_default_options on Windows.Alexander Potapenko2012-05-291-0/+3
| | | | llvm-svn: 157603
* Rework the flags machinery a bit.Alexander Potapenko2012-05-281-0/+4
| | | | | | Clients may define the __asan_default_options char string containing the default options for the tool now. llvm-svn: 157582
* [asan] last bit for gcc compatibilityKostya Serebryany2012-04-061-1/+4
| | | | llvm-svn: 154203
* Introduce __asan_set_error_report_callback() to allow the client program ↵Alexander Potapenko2012-02-271-0/+3
| | | | | | | | post-process the error reports. If the callback is set, Report() and Printf() print the reports into a buffer (together with stderr), which is then passed to the client. llvm-svn: 151528
* AddressSanitizer: get rid of stdlib.h and add (smaller) stddef.h insteadAlexey Samsonov2012-02-221-4/+5
| | | | llvm-svn: 151162
* [asan] Add lots of missing visibility attributes.Evgeniy Stepanov2012-02-141-11/+22
| | | | llvm-svn: 150479
* [asan] implement __asan_set_death_callbackKostya Serebryany2012-02-131-2/+8
| | | | llvm-svn: 150414
* [asan] unpoison the stack before every noreturn call. Fixes asan issue 37. ↵Kostya Serebryany2012-02-081-0/+4
| | | | | | rt part llvm-svn: 150101
* [asan] fix the wrong __WORDSIZE definition on Win x64, add ↵Kostya Serebryany2012-01-311-11/+12
| | | | | | ASAN_INTERFACE_FUNCTION_ATTRIBUTE. Patch by timurrrr@google.com llvm-svn: 149395
* Make compiler-rt/trunk/lib/asan compileable with Visual Studio 2008 on Windows.Alexander Potapenko2012-01-271-0/+5
| | | | | | | | | | | | | | Patch by Timur Iskhodzhanov (timurrrr@google.com) To test: $ cl /c *.c* in the asan directory. The code fails to link if you omit the "/c" part but that's one of the next steps, as well as a few TODO's I've put into the Windows-specific code. llvm-svn: 149130
* AddressSanitizer: return false instead of true for __asan_get_ownership(NULL)Alexey Samsonov2012-01-181-2/+2
| | | | llvm-svn: 148394
* Revert commit 148304Alexey Samsonov2012-01-171-2/+2
| | | | llvm-svn: 148305
* AddressSanitizer: from this patch, ASan allocator returns false for ↵Alexey Samsonov2012-01-171-2/+2
| | | | | | __asan_get_ownership(NULL) and produce error reports for malloc_usable_size(NULL) and __asan_get_allocated_size(NULL) llvm-svn: 148304
* [asan] rely on __has_feature(address_sanitizer) instead of the ↵Kostya Serebryany2011-12-271-1/+1
| | | | | | ADDRESS_SANITIZER macro llvm-svn: 147297
* [asan] fix a bug (issue 19) where dlclose and the following mmap caused a ↵Kostya Serebryany2011-12-151-2/+4
| | | | | | false positive. run-time part. llvm-svn: 146687
* [asan] always collect malloc statstics (removed FLAG_stats)Kostya Serebryany2011-12-051-2/+0
| | | | llvm-svn: 145838
* AddressSanitizer run-time library. Not yet integrated with the compiler-rt ↵Kostya Serebryany2011-11-301-0/+135
build system, but can be built using the old makefile. See details in README.txt llvm-svn: 145463
OpenPOWER on IntegriCloud