diff options
author | rpaulo <rpaulo@FreeBSD.org> | 2010-09-21 10:22:29 +0000 |
---|---|---|
committer | rpaulo <rpaulo@FreeBSD.org> | 2010-09-21 10:22:29 +0000 |
commit | 619042c66828607943b3c5c67d134062a5c6759d (patch) | |
tree | 3efb04e2bbc0d1961bd7d8e66155632d30b61071 /crypto/openssl | |
parent | 01c450f31884971139cdabbe265790a0dbefdf46 (diff) | |
download | FreeBSD-src-619042c66828607943b3c5c67d134062a5c6759d.zip FreeBSD-src-619042c66828607943b3c5c67d134062a5c6759d.tar.gz |
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
Diffstat (limited to 'crypto/openssl')
-rw-r--r-- | crypto/openssl/crypto/md32_common.h | 15 | ||||
-rw-r--r-- | crypto/openssl/crypto/rc5/rc5_locl.h | 4 |
2 files changed, 13 insertions, 6 deletions
diff --git a/crypto/openssl/crypto/md32_common.h b/crypto/openssl/crypto/md32_common.h index 606aea6..904bf70 100644 --- a/crypto/openssl/crypto/md32_common.h +++ b/crypto/openssl/crypto/md32_common.h @@ -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_CTX *c) } #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_CTX *c) * Well, to be honest it should say that this *prevents* * performance degradation. * <appro@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@fy.chalmers.se> */ +#define MD32_REG_T int +#endif #endif diff --git a/crypto/openssl/crypto/rc5/rc5_locl.h b/crypto/openssl/crypto/rc5/rc5_locl.h index 282dd38..d337f73 100644 --- a/crypto/openssl/crypto/rc5/rc5_locl.h +++ b/crypto/openssl/crypto/rc5/rc5_locl.h @@ -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; \ }) |