summaryrefslogtreecommitdiffstats
path: root/crypto/sha/sha512.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2009-11-15 17:19:49 +0000
committerAndy Polyakov <appro@openssl.org>2009-11-15 17:19:49 +0000
commit53f73afc4d15830a7ab0b01405f9ab23a411b0bb (patch)
treeae08a4d06e3ed3f0211a8b8272ac1001f2e00cc8 /crypto/sha/sha512.c
parent10232bdc0e28b5417051942fe57fa14d17e104a6 (diff)
sha512.c: there apparently is ILP32 PowerPC platform, where it is safe to
inline 64-bit assembler instructions. Normally it's inappropriate, because signalling doesn't preserve upper halves of general purpose registers. Meaning that it's only safe if signals are blocked for the time "wide" code executes. PR: 1998
Diffstat (limited to 'crypto/sha/sha512.c')
-rw-r--r--crypto/sha/sha512.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/sha/sha512.c b/crypto/sha/sha512.c
index d1aa7614b2..cbc0e58c48 100644
--- a/crypto/sha/sha512.c
+++ b/crypto/sha/sha512.c
@@ -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; })