diff options
author | Cory Fields <cory-nospam-@coryfields.com> | 2024-05-13 18:13:07 +0000 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2024-05-16 08:41:52 +0800 |
commit | 3c26058da223b873094b62c30f2463ab0e629b6a (patch) | |
tree | 69c2e286039a898cf935783e03590db5c1adcdf5 | |
parent | 0ba11cf90869fb437f6dce0c9430be4f899c0ea1 (diff) |
crypto: disable asan for sha256_sse4 with clang and -O0
Clang is unable to compile the Transform function for that combination of
options.
Github-Pull: #30097
Rebased-From: 141df0a28810470e53fdbc6d32d3cb4020fe3ca1
-rw-r--r-- | src/crypto/sha256_sse4.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/crypto/sha256_sse4.cpp b/src/crypto/sha256_sse4.cpp index f4557291ce..f0e255a23c 100644 --- a/src/crypto/sha256_sse4.cpp +++ b/src/crypto/sha256_sse4.cpp @@ -13,6 +13,13 @@ namespace sha256_sse4 { void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks) +#if defined(__clang__) && !defined(__OPTIMIZE__) + /* + clang is unable to compile this with -O0 and -fsanitize=address. + See upstream bug: https://github.com/llvm/llvm-project/issues/92182 + */ + __attribute__((no_sanitize("address"))) +#endif { static const uint32_t K256 alignas(16) [] = { 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, |