summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Joerg Hoexer <hshoexer@cvs.openbsd.org>2004-03-22 14:57:04 +0000
committerHans-Joerg Hoexer <hshoexer@cvs.openbsd.org>2004-03-22 14:57:04 +0000
commitf34a04e444a1b4071c89c4696305957a0be653cd (patch)
tree98d5b550c4648236895365c1ef8463583070d878
parentcb31bc75619a7dc976bec5559db8b757d17161dd (diff)
Unbreak rmd160. Was broken on sparc64 when compiled with gcc3. Fix and report
by Simon Kellner. XXX This is only a temporary work-around and we still need a REAL fix for XXX this issue. Testing on different archs by marc@ tdvall@ millert@ otto@ ho@ miod@ hshoexer@ ok deraadt@
-rw-r--r--lib/libssl/src/crypto/ripemd/rmd_dgst.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libssl/src/crypto/ripemd/rmd_dgst.c b/lib/libssl/src/crypto/ripemd/rmd_dgst.c
index f351f00eea0..28896512e7c 100644
--- a/lib/libssl/src/crypto/ripemd/rmd_dgst.c
+++ b/lib/libssl/src/crypto/ripemd/rmd_dgst.c
@@ -90,7 +90,7 @@ int RIPEMD160_Init(RIPEMD160_CTX *c)
void ripemd160_block_host_order (RIPEMD160_CTX *ctx, const void *p, int num)
{
const RIPEMD160_LONG *XX=p;
- register unsigned MD32_REG_T A,B,C,D,E;
+ register volatile unsigned MD32_REG_T A,B,C,D,E;
register unsigned MD32_REG_T a,b,c,d,e;
for (;num--;XX+=HASH_LBLOCK)
@@ -290,7 +290,7 @@ void ripemd160_block_host_order (RIPEMD160_CTX *ctx, const void *p, int num)
void ripemd160_block_data_order (RIPEMD160_CTX *ctx, const void *p, int num)
{
const unsigned char *data=p;
- register unsigned MD32_REG_T A,B,C,D,E;
+ register volatile unsigned MD32_REG_T A,B,C,D,E;
unsigned MD32_REG_T a,b,c,d,e,l;
#ifndef MD32_XARRAY
/* See comment in crypto/sha/sha_locl.h for details. */