Hi!
Following recent discussion
(https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02310.html), I would like
to merge recent sanitizer library to GCC to make available new useful
features from upstream in GCC 6:
* The shadow offset for ASan was unified on Aarch64 for 39 and 42 VMAs
(http://reviews.llvm.org/D13782). This change would not require any new
code into compiler side.
* Optional ASan recovery functionality was merged to sanitizer library
(http://reviews.llvm.org/D12318). This feature requires some minimal
compiler changes that I'll post below.
* LSan was finally fixed and enabled for AArch64
(http://reviews.llvm.org/rL250898).
The first patch is the library merge itself. I've also applied 3 GCC
specific patches here (I don't post them separately to avoid polluting
ChangeLog):
* Patch for SPARC by David S. Miller
(https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01855.html).
* Disable ODR violation detection
(https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01856.html).
* Adjust the fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61771
to extract the last PC from the stack frame if no valid FP is available
for ARM (https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01857.html).
The second one reflects to corresponding compiler changes. In
particular, it just enables -fsanitize-recover=address switch and
migrates two small testcases from upstream.
Regtested and bootstrapped on {x86_64, aarch64}-unknown-linux-gnu and
arm-linux-gnueabi. Is it OK for mainline?
- [PATCH 0/2] Libsanitizer merge from upstream r253555. Maxim Ostapenko
-