Unbreak MIPS build following rev. 282726

Introduce further adjustments to the renaming of libmd
symbols: make sure that we do not generate dangling weak
aliases, as this causes build failures on MIPS.

Tested by:	sbruno
This commit is contained in:
Thomas Quinot 2015-05-11 16:45:33 +00:00
parent 8a56ddde27
commit 2dd0a89c26
8 changed files with 49 additions and 6 deletions

View File

@ -42,7 +42,13 @@ CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \
sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \
sha256.ref sha256hl.c sha512.ref sha512hl.c
CFLAGS+= -I${.CURDIR}
# Define WEAK_REFS to provide weak aliases for libmd symbols
#
# Note that the same sources are also used internally by libcrypt,
# in which case:
# * macros are used to rename symbols to libcrypt internal names
# * no weak aliases are generated
CFLAGS+= -I${.CURDIR} -DWEAK_REFS
.PATH: ${.CURDIR}/${MACHINE_ARCH} ${.CURDIR}/../../sys/crypto/sha2
.if exists(${MACHINE_ARCH}/sha.S)

View File

@ -291,6 +291,11 @@ unsigned int len;
(((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
}
#ifdef WEAK_REFS
/* When building libmd, provide weak references. Note: this is not
activated in the context of compiling these sources for internal
use in libcrypt.
*/
#undef MD4Init
__weak_reference(_libmd_MD4Init, MD4Init);
#undef MD4Update
@ -299,3 +304,4 @@ __weak_reference(_libmd_MD4Update, MD4Update);
__weak_reference(_libmd_MD4Pad, MD4Pad);
#undef MD4Final
__weak_reference(_libmd_MD4Final, MD4Final);
#endif

View File

@ -336,6 +336,11 @@ MD5Transform (state, block)
memset ((void *)x, 0, sizeof (x));
}
#ifdef WEAK_REFS
/* When building libmd, provide weak references. Note: this is not
activated in the context of compiling these sources for internal
use in libcrypt.
*/
#undef MD5Init
__weak_reference(_libmd_MD5Init, MD5Init);
#undef MD5Update
@ -346,3 +351,4 @@ __weak_reference(_libmd_MD5Pad, MD5Pad);
__weak_reference(_libmd_MD5Final, MD5Final);
#undef MD5Transform
__weak_reference(_libmd_MD5Transform, MD5Transform);
#endif

View File

@ -97,6 +97,11 @@ MDXData (const void *data, unsigned int len, char *buf)
return (MDXEnd(&ctx, buf));
}
#ifdef WEAK_REFS
/* When building libmd, provide weak references. Note: this is not
activated in the context of compiling these sources for internal
use in libcrypt.
*/
#undef MDXEnd
__weak_reference(_libmd_MDXEnd, MDXEnd);
#undef MDXFile
@ -105,3 +110,4 @@ __weak_reference(_libmd_MDXFile, MDXFile);
__weak_reference(_libmd_MDXFileChunk, MDXFileChunk);
#undef MDXData
__weak_reference(_libmd_MDXData, MDXData);
#endif

View File

@ -546,6 +546,11 @@ unsigned long *l;
}
#endif
#ifdef WEAK_REFS
/* When building libmd, provide weak references. Note: this is not
activated in the context of compiling these sources for internal
use in libcrypt.
*/
#undef RIPEMD160_Init
__weak_reference(_libmd_RIPEMD160_Init, RIPEMD160_Init);
#undef RIPEMD160_Update
@ -558,3 +563,4 @@ __weak_reference(_libmd_RIPEMD160_Transform, RIPEMD160_Transform);
__weak_reference(_libmd_RMD160_version, RMD160_version);
#undef ripemd160_block
__weak_reference(_libmd_ripemd160_block, ripemd160_block);
#endif

View File

@ -488,7 +488,11 @@ SHA_CTX *c;
/* memset((char *)&c,0,sizeof(c));*/
}
#ifdef WEAK_REFS
/* When building libmd, provide weak references. Note: this is not
activated in the context of compiling these sources for internal
use in libcrypt.
*/
#undef SHA_Init
__weak_reference(_libmd_SHA_Init, SHA_Init);
#undef SHA_Update
@ -513,3 +517,4 @@ __weak_reference(_libmd_SHA1_Transform, SHA1_Transform);
__weak_reference(_libmd_SHA1_version, SHA1_version);
#undef sha1_block
__weak_reference(_libmd_sha1_block, sha1_block);
#endif

View File

@ -296,6 +296,11 @@ SHA256_Final(unsigned char digest[32], SHA256_CTX * ctx)
memset((void *)ctx, 0, sizeof(*ctx));
}
#ifdef WEAK_REFS
/* When building libmd, provide weak references. Note: this is not
activated in the context of compiling these sources for internal
use in libcrypt.
*/
#undef SHA256_Init
__weak_reference(_libmd_SHA256_Init, SHA256_Init);
#undef SHA256_Update
@ -304,5 +309,4 @@ __weak_reference(_libmd_SHA256_Update, SHA256_Update);
__weak_reference(_libmd_SHA256_Final, SHA256_Final);
#undef SHA256_Transform
__weak_reference(_libmd_SHA256_Transform, SHA256_Transform);
#undef SHA256_version
__weak_reference(_libmd_SHA256_version, SHA256_version);
#endif

View File

@ -319,6 +319,11 @@ SHA512_Final(unsigned char digest[64], SHA512_CTX * ctx)
memset((void *)ctx, 0, sizeof(*ctx));
}
#ifdef WEAK_REFS
/* When building libmd, provide weak references. Note: this is not
activated in the context of compiling these sources for internal
use in libcrypt.
*/
#undef SHA512_Init
__weak_reference(_libmd_SHA512_Init, SHA512_Init);
#undef SHA512_Update
@ -327,5 +332,4 @@ __weak_reference(_libmd_SHA512_Update, SHA512_Update);
__weak_reference(_libmd_SHA512_Final, SHA512_Final);
#undef SHA512_Transform
__weak_reference(_libmd_SHA512_Transform, SHA512_Transform);
#undef SHA512_version
__weak_reference(_libmd_SHA512_version, SHA512_version);
#endif