SPARCv9 assembler pack: refine CPU detection on Linux, fix for "unaligned
[oweals/openssl.git] / crypto / sha / sha512.c
index 832cae24f186bb9f6b66bd24fdff54f6612fb4c9..cbc0e58c48865a4318daeae1c35a2121d501e418 100644 (file)
@@ -240,7 +240,7 @@ int SHA512_Update (SHA512_CTX *c, const void *_data, size_t len)
 
                if (len < n)
                        {
-                       memcpy (p+c->num,data,len), c->num += len;
+                       memcpy (p+c->num,data,len), c->num += (unsigned int)len;
                        return 1;
                        }
                else    {
@@ -380,7 +380,7 @@ static const SHA_LONG64 K512[80] = {
                                ((SHA_LONG64)hi)<<32|lo;        })
 #   endif
 #  elif (defined(_ARCH_PPC) && defined(__64BIT__)) || defined(_ARCH_PPC64)
-#   define ROTR(a,n)   ({ unsigned long ret;           \
+#   define ROTR(a,n)   ({ SHA_LONG64 ret;              \
                                asm ("rotrdi %0,%1,%2"  \
                                : "=r"(ret)             \
                                : "r"(a),"K"(n)); ret;  })