svn commit: r212961 - in head/crypto/openssl/crypto: . rc5

Rui Paulo rpaulo at FreeBSD.org
Tue Sep 21 10:22:29 UTC 2010


Author: rpaulo
Date: Tue Sep 21 10:22:29 2010
New Revision: 212961
URL: http://svn.freebsd.org/changeset/base/212961

Log:
  Bring in OpenSSL checkin 19821:
  
   Make inline assembler clang-friendly [from HEAD].
  
   openssl/crypto/md32_common.h     	1.45.2.1 -> 1.45.2.2
   openssl/crypto/rc5/rc5_locl.h     	1.8 -> 1.8.8.1
  
  Approved by:	simon

Modified:
  head/crypto/openssl/crypto/md32_common.h
  head/crypto/openssl/crypto/rc5/rc5_locl.h

Modified: head/crypto/openssl/crypto/md32_common.h
==============================================================================
--- head/crypto/openssl/crypto/md32_common.h	Tue Sep 21 09:33:44 2010	(r212960)
+++ head/crypto/openssl/crypto/md32_common.h	Tue Sep 21 10:22:29 2010	(r212961)
@@ -165,7 +165,7 @@
 				asm (			\
 				"roll %1,%0"		\
 				: "=r"(ret)		\
-				: "I"(n), "0"(a)	\
+				: "I"(n), "0"((unsigned int)(a))	\
 				: "cc");		\
 			   ret;				\
 			})
@@ -383,6 +383,7 @@ int HASH_FINAL (unsigned char *md, HASH_
 	}
 
 #ifndef MD32_REG_T
+#if defined(__alpha) || defined(__sparcv9) || defined(__mips)
 #define MD32_REG_T long
 /*
  * This comment was originaly written for MD5, which is why it
@@ -400,9 +401,15 @@ int HASH_FINAL (unsigned char *md, HASH_
  * Well, to be honest it should say that this *prevents* 
  * performance degradation.
  *				<appro at fy.chalmers.se>
- * Apparently there're LP64 compilers that generate better
- * code if A-D are declared int. Most notably GCC-x86_64
- * generates better code.
+ */
+#else
+/*
+ * Above is not absolute and there are LP64 compilers that
+ * generate better code if MD32_REG_T is defined int. The above
+ * pre-processor condition reflects the circumstances under which
+ * the conclusion was made and is subject to further extension.
  *				<appro at fy.chalmers.se>
  */
+#define MD32_REG_T int
+#endif
 #endif

Modified: head/crypto/openssl/crypto/rc5/rc5_locl.h
==============================================================================
--- head/crypto/openssl/crypto/rc5/rc5_locl.h	Tue Sep 21 09:33:44 2010	(r212960)
+++ head/crypto/openssl/crypto/rc5/rc5_locl.h	Tue Sep 21 10:22:29 2010	(r212961)
@@ -154,14 +154,14 @@
 #  define ROTATE_l32(a,n)	({ register unsigned int ret;	\
 					asm ("roll %%cl,%0"	\
 						: "=r"(ret)	\
-						: "c"(n),"0"(a)	\
+						: "c"(n),"0"((unsigned int)(a))	\
 						: "cc");	\
 					ret;			\
 				})
 #  define ROTATE_r32(a,n)	({ register unsigned int ret;	\
 					asm ("rorl %%cl,%0"	\
 						: "=r"(ret)	\
-						: "c"(n),"0"(a)	\
+						: "c"(n),"0"((unsigned int)(a))	\
 						: "cc");	\
 					ret;			\
 				})


More information about the svn-src-head mailing list