Commit 478e78829a for openssl.org

commit 478e78829a58fffd05d56dc90e37ee0b126429b2
Author: Eugene Syromiatnikov <esyr@openssl.org>
Date:   Fri Apr 10 19:35:49 2026 +0200

    Configure, INSTALL.md: make atexit deprecated disablable

    As the atexit handler was removed in [1], no-atexit configuration option
    has no effect, make that explicit by disallowing enabling atexit, and
    update the documentation accordingly.

    [1] https://github.com/openssl/openssl/pull/29385

    References: https://github.com/openssl/openssl/issues/30742

    Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
    Reviewed-by: Neil Horman <nhorman@openssl.org>
    Reviewed-by: Norbert Pocs <norbertp@openssl.org>
    MergeDate: Thu Jun 18 12:20:34 2026
    (Merged from https://github.com/openssl/openssl/pull/30767)

diff --git a/Configure b/Configure
index 3c49cb021d..918a7c7cc0 100755
--- a/Configure
+++ b/Configure
@@ -511,7 +511,6 @@ my @disablables_features = (
     "asan",
     "asm",
     "async",
-    "atexit",
     "autoalginit",
     "autoerrinit",
     "autoload-config",
@@ -596,6 +595,7 @@ my @disablables_int = qw(
     );

 my %deprecated_disablables = (
+    "atexit" => undef,
     "engine" => undef,
     "static-engine" => undef,
     "dynamic-engine" => undef,
@@ -619,6 +619,7 @@ my %deprecated_disablables = (
 # All of the following are disabled by default:

 our %disabled = ( # "what"         => "comment"
+                  "atexit"              => "default",
                   "fips"                => "default",
                   "fips-jitter"         => "default",
                   "asan"                => "default",
@@ -664,7 +665,7 @@ our %disabled = ( # "what"         => "comment"
 my @disable_cascades = (
     # "what"            => [ "cascade", ... ]
     "bulk"              => [ "shared", "dso",
-                             "argon2", "aria", "async", "atexit", "autoload-config",
+                             "argon2", "aria", "async", "autoload-config",
                              "blake2", "bf", "camellia", "cast", "chacha",
                              "cmac", "cms", "cmp", "comp", "ct",
                              "des", "dgram", "dh", "dsa",
diff --git a/INSTALL.md b/INSTALL.md
index ae31b8207c..b44e2705c0 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -645,7 +645,8 @@ Do not use `atexit()` in libcrypto builds.

 Before version 4.0, OpenSSL used to set `atexit()` handler for cleaning up
 global data, and this option allowed to disable that functionality.  `atexit()`
-handler setup was removed in OpenSSL 4.0, so this option does nothing now.
+handler setup was removed in OpenSSL 4.0, so `no-atexit` option is retained
+for compatibility reasons only, always present, and does nothing.

 ### no-autoalginit