From 85219598c47f5023fd3aa88b64e6c88493361b0e Mon Sep 17 00:00:00 2001 From: Bernard Spil Date: Sun, 1 Aug 2021 10:15:47 +0000 Subject: [PATCH] security/openssl-devel: unbreak on i386 via atomic stub Submitted by: jbeich --- security/openssl-devel/Makefile | 2 -- .../files/patch-crypto_threads__pthread.c | 20 +++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 security/openssl-devel/files/patch-crypto_threads__pthread.c diff --git a/security/openssl-devel/Makefile b/security/openssl-devel/Makefile index 9f18800fa823..5f18559936af 100644 --- a/security/openssl-devel/Makefile +++ b/security/openssl-devel/Makefile @@ -17,8 +17,6 @@ CONFLICTS_INSTALL= libressl-[0-9]* \ libressl-devel-[0-9]* \ openssl-[0-9]* -BROKEN_i386= ld: error: undefined symbol: __atomic_is_lock_free - HAS_CONFIGURE= yes CONFIGURE_SCRIPT= config CONFIGURE_ENV= PERL="${PERL}" diff --git a/security/openssl-devel/files/patch-crypto_threads__pthread.c b/security/openssl-devel/files/patch-crypto_threads__pthread.c new file mode 100644 index 000000000000..fbc67e3e8393 --- /dev/null +++ b/security/openssl-devel/files/patch-crypto_threads__pthread.c @@ -0,0 +1,20 @@ +Drop after FreeBSD 13.0/12.2 EOL around 2022-05-30 + +ld: error: undefined symbol: __atomic_is_lock_free +>>> referenced by threads_pthread.c +>>> libfips-lib-threads_pthread.o:(CRYPTO_atomic_or) in archive providers/libfips.a +>>> referenced by threads_pthread.c +>>> libfips-lib-threads_pthread.o:(CRYPTO_atomic_load) in archive providers/libfips.a + +--- crypto/threads_pthread.c.orig 2021-07-29 14:50:29 UTC ++++ crypto/threads_pthread.c +@@ -15,6 +15,9 @@ + + #if defined(__sun) + # include ++#elif defined(__clang__) && defined(__i386__) && __clang_major__ < 12 ++/* Until https://github.com/llvm/llvm-project/commit/00530dee5d12 */ ++#define __atomic_is_lock_free(size, ptr) ((void)(ptr), size <= sizeof(void *)) + #endif + + #if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) && !defined(OPENSSL_SYS_WINDOWS)