aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2024-05-13 18:13:07 +0000
committerCory Fields <cory-nospam-@coryfields.com>2024-05-15 13:50:25 +0000
commit141df0a28810470e53fdbc6d32d3cb4020fe3ca1 (patch)
treed570a6147bde86b45629861038f8d119c634cd7f /src
parent42d5a1ff25a8045b6f4c09fa1fb71736dbccc034 (diff)
downloadbitcoin-141df0a28810470e53fdbc6d32d3cb4020fe3ca1.tar.xz
crypto: disable asan for sha256_sse4 with clang and -O0
Clang is unable to compile the Transform function for that combination of options.
Diffstat (limited to 'src')
-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,