OpenSSL version 3.3.0 published
Matt Caswell
matt at openssl.org
Mon May 13 07:34:49 UTC 2024
On 13/05/2024 02:42, Neil Horman wrote:
> We added support for RCU locks in 3.3 which required the use of atomics
> (or emulated atomic where they couldn't be supported), but those were in
> libcrypro not liberal
>
Right - its supposed to fallback to emulated atomic calls where atomics
aren't available on a particular platform.
Some platforms have some atomics support but you have to link in a
separate atomics library to get it to work. You might try adding
"-latomic" to Configure command line and see if that helps at all.
Matt
>
>
> On Sun, May 12, 2024, 7:26 PM Dennis Clarke via openssl-users
> <openssl-users at openssl.org <mailto:openssl-users at openssl.org>> wrote:
>
>
> On 4/9/24 08:56, OpenSSL wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA256
> >
> >
> > OpenSSL version 3.3.0 released
> > ==============================
> >
>
>
> Trying to compile this on an old Solaris 10 machine and over and over
> and over I see these strange things as Undefined symbols :
>
> Undefined first referenced
> symbol in file
> __atomic_store_4 ./libssl.so
> __atomic_fetch_add_4 ./libssl.so
> __atomic_fetch_sub_4 ./libssl.so
> atomic_thread_fence ./libssl.so
> __atomic_load_4 ./libssl.so
> ld: fatal: symbol referencing errors. No output written to apps/openssl
> gmake[1]: *** [Makefile:12601: apps/openssl] Error 2
> gmake[1]: Leaving directory
> '/opt/bw/build/openssl-3.3.0_SunOS_5.10_SPARC64.002'
> gmake: *** [Makefile:1978: build_sw] Error 2
>
>
> Those look like strange C11 atomics. Are they really needed somewhere?
>
> I see include/internal/refcount.h talks about C11 atomics and yet the
> entire code base is supposed to be C90 clean. See section the OpenSSL
> Coding Style policy :
>
> https://www.openssl.org/policies/technical/coding-style.html
> <https://www.openssl.org/policies/technical/coding-style.html>
>
> Chapter 14: Portability
>
> To maximise portability the version of C defined in
> ISO/IEC 9899:1990 should be used. This is more commonly
> referred to as C90. ISO/IEC 9899:1999 (also known as C99) is
> not supported on some platforms that OpenSSL is used on and
> therefore should be avoided.
>
>
> Perhaps I need to define OPENSSL_DEV_NO_ATOMICS ?
>
>
> Dennis Clarke
> RISC-V/SPARC/PPC/ARM/CISC
> UNIX and Linux spoken
>
More information about the openssl-users
mailing list