aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerge-script <fanquake@gmail.com>2024-05-16 08:40:34 +0800
committermerge-script <fanquake@gmail.com>2024-05-16 08:40:34 +0800
commitae2658caacc1f3d8ab48d6b8ece481b1e9707fbb (patch)
treebd7ee7fbc18e4dd5439198b13fcf1aef00158b63
parent71f0f2273f6258e466c7b299c11982b4a04ae0d7 (diff)
parent141df0a28810470e53fdbc6d32d3cb4020fe3ca1 (diff)
downloadbitcoin-ae2658caacc1f3d8ab48d6b8ece481b1e9707fbb.tar.xz
Merge bitcoin/bitcoin#30097: crypto: disable asan for sha256_sse4 with clang and -O0
141df0a28810470e53fdbc6d32d3cb4020fe3ca1 crypto: disable asan for sha256_sse4 with clang and -O0 (Cory Fields) Pull request description: Clang is unable to compile the Transform function for that combination of options. Fixes #29801. ACKs for top commit: achow101: ACK 141df0a28810470e53fdbc6d32d3cb4020fe3ca1 Tree-SHA512: d74fdac5840ad7524edfde069fb43ae75c31146e90ecc58bbc7912ff57a02b068547431b1766afeed782272c0b93b0b41a286c1cf26ec55ce332d94ce917d810
-rw-r--r--src/crypto/sha256_sse4.cpp7
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,