summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2008-12-15 21:00:17 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2008-12-15 21:00:17 +0000
commit93649aefe831d388def757b1a4af59fd914a86b4 (patch)
tree851d12a17c19eccd6a8a2aed4d9ecc6faa7df28c /dev-libs/libmcrypt/files
parentStable on alpha, bug #250928 (diff)
downloadgentoo-2-93649aefe831d388def757b1a4af59fd914a86b4.tar.gz
gentoo-2-93649aefe831d388def757b1a4af59fd914a86b4.tar.bz2
gentoo-2-93649aefe831d388def757b1a4af59fd914a86b4.zip
Bug #132356 - fix rotations that bit alpha. In ~arch for mass testing to avoid breakage issues.
(Portage version: 2.2_rc17/cvs/Linux 2.6.28-rc5-00117-g7f0f598 x86_64)
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..ca31df4b2719
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch
@@ -0,0 +1,18 @@
+--- 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
+--- lib/mcrypt_modules.h.orig 2008-12-13 15:33:06.000000000 -0500
++++ 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