summaryrefslogtreecommitdiff
path: root/dev-libs/libmcrypt/files
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libmcrypt/files')
-rw-r--r--dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch
new file mode 100644
index 000000000000..568caa463862
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch
@@ -0,0 +1,18 @@
+--- a/KNOWN-BUGS 2008-12-13 15:31:49.000000000 -0500
++++ /dev/null 2008-12-13 02:05:21.751517562 -0500
+@@ -1 +0,0 @@
+-- cast-256 and rc6 do not work properly on Alpha (64 bit) machines
+--- a/lib/mcrypt_modules.h.orig 2008-12-13 15:33:06.000000000 -0500
++++ b/lib/mcrypt_modules.h 2008-12-13 15:25:01.000000000 -0500
+@@ -1,7 +1,7 @@
+-#define rotl32(x,n) (((x) << ((word32)(n))) | ((x) >> (32 - (word32)(n))))
+-#define rotr32(x,n) (((x) >> ((word32)(n))) | ((x) << (32 - (word32)(n))))
+-#define rotl16(x,n) (((x) << ((word16)(n))) | ((x) >> (16 - (word16)(n))))
+-#define rotr16(x,n) (((x) >> ((word16)(n))) | ((x) << (16 - (word16)(n))))
++#define rotl32(x,n) (((x) << ((word32)(n & 31))) | ((x) >> (32 - (word32)(n & 31))))
++#define rotr32(x,n) (((x) >> ((word32)(n & 31))) | ((x) << (32 - (word32)(n & 31))))
++#define rotl16(x,n) (((x) << ((word16)(n & 15))) | ((x) >> (16 - (word16)(n & 15))))
++#define rotr16(x,n) (((x) >> ((word16)(n & 15))) | ((x) << (16 - (word16)(n & 15))))
+
+ /* Use hardware rotations.. when available */
+ #ifdef swap32