diff options
author | jkim <jkim@FreeBSD.org> | 2012-07-11 23:31:36 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2012-07-11 23:31:36 +0000 |
commit | 532b4084cb8cac5e6d91d42aa6a497dd4ba4a4f5 (patch) | |
tree | 0c30591ac90cb5e07a0763793709fd1056b67f57 /crypto/md32_common.h | |
parent | 1554498e64df093a519f9074c3412047f398aa17 (diff) | |
download | FreeBSD-src-532b4084cb8cac5e6d91d42aa6a497dd4ba4a4f5.zip FreeBSD-src-532b4084cb8cac5e6d91d42aa6a497dd4ba4a4f5.tar.gz |
Import OpenSSL 1.0.1c.
Approved by: benl (maintainer)
Diffstat (limited to 'crypto/md32_common.h')
-rw-r--r-- | crypto/md32_common.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/crypto/md32_common.h b/crypto/md32_common.h index e0deb78..bb73819 100644 --- a/crypto/md32_common.h +++ b/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; \ }) @@ -293,7 +293,7 @@ int HASH_UPDATE (HASH_CTX *c, const void *data_, size_t len) * Wei Dai <weidai@eskimo.com> for pointing it out. */ if (l < c->Nl) /* overflow */ c->Nh++; - c->Nh+=(len>>29); /* might cause compiler warning on 16-bit */ + c->Nh+=(HASH_LONG)(len>>29); /* might cause compiler warning on 16-bit */ c->Nl=l; n = c->num; @@ -331,7 +331,7 @@ int HASH_UPDATE (HASH_CTX *c, const void *data_, size_t len) if (len != 0) { p = (unsigned char *)c->data; - c->num = len; + c->num = (unsigned int)len; memcpy (p,data,len); } return 1; @@ -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 |