X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=crypto%2Fmd32_common.h;h=1a404a458d1c8d3f973973f83ad0035ab050d9f9;hb=4a26329b4c105a2fa0f10de3ecf644e0d082b056;hp=a5b838442b398eb32ac7b901736fe50c850844de;hpb=1eab9a1fbb6bcc3c616881da00c68bb2ef61589b;p=openssl.git diff --git a/crypto/md32_common.h b/crypto/md32_common.h index a5b838442b..1a404a458d 100644 --- a/crypto/md32_common.h +++ b/crypto/md32_common.h @@ -190,7 +190,7 @@ # else # define ROTATE(a,n) __rol(a,n) # endif -# elif defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) +# elif defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) && !defined(NO_INLINE_ASM) /* * Some GNU C inline assembler templates. Note that these are * rotates by *constant* number of bits! But that's exactly @@ -200,16 +200,16 @@ */ # if defined(__i386) # define ROTATE(a,n) ({ register unsigned int ret; \ - asm volatile ( \ + asm ( \ "roll %1,%0" \ : "=r"(ret) \ : "I"(n), "0"(a) \ : "cc"); \ ret; \ }) -# elif defined(__powerpc) +# elif defined(__powerpc) || defined(__ppc) # define ROTATE(a,n) ({ register unsigned int ret; \ - asm volatile ( \ + asm ( \ "rlwinm %0,%1,%2,0,31" \ : "=r"(ret) \ : "r"(a), "I"(n)); \ @@ -222,18 +222,18 @@ * Engage compiler specific "fetch in reverse byte order" * intrinsic function if available. */ -# if defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) +# if defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) && !defined(NO_INLINE_ASM) /* some GNU C inline assembler templates by */ # if defined(__i386) && !defined(I386_ONLY) # define BE_FETCH32(a) ({ register unsigned int l=(a);\ - asm volatile ( \ + asm ( \ "bswapl %0" \ : "=r"(l) : "0"(l)); \ l; \ }) # elif defined(__powerpc) # define LE_FETCH32(a) ({ register unsigned int l; \ - asm volatile ( \ + asm ( \ "lwbrx %0,0,%1" \ : "=r"(l) \ : "r"(a)); \ @@ -242,7 +242,7 @@ # elif defined(__sparc) && defined(ULTRASPARC) # define LE_FETCH32(a) ({ register unsigned int l; \ - asm volatile ( \ + asm ( \ "lda [%1]#ASI_PRIMARY_LITTLE,%0"\ : "=r"(l) \ : "r"(a)); \ @@ -410,8 +410,9 @@ * Time for some action:-) */ -void HASH_UPDATE (HASH_CTX *c, const unsigned char *data, unsigned long len) +void HASH_UPDATE (HASH_CTX *c, const void *data_, unsigned long len) { + const unsigned char *data=data_; register HASH_LONG * p; register unsigned long l; int sw,sc,ew,ec;