summaryrefslogtreecommitdiffstats
path: root/INSTALL.md
diff options
context:
space:
mode:
authorRandall S. Becker <randall.becker@nexbridge.ca>2024-01-25 22:11:27 +0000
committerTomas Mraz <tomas@openssl.org>2024-02-22 10:40:04 +0100
commit73a68d8adde293ad73cb66444b4b683a5697d686 (patch)
tree2e32472a9ddbb901f07b2d27828affc358253c41 /INSTALL.md
parent878d31954738369c35cbafbaa65e9201e9fc6d4b (diff)
Add atexit configuration option to using atexit() in libcrypto at build-time.
This fixes an issue with a mix of atexit() usage in DLL and statically linked libcrypto that came out in the test suite on NonStop, which has slightly different DLL unload processing semantics compared to Linux. The change allows a build configuration to select whether to register OPENSSL_cleanup() with atexit() or not, so avoid situations where atexit() registration causes SIGSEGV. INSTALL.md and CHANGES.md have been modified to include and describe this option. Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca> Signed-off-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23642) (cherry picked from commit 0e1989d4c7435809b60f614c23ba8c9a7c0373e8)
Diffstat (limited to 'INSTALL.md')
-rw-r--r--INSTALL.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/INSTALL.md b/INSTALL.md
index fef408e9d1..045b13739b 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -546,6 +546,13 @@ be used even with this option.
Do not build support for async operations.
+### no-atexit
+
+Do not use `atexit()` in libcrypto builds.
+
+`atexit()` has varied semantics between platforms and can cause SIGSEGV in some
+circumstances. This options disables the atexit registration of OPENSSL_cleanup.
+
### no-autoalginit
Don't automatically load all supported ciphers and digests.