diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2023-01-17 10:56:20 +0100 |
---|---|---|
committer | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2023-01-17 10:56:20 +0100 |
commit | 85b45cccdf5f2442e791969abbffffbb2676591f (patch) | |
tree | 2b71fed79fe2569d568e27ecc64ce35a8d66abb6 /libsanitizer | |
parent | f457a62e63a86d5e5342eda16538a26355199856 (diff) | |
download | gcc-85b45cccdf5f2442e791969abbffffbb2676591f.zip gcc-85b45cccdf5f2442e791969abbffffbb2676591f.tar.gz gcc-85b45cccdf5f2442e791969abbffffbb2676591f.tar.bz2 |
libsanitizer: Fix asan SEGVs with gld on Solaris
When using GNU ld on Solaris, a large number of asan tests SEGV, while
Solaris ld is fine. This happens inside the __tls_get_addr interceptor,
which is highly glibc-specific. Therefore this patch disables that
interceptor.
Posted upstream at https://reviews.llvm.org/D141385.
Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11.
2023-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
libsanitizer:
* sanitizer_common/sanitizer_platform_interceptors.h: Cherry-pick
llvm-project revision 951cf656b2faaf6fc0baa867293c0cb0ab131951.
Diffstat (limited to 'libsanitizer')
-rw-r--r-- | libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h index 6e3081e..8307b1e 100644 --- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h +++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h @@ -405,7 +405,7 @@ (SI_FREEBSD || SI_NETBSD || SI_GLIBC || SI_SOLARIS) #define SANITIZER_INTERCEPT_TLS_GET_ADDR \ - (SI_FREEBSD || SI_NETBSD || SI_LINUX_NOT_ANDROID || SI_SOLARIS) + (SI_FREEBSD || SI_NETBSD || SI_LINUX_NOT_ANDROID) #define SANITIZER_INTERCEPT_LISTXATTR SI_LINUX #define SANITIZER_INTERCEPT_GETXATTR SI_LINUX |