Index: lib/libmd/ripemd.h =================================================================== --- lib/libmd/ripemd.h +++ lib/libmd/ripemd.h @@ -80,6 +80,12 @@ int num; } RIPEMD160_CTX; +#define RMD160_version __RMD160_version +#define RIPEMD160_Init __RIPEMD160_Init +#define RIPEMD160_Update __RIPEMD160_Update +#define RIPEMD160_Transform __RIPEMD160_Transform +#define RIPEMD160_Final __RIPEMD160_Final + __BEGIN_DECLS void RIPEMD160_Init(RIPEMD160_CTX *c); void RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, Index: lib/libmd/rmd160c.c =================================================================== --- lib/libmd/rmd160c.c +++ lib/libmd/rmd160c.c @@ -545,3 +545,14 @@ } } #endif + +#undef RMD160_version +__weak_reference(__RMD160_version, RMD160_version); +#undef RIPEMD160_Init +__weak_reference(__RIPEMD160_Init, RIPEMD160_Init); +#undef RIPEMD160_Update +__weak_reference(__RIPEMD160_Update, RIPEMD160_Update); +#undef RIPEMD160_Transform +__weak_reference(__RIPEMD160_Transform, RIPEMD160_Transform); +#undef RIPEMD160_Final +__weak_reference(__RIPEMD160_Final, RIPEMD160_Final); Index: lib/libmd/sha.h =================================================================== --- lib/libmd/sha.h +++ lib/libmd/sha.h @@ -78,6 +78,17 @@ } SHA_CTX; #define SHA1_CTX SHA_CTX +#define SHA_version __SHA_version +#define SHA_Init __SHA_Init +#define SHA_Update __SHA_Update +#define SHA_Transform __SHA_Transform +#define SHA_Final __SHA_Final +#define SHA1_version __SHA1_version +#define SHA1_Init __SHA1_Init +#define SHA1_Update __SHA1_Update +#define SHA1_Transform __SHA1_Transform +#define SHA1_Final __SHA1_Final + __BEGIN_DECLS void SHA_Init(SHA_CTX *c); void SHA_Update(SHA_CTX *c, const void *data, size_t len); Index: lib/libmd/sha0c.c =================================================================== --- lib/libmd/sha0c.c +++ lib/libmd/sha0c.c @@ -452,3 +452,13 @@ /* memset((char *)&c,0,sizeof(c));*/ } +#undef SHA_version +__weak_reference(__SHA_version, SHA_version); +#undef SHA_Init +__weak_reference(__SHA_Init, SHA_Init); +#undef SHA_Update +__weak_reference(__SHA_Update, SHA_Update); +#undef SHA_Transform +__weak_reference(__SHA_Transform, SHA_Transform); +#undef SHA_Final +__weak_reference(__SHA_Final, SHA_Final); Index: lib/libmd/sha1c.c =================================================================== --- lib/libmd/sha1c.c +++ lib/libmd/sha1c.c @@ -488,3 +488,13 @@ /* memset((char *)&c,0,sizeof(c));*/ } +#undef SHA1_version +__weak_reference(__SHA1_version, SHA1_version); +#undef SHA1_Init +__weak_reference(__SHA1_Init, SHA1_Init); +#undef SHA1_Update +__weak_reference(__SHA1_Update, SHA1_Update); +#undef SHA1_Transform +__weak_reference(__SHA1_Transform, SHA1_Transform); +#undef SHA1_Final +__weak_reference(__SHA1_Final, SHA1_Final); Index: lib/libmd/sha256.h =================================================================== --- lib/libmd/sha256.h +++ lib/libmd/sha256.h @@ -37,6 +37,11 @@ unsigned char buf[64]; } SHA256_CTX; +#define SHA256_Init __SHA256_Init +#define SHA256_Update __SHA256_Update +#define SHA256_Transform __SHA256_Transform +#define SHA256_Final __SHA256_Final + __BEGIN_DECLS void SHA256_Init(SHA256_CTX *); void SHA256_Update(SHA256_CTX *, const void *, size_t); Index: lib/libmd/sha256c.c =================================================================== --- lib/libmd/sha256c.c +++ lib/libmd/sha256c.c @@ -295,3 +295,12 @@ /* Clear the context state */ memset((void *)ctx, 0, sizeof(*ctx)); } + +#undef SHA256_Init +__weak_reference(__SHA256_Init, SHA256_Init); +#undef SHA256_Update +__weak_reference(__SHA256_Update, SHA256_Update); +#undef SHA256_Transform +__weak_reference(__SHA256_Transform, SHA256_Transform); +#undef SHA256_Final +__weak_reference(__SHA256_Final, SHA256_Final); Index: lib/libmd/sha512.h =================================================================== --- lib/libmd/sha512.h +++ lib/libmd/sha512.h @@ -37,6 +37,11 @@ unsigned char buf[128]; } SHA512_CTX; +#define SHA512_Init __SHA512_Init +#define SHA512_Update __SHA512_Update +#define SHA512_Transform __SHA512_Transform +#define SHA512_Final __SHA512_Final + __BEGIN_DECLS void SHA512_Init(SHA512_CTX *); void SHA512_Update(SHA512_CTX *, const void *, size_t); Index: lib/libmd/sha512c.c =================================================================== --- lib/libmd/sha512c.c +++ lib/libmd/sha512c.c @@ -318,3 +318,12 @@ /* Clear the context state */ memset((void *)ctx, 0, sizeof(*ctx)); } + +#undef SHA512_Init +__weak_reference(__SHA512_Init, SHA512_Init); +#undef SHA512_Update +__weak_reference(__SHA512_Update, SHA512_Update); +#undef SHA512_Transform +__weak_reference(__SHA512_Transform, SHA512_Transform); +#undef SHA512_Final +__weak_reference(__SHA512_Final, SHA512_Final);