diff --git a/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c b/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c index 474d26eb..4bd08550 100644 --- a/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +++ b/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c @@ -5,6 +5,7 @@ #include "blake2.h" #include "crypto_generichash_blake2b.h" +#include "private/implementations.h" int crypto_generichash_blake2b(unsigned char *out, size_t outlen, diff --git a/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c b/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c index a8a515db..d5e2efa2 100644 --- a/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +++ b/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c @@ -2,6 +2,7 @@ #include "onetimeauth_poly1305.h" #include "crypto_onetimeauth_poly1305.h" #include "private/common.h" +#include "private/implementations.h" #include "randombytes.h" #include "runtime.h" diff --git a/src/libsodium/crypto_pwhash/argon2/argon2-core.c b/src/libsodium/crypto_pwhash/argon2/argon2-core.c index 318e73ef..588756b0 100644 --- a/src/libsodium/crypto_pwhash/argon2/argon2-core.c +++ b/src/libsodium/crypto_pwhash/argon2/argon2-core.c @@ -24,6 +24,7 @@ #include "crypto_generichash_blake2b.h" #include "private/common.h" +#include "private/implementations.h" #include "runtime.h" #include "utils.h" diff --git a/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c b/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c index 0c75b019..ca19ad11 100644 --- a/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +++ b/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c @@ -1,5 +1,6 @@ #include "crypto_scalarmult_curve25519.h" +#include "private/implementations.h" #include "scalarmult_curve25519.h" #include "runtime.h" diff --git a/src/libsodium/crypto_stream/chacha20/stream_chacha20.c b/src/libsodium/crypto_stream/chacha20/stream_chacha20.c index 19c6eae9..3b089511 100644 --- a/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +++ b/src/libsodium/crypto_stream/chacha20/stream_chacha20.c @@ -1,5 +1,6 @@ #include "crypto_stream_chacha20.h" #include "private/common.h" +#include "private/implementations.h" #include "randombytes.h" #include "runtime.h" #include "stream_chacha20.h" diff --git a/src/libsodium/crypto_stream/salsa20/stream_salsa20.c b/src/libsodium/crypto_stream/salsa20/stream_salsa20.c index 8714de11..45298501 100644 --- a/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +++ b/src/libsodium/crypto_stream/salsa20/stream_salsa20.c @@ -1,5 +1,6 @@ #include "crypto_stream_salsa20.h" #include "private/common.h" +#include "private/implementations.h" #include "randombytes.h" #include "runtime.h" #include "stream_salsa20.h" diff --git a/src/libsodium/sodium/utils.c b/src/libsodium/sodium/utils.c index 6666ef95..bb94fe88 100644 --- a/src/libsodium/sodium/utils.c +++ b/src/libsodium/sodium/utils.c @@ -66,6 +66,9 @@ static unsigned char canary[CANARY_SIZE]; /* LCOV_EXCL_START */ #ifdef HAVE_WEAK_SYMBOLS __attribute__((weak)) void +_sodium_dummy_symbol_to_prevent_memzero_lto(void *const pnt, + const size_t len); +__attribute__((weak)) void _sodium_dummy_symbol_to_prevent_memzero_lto(void *const pnt, const size_t len) { @@ -102,6 +105,10 @@ sodium_memzero(void *const pnt, const size_t len) #ifdef HAVE_WEAK_SYMBOLS __attribute__((weak)) void +_sodium_dummy_symbol_to_prevent_memcmp_lto(const unsigned char *b1, + const unsigned char *b2, + const size_t len); +__attribute__((weak)) void _sodium_dummy_symbol_to_prevent_memcmp_lto(const unsigned char *b1, const unsigned char *b2, const size_t len) @@ -138,6 +145,10 @@ sodium_memcmp(const void *const b1_, const void *const b2_, size_t len) #ifdef HAVE_WEAK_SYMBOLS __attribute__((weak)) void +_sodium_dummy_symbol_to_prevent_compare_lto(const unsigned char *b1, + const unsigned char *b2, + const size_t len); +__attribute__((weak)) void _sodium_dummy_symbol_to_prevent_compare_lto(const unsigned char *b1, const unsigned char *b2, const size_t len)