Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [asan] nuke the old unused allocator code | Kostya Serebryany | 2013-04-04 | 1 | -812/+0 | |
| | | | | llvm-svn: 178758 | |||||
* | [ASan] Switch ASan to generic ThreadRegistry from sanitizer_common. Delete ↵ | Alexey Samsonov | 2013-03-21 | 1 | -1/+0 | |
| | | | | | | ASan-specific AsanThreadRegistry. llvm-svn: 177634 | |||||
* | [ASan] Move malloc stats collection away from AsanThreadRegistry class. | Alexey Samsonov | 2013-03-20 | 1 | -5/+5 | |
| | | | | llvm-svn: 177508 | |||||
* | [ASan] Move GetCurrentThread/SetCurrentThread from AsanThreadRegistry class ↵ | Alexey Samsonov | 2013-03-20 | 1 | -2/+2 | |
| | | | | | | into plain functions: they don't actually use registry llvm-svn: 177501 | |||||
* | [asan] Fix Win/Mac build. | Evgeniy Stepanov | 2013-02-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 174376 | |||||
* | [asan] Fix nonsensical reports of partial right OOB. | Evgeniy Stepanov | 2013-02-05 | 1 | -2/+2 | |
| | | | | | | | | | | In case of partial right OOB, ASan was reporting X is located 0 bytes to the right of [A, B) where X was actually inside [A, B). With this change, ASan will report B as the error address in such case. llvm-svn: 174373 | |||||
* | [ASan] Split ASan interface header into private and public parts. Add a test ↵ | Alexey Samsonov | 2013-01-31 | 1 | -1/+0 | |
| | | | | | | that makes sure users can include interface header llvm-svn: 174058 | |||||
* | [asan] fix a crash in asan stats printing (initialize the allocator in ↵ | Kostya Serebryany | 2013-01-28 | 1 | -0/+2 | |
| | | | | | | __asan_init) llvm-svn: 173676 | |||||
* | [sanitizer] fix calloc overflow in asan/tsan/msan | Kostya Serebryany | 2013-01-25 | 1 | -0/+2 | |
| | | | | llvm-svn: 173441 | |||||
* | asan/tsan: move blocking mutex from asan to sanitizer_common | Dmitry Vyukov | 2013-01-14 | 1 | -9/+9 | |
| | | | | llvm-svn: 172380 | |||||
* | [sanitizer] add statistics to the allocator; fix lint | Kostya Serebryany | 2012-12-27 | 1 | -0/+3 | |
| | | | | llvm-svn: 171161 | |||||
* | [asan] add a flag alloc_dealloc_mismatch (off by default for now) which ↵ | Kostya Serebryany | 2012-12-21 | 1 | -16/+23 | |
| | | | | | | finds malloc/delete, new/free, new/delete[], etc mismatches llvm-svn: 170869 | |||||
* | [asan] implement AsanChunkFifoList via IntrusiveList<AsanChunk> | Kostya Serebryany | 2012-12-17 | 1 | -31/+4 | |
| | | | | llvm-svn: 170313 | |||||
* | [asan] add two asan flags: fast_unwind_on_fatal and fast_unwind_on_malloc to ↵ | Kostya Serebryany | 2012-12-13 | 1 | -1/+1 | |
| | | | | | | allow using the slow CFI-based unwinder llvm-svn: 170117 | |||||
* | [asan] more code for asan_allocator2: basic Allocate/Deallocate code | Kostya Serebryany | 2012-12-11 | 1 | -5/+0 | |
| | | | | llvm-svn: 169864 | |||||
* | [asan] more sceleton code for asan_allocator2 | Kostya Serebryany | 2012-12-11 | 1 | -27/+0 | |
| | | | | llvm-svn: 169836 | |||||
* | [asan] fix the Windows build | Kostya Serebryany | 2012-12-11 | 1 | -4/+0 | |
| | | | | llvm-svn: 169828 | |||||
* | [asan] move FakeStack into a separate file | Kostya Serebryany | 2012-12-10 | 1 | -190/+0 | |
| | | | | llvm-svn: 169734 | |||||
* | [asan] introduce asan_allocator2.cc, which will have the replacement for ↵ | Kostya Serebryany | 2012-12-10 | 1 | -1/+3 | |
| | | | | | | asan allocator (now, just a bit of boilerplate) llvm-svn: 169733 | |||||
* | ASan: change the strategy we use for installing malloc/free/symbolization ↵ | Alexey Samsonov | 2012-12-07 | 1 | -10/+12 | |
| | | | | | | 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] get rid of some of the uses of kPageSize. The intent is to get rid of ↵ | Kostya Serebryany | 2012-11-23 | 1 | -8/+10 | |
| | | | | | | it completely to support platforms with multiple possible page sizes. llvm-svn: 168517 | |||||
* | [asan/tsan] do not use __WORDSIZE macro, as it is glibc-private thing. ↵ | Kostya Serebryany | 2012-11-21 | 1 | -2/+2 | |
| | | | | | | Instead, define our own SANITIZER_WORDSIZE llvm-svn: 168424 | |||||
* | [ASan] Revert r168040 and r168043 and take a cleaner solution suggested by ↵ | Alexander Potapenko | 2012-11-15 | 1 | -4/+0 | |
| | | | | | | Kostya: return the known frame name for fake stack instead of looking it up. llvm-svn: 168046 | |||||
* | [ASan] Poison the leftmost shadow byte with a special value so that we can find | Alexander Potapenko | 2012-11-15 | 1 | -0/+4 | |
| | | | | | | | the beginning of the fake frame when reporting an use-after-return error. Fixes http://code.google.com/p/address-sanitizer/issues/detail?id=126 llvm-svn: 168040 | |||||
* | [ASan] Move printing descriptions of heap addresses in error report from ↵ | Alexey Samsonov | 2012-09-18 | 1 | -80/+49 | |
| | | | | | | allocator internals to asan_report.cc. llvm-svn: 164112 | |||||
* | [ASan] Add print_full_thread_history runtime option (on by default) that ↵ | Alexey Samsonov | 2012-09-05 | 1 | -5/+5 | |
| | | | | | | prints all full thread creation paths for threads involved in ASan error report llvm-svn: 163200 | |||||
* | Whitespace/lint | Alexey Samsonov | 2012-08-30 | 1 | -1/+0 | |
| | | | | llvm-svn: 162909 | |||||
* | Relocate the external headers provided by ASan and the common sanitizer | Chandler Carruth | 2012-08-29 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] even more refactoring to move StackTrace to sanitizer_common | Kostya Serebryany | 2012-08-28 | 1 | -3/+3 | |
| | | | | llvm-svn: 162754 | |||||
* | [asan] some renaming before we move StackTrace into sanitizer_common | Kostya Serebryany | 2012-08-28 | 1 | -19/+19 | |
| | | | | llvm-svn: 162747 | |||||
* | [asan] get rid of AsanPrintf in favor of Printf from sanitizer_common | Kostya Serebryany | 2012-08-28 | 1 | -9/+9 | |
| | | | | llvm-svn: 162746 | |||||
* | [ASan] make ASan malloc/free hooks weak interface functions, overridable by ↵ | Alexey Samsonov | 2012-08-22 | 1 | -28/+21 | |
| | | | | | | user. Now the user can control malloc/free hooks without recompiling ASan runtime llvm-svn: 162355 | |||||
* | Use SANITIZER_INTERFACE_ATTRIBUTE instead of ↵ | Alexander Potapenko | 2012-08-15 | 1 | -3/+3 | |
| | | | | | | | | __attribute__((visibility("default"))) Export CheckFailed, asan_malloc, asan_free, asan_memalign, AsanStackTrace::CompressStack, AsanStackTrace::UncompressStack from the dynamic runtime library. llvm-svn: 161943 | |||||
* | Make __asan::asan_{malloc,free,memalign} globally visible, so that the ↵ | Alexander Potapenko | 2012-08-15 | 1 | -0/+3 | |
| | | | | | | dynamic version of the runtime will export them. llvm-svn: 161942 | |||||
* | [ASan] Move error reports away from ASan allocator. Add new source file to ↵ | Alexey Samsonov | 2012-08-09 | 1 | -25/+7 | |
| | | | | | | CMakeLists as well llvm-svn: 161569 | |||||
* | AllocationSize(ptr) should check that |ptr| actually points to the beginning ↵ | Alexander Potapenko | 2012-08-06 | 1 | -4/+5 | |
| | | | | | | | | of the chunk it belongs to. Fixes http://code.google.com/p/address-sanitizer/issues/detail?id=86 llvm-svn: 161320 | |||||
* | [ASan] minor fixes to silence cmake build warnings | Alexey Samsonov | 2012-07-23 | 1 | -3/+3 | |
| | | | | llvm-svn: 160624 | |||||
* | [ASan] Use common flags parsing machinery. | Alexey Samsonov | 2012-07-09 | 1 | -11/+11 | |
| | | | | llvm-svn: 159933 | |||||
* | tsan/asan: unify atomics (move atomics from tsan to sanitizer_common) | Dmitry Vyukov | 2012-06-29 | 1 | -7/+9 | |
| | | | | llvm-svn: 159437 | |||||
* | [ASan] cleanup: trailing semicolons, trailing colons in enums | Alexey Samsonov | 2012-06-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 159338 | |||||
* | [asan] slow 16-byte redzones (still experimental) | Kostya Serebryany | 2012-06-07 | 1 | -8/+6 | |
| | | | | llvm-svn: 158143 | |||||
* | [asan] more compaction: don't use the next field while the chunk is in ↵ | Kostya Serebryany | 2012-06-06 | 1 | -7/+9 | |
| | | | | | | allocated state llvm-svn: 158083 | |||||
* | [asan] more allocator compaction | Kostya Serebryany | 2012-06-06 | 1 | -13/+27 | |
| | | | | llvm-svn: 158082 | |||||
* | [Sanitizer] Switch to common mmap/munmap routines in ASan run-time. | Alexey Samsonov | 2012-06-06 | 1 | -3/+3 | |
| | | | | llvm-svn: 158078 | |||||
* | [asan] more compaction for allocator | Kostya Serebryany | 2012-06-06 | 1 | -6/+6 | |
| | | | | llvm-svn: 158076 | |||||
* | [asan] make tid u32 instead of int | Kostya Serebryany | 2012-06-06 | 1 | -5/+5 | |
| | | | | llvm-svn: 158074 | |||||
* | [asan] start compacting the allocator header, the goal is to make it 16 ↵ | Kostya Serebryany | 2012-06-06 | 1 | -11/+11 | |
| | | | | | | bytes w/o losing any information llvm-svn: 158072 | |||||
* | [Sanitizer]: Introduce a common internal printf function. For now, also use ↵ | Alexey Samsonov | 2012-06-06 | 1 | -19/+20 | |
| | | | | | | tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms). llvm-svn: 158065 | |||||
* | [ASan] Make printf arguments match format strings better. | Alexey Samsonov | 2012-06-06 | 1 | -3/+4 | |
| | | | | llvm-svn: 158059 | |||||
* | Remove file-type tags for .cc files in ASan run-time library | Alexey Samsonov | 2012-06-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 157927 |