summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/asan_mapping.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert three patches which were committed without explicit contributionChandler Carruth2013-12-091-4/+1
| | | | | | | | | | | | | | | by their authors. This may break builds where others added code relying on these patches, but please *do not* revert this commit. Instead, we will prepare patches which fix the failures. Reverts the following commits: r168306: "[asan] support x32 mode in the fast stack unwinder. Patch by H.J. Lu" r168356: "[asan] more support for powerpc, patch by Peter Bergner" r196489: "[sanitizer] fix the ppc32 build (patch by Jakub Jelinek)" llvm-svn: 196802
* [ASan] Use 'extern "C"' rather than 'extern' for global variables exposed in ↵Timur Iskhodzhanov2013-12-041-2/+2
| | | | | | the interface llvm-svn: 196379
* [ASan] Don't add SANITIZER_INTERFACE_ATTRIBUTE for internal ASan functionsAlexey Samsonov2013-09-171-1/+0
| | | | llvm-svn: 190860
* [ASan] Check that getSymbolizer() is defined. Turn magic mapping constants ↵Alexey Samsonov2013-09-161-10/+14
| | | | | | into named variables llvm-svn: 190787
* [asan] ASan Linux MIPS32 support (compiler-rt part), patch by Jyun-Yan YKostya Serebryany2013-06-031-1/+12
| | | | llvm-svn: 183105
* [sanitizer] Move ASan platform macros to sanitizer_common and rename them ↵Evgeniy Stepanov2013-03-191-2/+2
| | | | | | appropriately. llvm-svn: 177397
* [asan] bump kMidMemEnd to 0x4fffffffffULL since in rare cases prelink uses ↵Kostya Serebryany2013-02-281-6/+6
| | | | | | addresses higher than 0x3fffffffff llvm-svn: 176250
* [asan] speedup by more than 2x handling of the small memset/memcpy/etc callsKostya Serebryany2013-02-211-1/+1
| | | | llvm-svn: 175728
* [asan] make asan work with 7fff8000 offset and prelinkKostya Serebryany2013-02-151-5/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] fix fixed mapping for mac (ASAN_FLEXIBLE_MAPPING_AND_OFFSET=0)Kostya Serebryany2013-02-131-1/+5
| | | | llvm-svn: 175049
* [asan] change the default mapping offset on x86_64 to 0x7fff8000. This gives ↵Kostya Serebryany2013-02-121-1/+1
| | | | | | roughly 5% speedup. Since this is an ABI change, bump the asan ABI version by renaming __asan_init to __asan_init_v1. compiler-rt part llvm-svn: 174958
* [sanitizer] increase the minimal mmap size in allocator to 2^16; fix the ↵Kostya Serebryany2013-01-231-0/+1
| | | | | | asan Mac build llvm-svn: 173261
* [asan] initialize kHighMemEnd at startup (instead of at compile time) to ↵Kostya Serebryany2013-01-231-12/+3
| | | | | | simplify further changes for various address space layouts. Fix asan_allocator2 for PowerPC (tested on 44-bit address space) llvm-svn: 173260
* [asan] simplify the code that poisons global redzones, add some more testsKostya Serebryany2013-01-231-3/+0
| | | | llvm-svn: 173251
* Fixup for r173021: build tests with zero-based shadow on Android only, fix ↵Alexey Samsonov2013-01-211-1/+1
| | | | | | condition in checking for shadow gap in asan_mapping.h llvm-svn: 173026
* ASan: build unit tests with -fsanitize-address-zero-base-shadow on Linux and ↵Alexey Samsonov2013-01-211-0/+4
| | | | | | Android llvm-svn: 173021
* [ASan] use macro instead of raw __attribute__Alexey Samsonov2012-12-281-2/+2
| | | | llvm-svn: 171188
* [asan/tsan] get rid of kPageSize completely in favor of GetPageSizeCached(). ↵Kostya Serebryany2012-11-241-1/+6
| | | | | | This makes the code friendly to more platforms llvm-svn: 168537
* [asan/tsan] do not use __WORDSIZE macro, as it is glibc-private thing. ↵Kostya Serebryany2012-11-211-4/+4
| | | | | | Instead, define our own SANITIZER_WORDSIZE llvm-svn: 168424
* [asan] more support for powerpc, patch by Peter BergnerKostya Serebryany2012-11-201-1/+9
| | | | llvm-svn: 168356
* A few tweaks for building ASanRT against Android NDK.Evgeniy Stepanov2012-08-271-1/+1
| | | | llvm-svn: 162666
* For wild addresses in the shadow or shadow gap areas print an error message ↵Alexander Potapenko2012-07-231-0/+4
| | | | | | | | instead of crashing on a check. Add AddressSanitizer.MemsetWildAddressTest that makes sure a proper error message is printed. llvm-svn: 160620
* [asan] more renamingKostya Serebryany2012-05-311-3/+3
| | | | llvm-svn: 157747
* [asan] more renamingKostya Serebryany2012-05-311-14/+14
| | | | llvm-svn: 157746
* Use zero-based shadow by default on Android.Evgeniy Stepanov2012-05-231-8/+13
| | | | llvm-svn: 157318
* Fix GetFrameNameByAddr hitting stale stack guards.Evgeniy Stepanov2012-05-121-0/+1
| | | | | | | | | | | | | | | | | In the current implementation AsanThread::GetFrameNameByAddr scans the stack for a magic guard value to locate base address of the stack frame. This is not reliable, especially on ARM, where the code that stores this magic value has to construct it in a register from two small intermediates; this register can then end up stored in a random stack location in the prologue of another function. With this change, GetFrameNameByAddr scans the shadow memory for the signature of a left stack redzone instead. It is now possible to remove the magic from the instrumentation pass for additional performance gain. We keep it there for now just to make sure the new algorithm does not fail in some corner case. llvm-svn: 156710
* [asan] performance optimization: make sure the check for poisoned shadow ↵Kostya Serebryany2012-03-151-0/+12
| | | | | | inside inteceptors is inlined llvm-svn: 152767
* Refactor shadow poisoning done by asan-rt, no funtionality changes; patch by ↵Kostya Serebryany2011-11-301-0/+4
| | | | | | samsonov@google.com llvm-svn: 145505
* AddressSanitizer run-time library. Not yet integrated with the compiler-rt ↵Kostya Serebryany2011-11-301-0/+96
build system, but can be built using the old makefile. See details in README.txt llvm-svn: 145463
OpenPOWER on IntegriCloud