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@