Hi!
Since the last sanitizer library merge to GCC happened, some new useful
features were applied upstream. In particular, the most significant are:
* The shadow offset for ASan was unified on Aarch64 for 39 and 42 VMAs
(http://reviews.llvm.org/D13782). AFAU, this change wouldn't require any
additional support from compiler side, because the shadow offset is the
same as for 39-bit VMA (36) .
* Optional ASan recovery functionality was merged to sanitizer library
(http://reviews.llvm.org/D12318). This feature seems to be very helpful
in complex systems where we may want to proceed to work even in case of
bug was detected. However, to access this functionality, we'll need to
implement new asan_report_{store, load}{1, 2, 4, 8, 16, N}_noabort
callbacks in compiler. This is probably unacceptable for stage 3.
I think it would be nice to have unified shadow offset on Aarch64 for 39
and 42 VMAs even in GCC 6 (enabling ASan recovery would be nice too, but
it's much harder).
So, my question is: is it acceptable to backport these features from
upstream without touching compiler side? If so, I see two options here:
- Perform sanitizer library merge to GCC without changing compiler side.
- Cherry-pick the patch for AArch64 on top of current trunk.
Thanks,
-Maxim