Branch: refs/heads/master Home: https://github.com/openssl/openssl Commit: 16beec98d26644b96d57bd8da477166d0bc7d05c https://github.com/openssl/openssl/commit/16beec98d26644b96d57bd8da477166d0bc7d05c Author: Georgi Valkov <gval...@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 <gval...@gmail.com> Reviewed-by: Neil Horman <nhor...@openssl.org> Reviewed-by: Tomas Mraz <to...@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