| Index: openssl/crypto/md32_common.h
|
| ===================================================================
|
| --- openssl/crypto/md32_common.h (revision 105093)
|
| +++ openssl/crypto/md32_common.h (working copy)
|
| @@ -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 @@
|
| * 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 @@
|
| 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 @@
|
| }
|
|
|
| #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 @@
|
| * 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
|
|
|