Add a no-op OPENSSL_INIT_NO_ATEXIT

Upstream OpenSSL will, by default, register an atexit callback to free
globals, even though the process is going to be destroyed anyway.

Not only is this pointless, but it introduces UAFs on race condition if
some thread outlives the main thread. Some projects have started to
notice this, and use OPENSSL_INIT_NO_ATEXIT from 1.1.1b. Add the
constant for compatibility.

We already do not call atexit, so the option is a no-op.

Change-Id: Ia17c529c27646507100ebb69c884e2db9cb70431
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/66347
Commit-Queue: David Benjamin <davidben@google.com>
Commit-Queue: Adam Langley <agl@google.com>
Auto-Submit: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h
index 171ac43..c5c21bb 100644
--- a/include/openssl/crypto.h
+++ b/include/openssl/crypto.h
@@ -162,6 +162,7 @@
 #define OPENSSL_INIT_NO_ADD_ALL_DIGESTS 0
 #define OPENSSL_INIT_LOAD_CONFIG 0
 #define OPENSSL_INIT_NO_LOAD_CONFIG 0
+#define OPENSSL_INIT_NO_ATEXIT 0
 
 // OPENSSL_init_crypto calls |CRYPTO_library_init| and returns one.
 OPENSSL_EXPORT int OPENSSL_init_crypto(uint64_t opts,