diff options
author | Hans-Joerg Hoexer <hshoexer@cvs.openbsd.org> | 2004-03-22 14:57:04 +0000 |
---|---|---|
committer | Hans-Joerg Hoexer <hshoexer@cvs.openbsd.org> | 2004-03-22 14:57:04 +0000 |
commit | f34a04e444a1b4071c89c4696305957a0be653cd (patch) | |
tree | 98d5b550c4648236895365c1ef8463583070d878 | |
parent | cb31bc75619a7dc976bec5559db8b757d17161dd (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.c | 4 |
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. */ |