Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [ASan] Delete asan_intercepted_functions.h, move the code into ↵ | Alexander Potapenko | 2013-12-26 | 1 | -79/+0 |
| | | | | | | | | asan_interceptors.h Fixes https://code.google.com/p/address-sanitizer/issues/detail?id=188. llvm-svn: 198048 | ||||
* | [ASan] Remove the explicit function prototypes for intercepted functions on ↵ | Timur Iskhodzhanov | 2013-09-10 | 1 | -36/+0 |
| | | | | | | Windows llvm-svn: 190411 | ||||
* | asan: Add a wcslen interceptor mirroring strlen | Reid Kleckner | 2013-09-05 | 1 | -0/+1 |
| | | | | | | Tested on Linux, since I can't build the tests on Windows yet. llvm-svn: 190022 | ||||
* | Disable init-order checking before destructors are run. | Alexey Samsonov | 2013-05-24 | 1 | -0/+6 |
| | | | | | | | | | | We don't want to report initialization-order bugs when a destructor of a global variable accesses dynamically initialized global from another (not necessarily initialized) module. We do this by intercepting __cxa_atexit and registrering our own callback that unpoisons shadow for all dynamically initialized global variables. llvm-svn: 182637 | ||||
* | asan/tsan: move strcasecmp() interceptor to sanitizer_common | Dmitry Vyukov | 2013-03-26 | 1 | -2/+0 |
| | | | | llvm-svn: 178010 | ||||
* | [sanitizer] Replace more platform checks with SANITIZER_ constants. | Evgeniy Stepanov | 2013-03-19 | 1 | -8/+8 |
| | | | | llvm-svn: 177400 | ||||
* | [Sanitizer] Don't intercept frexpf and frexpl on Windows. Add frexp ↵ | Alexey Samsonov | 2013-03-15 | 1 | -1/+2 |
| | | | | | | declaration to asan_intercepted_functions.h llvm-svn: 177155 | ||||
* | [asan] move the .preinit_array hack into a separate file (added used attribute) | Kostya Serebryany | 2013-02-22 | 1 | -1/+0 |
| | | | | llvm-svn: 175871 | ||||
* | [ASan] Declare CreateThread as extern "C" to fix the Windows build. | Alexander Potapenko | 2013-02-21 | 1 | -1/+1 |
| | | | | llvm-svn: 175760 | ||||
* | [ASan] Put several function prototypes back under #ifdef _WIN32 to fix the ↵ | Alexander Potapenko | 2013-02-21 | 1 | -0/+21 |
| | | | | | | Windows build. llvm-svn: 175743 | ||||
* | [ASan] Refactoring: nuke the redundant function declarations in ↵ | Alexander Potapenko | 2013-02-21 | 1 | -237/+0 |
| | | | | | | | | | | asan_intercepted_functions.h that had been used on OS X only. The INTERCEPTOR() macro on OS X is now responsible for declaring the wrapped function, the wrapper and the pair of pointers to them in __DATA,__interposition section. Thus adding an interceptor requires editing a single file now. llvm-svn: 175740 | ||||
* | [ASan] Delete asan/dynamic dir and temporarily move the interposers ↵ | Alexander Potapenko | 2013-02-20 | 1 | -13/+32 |
| | | | | | | | | declarations to asan_intercepted_functions.h Now that we have only one dependency on asan_intercepted_functions.h, we can unite that code with the interceptors declarations in asan_interceptors.cc and get rid of asan_intercepted_functions.h llvm-svn: 175631 | ||||
* | [sanitizer] Add interceptors for localtime and friends. | Evgeniy Stepanov | 2013-02-19 | 1 | -0/+14 |
| | | | | llvm-svn: 175499 | ||||
* | [asan] Add new __isoc99_*scanf to ASan intercepted functions list. | Evgeniy Stepanov | 2013-02-12 | 1 | -0/+14 |
| | | | | llvm-svn: 174965 | ||||
* | [ASan] fix the interceptor for siglongjmp. As we're using dylib ↵ | Alexander Potapenko | 2013-02-06 | 1 | -3/+1 |
| | | | | | | interposition, we must intercept both siglongjmp and longjmp on Darwin. llvm-svn: 174510 | ||||
* | [ASan] Delete the code related to static runtime on OS X. | Alexander Potapenko | 2013-02-05 | 1 | -3/+4 |
| | | | | | | Nuke lib/interception/mach_override. llvm-svn: 174383 | ||||
* | [ASan] fix compilation on Mac by adding a missing pwrite parameter. | Alexander Potapenko | 2013-01-24 | 1 | -1/+2 |
| | | | | llvm-svn: 173333 | ||||
* | [ASan] Use dylib interposition to hook memory allocation in the dynamic runtime. | Alexander Potapenko | 2013-01-22 | 1 | -7/+26 |
| | | | | | | | | This CL drastically simplifies the way we're hooking the memory allocation routines in ASan on Mac by using dylib interposition to replace the main malloc_zone_* functions. This allows us to avoid replacing the default CFAllocator and drop the CF dependency at all. Committing this patch will result in the static runtime being broken. A follow-up CL will switch ASan to use the dynamic runtime library. llvm-svn: 173134 | ||||
* | ASan: build unit tests with -fsanitize-address-zero-base-shadow on Linux and ↵ | Alexey Samsonov | 2013-01-21 | 1 | -1/+1 |
| | | | | | | Android llvm-svn: 173021 | ||||
* | [asan] Move *scanf declarations out of mac-only section. | Evgeniy Stepanov | 2013-01-21 | 1 | -23/+23 |
| | | | | llvm-svn: 173020 | ||||
* | [sanitizer] lint | Evgeniy Stepanov | 2013-01-18 | 1 | -2/+3 |
| | | | | llvm-svn: 172817 | ||||
* | [ASan] Fix compilation on Mac. | Alexander Potapenko | 2013-01-18 | 1 | -6/+8 |
| | | | | llvm-svn: 172810 | ||||
* | [sanitizer] Fix Mac build. | Evgeniy Stepanov | 2013-01-18 | 1 | -0/+11 |
| | | | | llvm-svn: 172809 | ||||
* | [sanitizer] reapply r172719, r172721-172723, r172725, and also fix the ↵ | Kostya Serebryany | 2013-01-18 | 1 | -2/+7 |
| | | | | | | warning on Mac. llvm-svn: 172791 | ||||
* | Revert r172719, r172721-172723, and r172725. | Jakob Stoklund Olesen | 2013-01-17 | 1 | -7/+2 |
| | | | | | | | | | | | | | | | | | | The r172719 patch broke the build on Mac, the others depended on it. compiler-rt/lib/asan/asan_interceptors.cc:78:13: error: unused function 'SetThreadName' [-Werror,-Wunused-function] static void SetThreadName(const char *name) { Orignal headlines: [asan] attempting to fix the Mac build [asan] restructure read/pread/pread64 tests [sanitizer] move write/pwrite/pwrite64 interceptors to common [msan] start using common interceptors in msan [tsan] move prctl interceptor from asan to common_interceptors thus enabling it for tsan too llvm-svn: 172763 | ||||
* | [asan] attempting to fix the Mac build | Kostya Serebryany | 2013-01-17 | 1 | -0/+7 |
| | | | | llvm-svn: 172725 | ||||
* | [tsan] move prctl interceptor from asan to common_interceptors thus enabling ↵ | Kostya Serebryany | 2013-01-17 | 1 | -2/+0 |
| | | | | | | it for tsan too llvm-svn: 172719 | ||||
* | [Sanitizer] Add new header - sanitizer_platform_interceptors.h, which should ↵ | Alexey Samsonov | 2012-12-13 | 1 | -0/+1 |
| | | | | | | define whether or not given function should be intercepted on a given platform. llvm-svn: 170115 | ||||
* | [ASan] one more macro for 'read' interception | Alexey Samsonov | 2012-12-13 | 1 | -0/+2 |
| | | | | llvm-svn: 170114 | ||||
* | [ASan] more macro for conditional interception of pread functions | Alexey Samsonov | 2012-12-13 | 1 | -0/+5 |
| | | | | llvm-svn: 170112 | ||||
* | [sanitizer] replace size_t with SIZE_T in interceptors (same for ssize_t, ↵ | Kostya Serebryany | 2012-12-13 | 1 | -14/+7 |
| | | | | | | off_t and off64_t). This is done to avoid confusion and to make the code work with compilers that define size_t w/o any includes (MSVC) llvm-svn: 170103 | ||||
* | [asan] fix the Android build (pread64 interceptor again) | Kostya Serebryany | 2012-12-13 | 1 | -2/+1 |
| | | | | llvm-svn: 170098 | ||||
* | [sanitizer] add OnMap/OnUmap callbacks to the allocator interface | Kostya Serebryany | 2012-12-12 | 1 | -2/+4 |
| | | | | llvm-svn: 169985 | ||||
* | [ASan] fix compilation on Mac. | Alexander Potapenko | 2012-12-12 | 1 | -0/+12 |
| | | | | llvm-svn: 169969 | ||||
* | ASan: intercept prctl on Linux only | Alexey Samsonov | 2012-12-07 | 1 | -0/+2 |
| | | | | llvm-svn: 169616 | ||||
* | [ASan] Do not build the interceptors that use ObjC blocks if the compiler ↵ | Alexander Potapenko | 2012-12-04 | 1 | -1/+1 |
| | | | | | | | | | | | does not support blocks. Need to define MISSING_BLOCKS_SUPPORT in this case at buildtime. Patch by Jack Howarth <howarth@bromo.med.uc.edu> llvm-svn: 169206 | ||||
* | [ASan] intercept swapcontext on Linux only | Alexey Samsonov | 2012-11-23 | 1 | -8/+6 |
| | | | | llvm-svn: 168509 | ||||
* | [ASan] Add interceptor for swapcontext to fight with false positives in some ↵ | Alexey Samsonov | 2012-11-23 | 1 | -0/+8 |
| | | | | | | of its use cases. llvm-svn: 168508 | ||||
* | Fix two compiler warnings: must use at least one argument for "..." in a ↵ | Alexander Potapenko | 2012-09-06 | 1 | -1/+1 |
| | | | | | | variadic macros, signed vs. unsigned comparison. llvm-svn: 163314 | ||||
* | Re-implement the wrappers for libdispatch functions using blocks where ↵ | Alexander Potapenko | 2012-08-23 | 1 | -0/+8 |
| | | | | | | | | | | | appropriate (kudos to Anna Zaks for a good example). This simplifies the code much and lets us not implement internal parts of libdispatch. All ASan tests from t32 and t64 should pass with the dylib runtime now. llvm-svn: 162439 | ||||
* | Dynamic interceptors for dispatch_async and dispatch_after. | Alexander Potapenko | 2012-08-20 | 1 | -0/+6 |
| | | | | llvm-svn: 162202 | ||||
* | Fix a leftover #if defined(DYNAMIC_MAC_WRAPPERS). | Alexander Potapenko | 2012-08-20 | 1 | -1/+1 |
| | | | | llvm-svn: 162197 | ||||
* | Remove the extra semicolon reported by the buildbot. | Alexander Potapenko | 2012-08-15 | 1 | -1/+1 |
| | | | | llvm-svn: 161954 | ||||
* | Introduce asan_intercepted_functions.h which contains the declarations ↵ | Alexander Potapenko | 2012-08-15 | 1 | -0/+205 |
wrapped functions and their wrappers. Those declarations are going to be shared between asan_interceptors.cc and the dynamic runtime library on Mac OS. llvm-svn: 161952 |