mirror of
https://github.com/rui314/mold.git
synced 2024-10-05 00:57:08 +03:00
32a7e7cb17
OpenSSL deprecates the low-level crypto APIs in OpenSSL 3.0. I guess there's a reason to do that for them, but for us, the low-level APIs such as SHA256_CTX, SHA256_Update or SHA256_Final are exactly what we want to use. After all, we just want to compute SHA256 checksums. The high-level API that OpenSSL provides requires users to allocate a context object using new_ctx(). That has some performance hit as it requires heap allocation. And it's just complicated too. So, I decided to stick with the deprecated functions at least for now and just suppresss the warning message by defining OPENSSL_SUPPRESS_DEPRECATED macro. If OpenSSL deletes these functions, we need to do something, but it's too early to worry about it. Fixes https://github.com/rui314/mold/issues/246
9 lines
231 B
C
9 lines
231 B
C
#ifdef __APPLE__
|
|
# define COMMON_DIGEST_FOR_OPENSSL
|
|
# include <CommonCrypto/CommonDigest.h>
|
|
# define SHA256(data, len, md) CC_SHA256(data, len, md)
|
|
#else
|
|
# define OPENSSL_SUPPRESS_DEPRECATED 1
|
|
# include <openssl/sha.h>
|
|
#endif
|