-
Notifications
You must be signed in to change notification settings - Fork 1k
AddressSanitizerSupportedPlatforms
Alexander Potapenko edited this page Aug 31, 2015
·
3 revisions
Just works, this is the primary platforms for the developers.
Stack unwinding: frame pointers. Default shadow mapping:
Shadow = (Mem >> 3) | 0x20000000 # 32 bit
Shadow = (Mem >> 3) | 0x0000100000000000 # 64 bit
Alternative shadow mapping, requires -pie
Shadow = Mem >> 3 # 32 and 64 bit
Function interception: dlsym
Just works, but the machinery used to intercept functions (mach_override) may soon be replaced with another one (function interposition)
Stack unwinding: frame pointers. Shadow mapping:
Shadow = (Mem >> 3) | 0x20000000 # 32 bit
Shadow = (Mem >> 3) | 0x0000100000000000 # 64 bit
Works (TODO(eugenis))
Stack unwinding mechanism: _Unwind_Backtrace
.
Doing baby steps, help is welcome.
C-only code mostly works,
Simple C++ code also works, complex C++ code using multiple/virtual inheritance doesn't work.
See issue 56 (on Google Code) for the details.
Help is welcome!
Stack unwinding mechanism: CaptureStackBackTrace
TODO: describe the differences (e.g. the shadow mapping, offset, page size, etc)
Stack unwinding mechanism:
_Unwind_Backtrace
.The run-time library is known to build on SPARC Linux.
Just works, this is the primary compiler for the developers.
The first version is in trunk, will appear in 4.8 release.
The implementation is (almost?) complete, but we don't have enough experience with it yet.
In AddressSanitizer mode GCC defines
__SANITIZE_ADDRESS__
macro, but does not support __has_feature(address_sanitizer)