aboutsummaryrefslogtreecommitdiff
path: root/www/node/files/patch-deps_openssl_openssl_crypto_threads__pthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'www/node/files/patch-deps_openssl_openssl_crypto_threads__pthread.c')
-rw-r--r--www/node/files/patch-deps_openssl_openssl_crypto_threads__pthread.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/www/node/files/patch-deps_openssl_openssl_crypto_threads__pthread.c b/www/node/files/patch-deps_openssl_openssl_crypto_threads__pthread.c
new file mode 100644
index 000000000000..babf2bdb7655
--- /dev/null
+++ b/www/node/files/patch-deps_openssl_openssl_crypto_threads__pthread.c
@@ -0,0 +1,29 @@
+--- deps/openssl/openssl/crypto/threads_pthread.c.orig 2021-10-27 15:57:20 UTC
++++ deps/openssl/openssl/crypto/threads_pthread.c
+@@ -188,7 +188,7 @@ int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPT
+
+ int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock)
+ {
+-# if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL)
++# if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(__i386__)
+ if (__atomic_is_lock_free(sizeof(*val), val)) {
+ *ret = __atomic_add_fetch(val, amount, __ATOMIC_ACQ_REL);
+ return 1;
+@@ -215,7 +215,7 @@ int CRYPTO_atomic_add(int *val, int amount, int *ret,
+ int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,
+ CRYPTO_RWLOCK *lock)
+ {
+-# if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL)
++# if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(__i386__)
+ if (__atomic_is_lock_free(sizeof(*val), val)) {
+ *ret = __atomic_or_fetch(val, op, __ATOMIC_ACQ_REL);
+ return 1;
+@@ -240,7 +240,7 @@ int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint6
+
+ int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock)
+ {
+-# if defined(__GNUC__) && defined(__ATOMIC_ACQUIRE)
++# if defined(__GNUC__) && defined(__ATOMIC_ACQUIRE) && !defined(__i386__)
+ if (__atomic_is_lock_free(sizeof(*val), val)) {
+ __atomic_load(val, ret, __ATOMIC_ACQUIRE);
+ return 1;