summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/asan_allocator.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* [asan] nuke the old unused allocator codeKostya Serebryany2013-04-041-812/+0
| | | | llvm-svn: 178758
* [ASan] Switch ASan to generic ThreadRegistry from sanitizer_common. Delete ↵Alexey Samsonov2013-03-211-1/+0
| | | | | | ASan-specific AsanThreadRegistry. llvm-svn: 177634
* [ASan] Move malloc stats collection away from AsanThreadRegistry class.Alexey Samsonov2013-03-201-5/+5
| | | | llvm-svn: 177508
* [ASan] Move GetCurrentThread/SetCurrentThread from AsanThreadRegistry class ↵Alexey Samsonov2013-03-201-2/+2
| | | | | | into plain functions: they don't actually use registry llvm-svn: 177501
* [asan] Fix Win/Mac build.Evgeniy Stepanov2013-02-051-1/+1
| | | | llvm-svn: 174376
* [asan] Fix nonsensical reports of partial right OOB.Evgeniy Stepanov2013-02-051-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 Samsonov2013-01-311-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 Serebryany2013-01-281-0/+2
| | | | | | __asan_init) llvm-svn: 173676
* [sanitizer] fix calloc overflow in asan/tsan/msanKostya Serebryany2013-01-251-0/+2
| | | | llvm-svn: 173441
* asan/tsan: move blocking mutex from asan to sanitizer_commonDmitry Vyukov2013-01-141-9/+9
| | | | llvm-svn: 172380
* [sanitizer] add statistics to the allocator; fix lintKostya Serebryany2012-12-271-0/+3
| | | | llvm-svn: 171161
* [asan] add a flag alloc_dealloc_mismatch (off by default for now) which ↵Kostya Serebryany2012-12-211-16/+23
| | | | | | finds malloc/delete, new/free, new/delete[], etc mismatches llvm-svn: 170869
* [asan] implement AsanChunkFifoList via IntrusiveList<AsanChunk>Kostya Serebryany2012-12-171-31/+4
| | | | llvm-svn: 170313
* [asan] add two asan flags: fast_unwind_on_fatal and fast_unwind_on_malloc to ↵Kostya Serebryany2012-12-131-1/+1
| | | | | | allow using the slow CFI-based unwinder llvm-svn: 170117
* [asan] more code for asan_allocator2: basic Allocate/Deallocate codeKostya Serebryany2012-12-111-5/+0
| | | | llvm-svn: 169864
* [asan] more sceleton code for asan_allocator2Kostya Serebryany2012-12-111-27/+0
| | | | llvm-svn: 169836
* [asan] fix the Windows buildKostya Serebryany2012-12-111-4/+0
| | | | llvm-svn: 169828
* [asan] move FakeStack into a separate fileKostya Serebryany2012-12-101-190/+0
| | | | llvm-svn: 169734
* [asan] introduce asan_allocator2.cc, which will have the replacement for ↵Kostya Serebryany2012-12-101-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 Samsonov2012-12-071-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 Serebryany2012-11-231-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 Serebryany2012-11-211-2/+2
| | | | | | Instead, define our own SANITIZER_WORDSIZE llvm-svn: 168424
* [ASan] Revert r168040 and r168043 and take a cleaner solution suggested by ↵Alexander Potapenko2012-11-151-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 findAlexander Potapenko2012-11-151-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 Samsonov2012-09-181-80/+49
| | | | | | allocator internals to asan_report.cc. llvm-svn: 164112
* [ASan] Add print_full_thread_history runtime option (on by default) that ↵Alexey Samsonov2012-09-051-5/+5
| | | | | | prints all full thread creation paths for threads involved in ASan error report llvm-svn: 163200
* Whitespace/lintAlexey Samsonov2012-08-301-1/+0
| | | | llvm-svn: 162909
* Relocate the external headers provided by ASan and the common sanitizerChandler Carruth2012-08-291-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_commonKostya Serebryany2012-08-281-3/+3
| | | | llvm-svn: 162754
* [asan] some renaming before we move StackTrace into sanitizer_commonKostya Serebryany2012-08-281-19/+19
| | | | llvm-svn: 162747
* [asan] get rid of AsanPrintf in favor of Printf from sanitizer_commonKostya Serebryany2012-08-281-9/+9
| | | | llvm-svn: 162746
* [ASan] make ASan malloc/free hooks weak interface functions, overridable by ↵Alexey Samsonov2012-08-221-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 Potapenko2012-08-151-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 Potapenko2012-08-151-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 Samsonov2012-08-091-25/+7
| | | | | | CMakeLists as well llvm-svn: 161569
* AllocationSize(ptr) should check that |ptr| actually points to the beginning ↵Alexander Potapenko2012-08-061-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 warningsAlexey Samsonov2012-07-231-3/+3
| | | | llvm-svn: 160624
* [ASan] Use common flags parsing machinery.Alexey Samsonov2012-07-091-11/+11
| | | | llvm-svn: 159933
* tsan/asan: unify atomics (move atomics from tsan to sanitizer_common)Dmitry Vyukov2012-06-291-7/+9
| | | | llvm-svn: 159437
* [ASan] cleanup: trailing semicolons, trailing colons in enumsAlexey Samsonov2012-06-281-1/+1
| | | | llvm-svn: 159338
* [asan] slow 16-byte redzones (still experimental)Kostya Serebryany2012-06-071-8/+6
| | | | llvm-svn: 158143
* [asan] more compaction: don't use the next field while the chunk is in ↵Kostya Serebryany2012-06-061-7/+9
| | | | | | allocated state llvm-svn: 158083
* [asan] more allocator compactionKostya Serebryany2012-06-061-13/+27
| | | | llvm-svn: 158082
* [Sanitizer] Switch to common mmap/munmap routines in ASan run-time.Alexey Samsonov2012-06-061-3/+3
| | | | llvm-svn: 158078
* [asan] more compaction for allocatorKostya Serebryany2012-06-061-6/+6
| | | | llvm-svn: 158076
* [asan] make tid u32 instead of intKostya Serebryany2012-06-061-5/+5
| | | | llvm-svn: 158074
* [asan] start compacting the allocator header, the goal is to make it 16 ↵Kostya Serebryany2012-06-061-11/+11
| | | | | | bytes w/o losing any information llvm-svn: 158072
* [Sanitizer]: Introduce a common internal printf function. For now, also use ↵Alexey Samsonov2012-06-061-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 Samsonov2012-06-061-3/+4
| | | | llvm-svn: 158059
* Remove file-type tags for .cc files in ASan run-time libraryAlexey Samsonov2012-06-041-1/+1
| | | | llvm-svn: 157927
OpenPOWER on IntegriCloud