OpenSSL version 3.3.0 published

Dennis Clarke dclarke at blastwave.org
Sun May 12 23:26:20 UTC 2024


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

     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