CVSROOT:        /cvs
Module name:    src
Changes by:     js...@cvs.openbsd.org   2025/05/24 01:41:14

Modified files:
        lib/libcrypto  : crypto_init.c 

Log message:
Provide openssl_init_crypto_constructor() and invoke via a constructor.

There are a very large number of entry points to libcrypto, which means it
is easy to run code prior to OPENSSL_init_crypto() being invoked. This
means that CPU capability detection will not have been run, leading to
poor choices with regards to the use of accelerated implementations.

Now that our CPU capability detection code has been cleaned up and is safe,
provide an openssl_init_crypto_constructor() that runs CPU capability
detection and invoke it as a library constructor. This should only be used
to invoke code that does not do memory allocation or trigger signals.

ok tb@

Reply via email to