Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 May 2015 16:45:34 +0000 (UTC)
From:      Thomas Quinot <thomas@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r282774 - head/lib/libmd
Message-ID:  <201505111645.t4BGjYi5052836@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: thomas
Date: Mon May 11 16:45:33 2015
New Revision: 282774
URL: https://svnweb.freebsd.org/changeset/base/282774

Log:
  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

Modified:
  head/lib/libmd/Makefile
  head/lib/libmd/md4c.c
  head/lib/libmd/md5c.c
  head/lib/libmd/mdXhl.c
  head/lib/libmd/rmd160c.c
  head/lib/libmd/sha1c.c
  head/lib/libmd/sha256c.c
  head/lib/libmd/sha512c.c

Modified: head/lib/libmd/Makefile
==============================================================================
--- head/lib/libmd/Makefile	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/Makefile	Mon May 11 16:45:33 2015	(r282774)
@@ -42,7 +42,13 @@ CLEANFILES+=	md[245]hl.c md[245].ref md[
 		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)

Modified: head/lib/libmd/md4c.c
==============================================================================
--- head/lib/libmd/md4c.c	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/md4c.c	Mon May 11 16:45:33 2015	(r282774)
@@ -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, MD4Up
 __weak_reference(_libmd_MD4Pad, MD4Pad);
 #undef MD4Final
 __weak_reference(_libmd_MD4Final, MD4Final);
+#endif

Modified: head/lib/libmd/md5c.c
==============================================================================
--- head/lib/libmd/md5c.c	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/md5c.c	Mon May 11 16:45:33 2015	(r282774)
@@ -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

Modified: head/lib/libmd/mdXhl.c
==============================================================================
--- head/lib/libmd/mdXhl.c	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/mdXhl.c	Mon May 11 16:45:33 2015	(r282774)
@@ -97,6 +97,11 @@ MDXData (const void *data, unsigned int 
 	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

Modified: head/lib/libmd/rmd160c.c
==============================================================================
--- head/lib/libmd/rmd160c.c	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/rmd160c.c	Mon May 11 16:45:33 2015	(r282774)
@@ -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_Transf
 __weak_reference(_libmd_RMD160_version, RMD160_version);
 #undef ripemd160_block
 __weak_reference(_libmd_ripemd160_block, ripemd160_block);
+#endif

Modified: head/lib/libmd/sha1c.c
==============================================================================
--- head/lib/libmd/sha1c.c	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/sha1c.c	Mon May 11 16:45:33 2015	(r282774)
@@ -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, 
 __weak_reference(_libmd_SHA1_version, SHA1_version);
 #undef sha1_block
 __weak_reference(_libmd_sha1_block, sha1_block);
+#endif

Modified: head/lib/libmd/sha256c.c
==============================================================================
--- head/lib/libmd/sha256c.c	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/sha256c.c	Mon May 11 16:45:33 2015	(r282774)
@@ -296,6 +296,11 @@ SHA256_Final(unsigned char digest[32], S
 	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, S
 __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

Modified: head/lib/libmd/sha512c.c
==============================================================================
--- head/lib/libmd/sha512c.c	Mon May 11 15:47:55 2015	(r282773)
+++ head/lib/libmd/sha512c.c	Mon May 11 16:45:33 2015	(r282774)
@@ -319,6 +319,11 @@ SHA512_Final(unsigned char digest[64], S
 	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, S
 __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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505111645.t4BGjYi5052836>