aboutsummaryrefslogtreecommitdiff
path: root/lang/rust188/files/patch-vendor_openssl_crypto_threads__pthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/rust188/files/patch-vendor_openssl_crypto_threads__pthread.c')
-rw-r--r--lang/rust188/files/patch-vendor_openssl_crypto_threads__pthread.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/lang/rust188/files/patch-vendor_openssl_crypto_threads__pthread.c b/lang/rust188/files/patch-vendor_openssl_crypto_threads__pthread.c
new file mode 100644
index 000000000000..87c398a91538
--- /dev/null
+++ b/lang/rust188/files/patch-vendor_openssl_crypto_threads__pthread.c
@@ -0,0 +1,27 @@
+/usr/ports/security/openssl34/files/patch-crypto_threads__pthread.c
++ fix dup IMPL_fallback_atomic_exchange_n (this code was removed in
+https://github.com/openssl/openssl/commit/65787e2dc219685c30539c6f60eb6b64b890bf6f)
+
+--- vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/threads_pthread.c.orig 2025-05-09 22:37:37.000000000 +0200
++++ vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/threads_pthread.c 2025-05-21 14:44:18.563852000 +0200
+@@ -50,6 +50,10 @@ __tsan_mutex_post_lock((x), 0, 0)
+ # define BROKEN_CLANG_ATOMICS
+ #endif
+
++#if defined(__FreeBSD__) && (defined(__i386__) || (defined(__powerpc__) && defined(__ILP32__)))
++#define BROKEN_CLANG_ATOMICS
++#endif
++
+ #if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) && !defined(OPENSSL_SYS_WINDOWS)
+
+ # if defined(OPENSSL_SYS_UNIX)
+@@ -210,8 +214,7 @@ IMPL_fallback_atomic_exchange_n(prcu_cb_item)
+ pthread_mutex_unlock(&atomic_sim_lock); \
+ return ret; \
+ }
+-
+-IMPL_fallback_atomic_exchange_n(uint64_t)
++IMPL_fallback_atomic_compare_exchange_n(uint64_t)
+
+ # define ATOMIC_COMPARE_EXCHANGE_N(t, p, e, d, s, f) fallback_atomic_compare_exchange_n_##t(p, e, d, s, f)
+