Summary: Support the dynamic shadow memory offset (the default case for user space now) and static non-zero shadow memory offset (-hwasan-mapping-offset option). Keeping the the latter case around for functionality and performance comparison tests (and mostly for -hwasan-mapping-offset=0 case). The implementation is stripped down ASan one, picking only the relevant parts in the following assumptions: shadow scale is fixed, the shadow memory is dynamic, it is accessed via ifunc global, shadow memory address rematerialization is suppressed. Keep zero-based shadow memory for kernel (-hwasan-kernel option) and calls instreumented case (-hwasan-instrument-with-calls option), which essentially means that the generated code is not changed in these cases. Reviewers: eugenis Subscribers: srhines, llvm-commits Differential Revision: https://reviews.llvm.org/D45840 llvm-svn: 330475 |
||
|---|---|---|
| .. | ||
| AddressSanitizer | ||
| BoundsChecking | ||
| DataFlowSanitizer | ||
| EfficiencySanitizer | ||
| HWAddressSanitizer | ||
| InstrProfiling | ||
| MemorySanitizer | ||
| SanitizerCoverage | ||
| ThreadSanitizer | ||