[openssl/openssl] 16beec: threads_win: fix build error with VS2010 x86
Georgi Valkov
noreply at github.com
Mon Jul 1 08:03:55 UTC 2024
Branch: refs/heads/master
Home: https://github.com/openssl/openssl
Commit: 16beec98d26644b96d57bd8da477166d0bc7d05c
https://github.com/openssl/openssl/commit/16beec98d26644b96d57bd8da477166d0bc7d05c
Author: Georgi Valkov <gvalkov at gmail.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M crypto/threads_none.c
M crypto/threads_pthread.c
M crypto/threads_win.c
M doc/man3/CRYPTO_THREAD_run_once.pod
M include/openssl/crypto.h.in
M test/threadstest.c
M util/libcrypto.num
Log Message:
-----------
threads_win: fix build error with VS2010 x86
InterlockedAnd64 and InterlockedAdd64 are not available on VS2010 x86.
We already have implemented replacements for other functions, such as
InterlockedOr64. Apply the same approach to fix the errors.
A CRYPTO_RWLOCK rw_lock is added to rcu_lock_st.
Replace InterlockedOr64 and InterlockedOr with CRYPTO_atomic_load and
CRYPTO_atomic_load_int, using the existing design pattern.
Add documentation and tests for the new atomic functions
CRYPTO_atomic_add64, CRYPTO_atomic_and
Fixes:
libcrypto.lib(libcrypto-lib-threads_win.obj) : error LNK2019: unresolved external symbol _InterlockedAdd64 referenced in function _get_hold_current_qp
libcrypto.lib(libcrypto-lib-threads_win.obj) : error LNK2019: unresolved external symbol _InterlockedOr referenced in function _get_hold_current_qp
libcrypto.lib(libcrypto-lib-threads_win.obj) : error LNK2019: unresolved external symbol _InterlockedAnd64 referenced in function _update_qp
libcrypto.lib(libcrypto-lib-threads_win.obj) : error LNK2019: unresolved external symbol _InterlockedOr64 referenced in function _ossl_synchronize_rcu
Signed-off-by: Georgi Valkov <gvalkov at gmail.com>
Reviewed-by: Neil Horman <nhorman at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24405)
To unsubscribe from these emails, change your notification settings at https://github.com/openssl/openssl/settings/notifications
More information about the openssl-commits
mailing list