aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/openssl
diff options
context:
space:
mode:
authornechda <nechda@yandex-team.com>2024-11-19 22:47:26 +0300
committernechda <nechda@yandex-team.com>2024-11-19 22:59:42 +0300
commit5d885b87d95d69c68611be5aef800f5ff90f42a8 (patch)
treeab952c754d3df7f31b7aa169317aa3e94152f2bc /contrib/libs/openssl
parent7297d051e885fd49e3a809f5181df9d4368cbe23 (diff)
downloadydb-5d885b87d95d69c68611be5aef800f5ff90f42a8.tar.gz
Add suppressions for ubsan in openssl
commit_hash:54d8848f6168c0370b9bcbd164290fc4fc1c2128
Diffstat (limited to 'contrib/libs/openssl')
-rw-r--r--contrib/libs/openssl/.yandex_meta/__init__.py5
-rw-r--r--contrib/libs/openssl/crypto/ubsan.supp3
-rw-r--r--contrib/libs/openssl/crypto/ya.make2
3 files changed, 10 insertions, 0 deletions
diff --git a/contrib/libs/openssl/.yandex_meta/__init__.py b/contrib/libs/openssl/.yandex_meta/__init__.py
index b1e69b9c4c..08770e451d 100644
--- a/contrib/libs/openssl/.yandex_meta/__init__.py
+++ b/contrib/libs/openssl/.yandex_meta/__init__.py
@@ -31,6 +31,10 @@ def post_install(self):
m.SRCS = {P.relpath(s, "crypto") for s in m.SRCS}
m.SRCS -= {"dso/dso_dlfcn.c", "rand/rand_vms.c"}
+ # Add suppression for ubsan, see also https://github.com/openssl/openssl/issues/22896
+ with self.yamakes["crypto"] as m:
+ m.after("NO_RUNTIME", "SUPPRESSIONS(ubsan.supp)")
+
self.yamakes["crypto"].PEERDIR.add("library/cpp/sanitizer/include")
self.yamakes["apps"].PEERDIR.add("library/cpp/sanitizer/include")
@@ -142,6 +146,7 @@ openssl = NixProject(
"asm/windows/",
"openssl.package.json",
"sanitizers.h",
+ "crypto/ubsan.supp",
],
post_install=post_install,
)
diff --git a/contrib/libs/openssl/crypto/ubsan.supp b/contrib/libs/openssl/crypto/ubsan.supp
new file mode 100644
index 0000000000..bc65760319
--- /dev/null
+++ b/contrib/libs/openssl/crypto/ubsan.supp
@@ -0,0 +1,3 @@
+# clang17-rt and later emits diagnostig related to invalid function pointers
+# See also https://github.com/openssl/openssl/issues/22896
+function:*contrib/libs/openssl/*.c
diff --git a/contrib/libs/openssl/crypto/ya.make b/contrib/libs/openssl/crypto/ya.make
index f588d9ff98..3bf6f03bdb 100644
--- a/contrib/libs/openssl/crypto/ya.make
+++ b/contrib/libs/openssl/crypto/ya.make
@@ -92,6 +92,8 @@ NO_COMPILER_WARNINGS()
NO_RUNTIME()
+SUPPRESSIONS(ubsan.supp)
+
CFLAGS(
-DOPENSSL_BN_ASM_MONT
-DOPENSSL_CPUID_OBJ