diff options
author | Richard Levitte <levitte@openssl.org> | 2019-04-01 06:40:33 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-04-10 07:50:17 +0200 |
commit | 5fba3afad01707f4a8856a35500de007a8a256ec (patch) | |
tree | f00f25de2eced91b761980504b57f690d5756ea1 /crypto/init.c | |
parent | 0c45bd8dae287a286583dca682eafcfa5a5d4469 (diff) |
Rework DSO API conditions and configuration option
'no-dso' is meaningless, as it doesn't get any macro defined.
Therefore, we remove all checks of OPENSSL_NO_DSO. However, there may
be some odd platforms with no DSO scheme. For those, we generate the
internal macro DSO_NONE aand use it.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8622)
Diffstat (limited to 'crypto/init.c')
-rw-r--r-- | crypto/init.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/crypto/init.c b/crypto/init.c index afb213315e..62626a707e 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -161,8 +161,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_nodelete) #ifdef OPENSSL_INIT_DEBUG fprintf(stderr, "OPENSSL_INIT: ossl_init_load_crypto_nodelete()\n"); #endif -#if !defined(OPENSSL_NO_DSO) \ - && !defined(OPENSSL_USE_NODELETE) \ +#if !defined(OPENSSL_USE_NODELETE) \ && !defined(OPENSSL_NO_PINSHARED) # if defined(DSO_WIN32) && !defined(_WIN32_WCE) { @@ -180,7 +179,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_nodelete) # endif return (ret == TRUE) ? 1 : 0; } -# else +# elif !defined(DSO_NONE) /* * Deliberately leak a reference to ourselves. This will force the library * to remain loaded until the atexit() handler is run at process exit. @@ -764,8 +763,7 @@ int OPENSSL_atexit(void (*handler)(void)) { OPENSSL_INIT_STOP *newhand; -#if !defined(OPENSSL_NO_DSO) \ - && !defined(OPENSSL_USE_NODELETE)\ +#if !defined(OPENSSL_USE_NODELETE)\ && !defined(OPENSSL_NO_PINSHARED) { union { @@ -790,7 +788,7 @@ int OPENSSL_atexit(void (*handler)(void)) if (!ret) return 0; } -# else +# elif !defined(DSO_NONE) /* * Deliberately leak a reference to the handler. This will force the * library/code containing the handler to remain loaded until we run the |