Re: OpenSSL version 3.3.0 published
Matt Caswell <[email protected]>
| Newsgroups | gmane.comp.encryption.openssl.user |
|---|---|
| Message-ID | <[email protected]> |
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 > <[email protected] <mailto:[email protected]>> 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 >