Bug#619856: Test suite failure on armel arch

2011-04-25 Thread Wei Dai

I got access and have debugged the problem. Thanks for your help!

I've checked in the fix to Crypto++ SVN as r526, and have also attached the 
patch for you to apply directly. (The change to GNUMakefile is unrelated to 
this bug. I just noticed that the makefile was broken while trying to 
compile r525 on armel.)


-Original Message- 
From: Jens Peter Secher

Sent: Saturday, April 23, 2011 5:45 AM
To: Wei Dai
Cc: 619...@bugs.debian.org
Subject: Re: Bug#619856: Test suite failure on armel arch

Hi Wei Dai, have gotten access to the armel machines?

Cheers,
/JP 

Index: panama.cpp
===
--- panama.cpp  (revision 522)
+++ panama.cpp  (working copy)
@@ -313,7 +313,7 @@
#ifndef CRYPTOPP_GENERATE_X64_MASM

template class B
-void PanamaB::Iterate(size_t count, const word32 *p, word32 *z, const
word32 *y)
+void PanamaB::Iterate(size_t count, const word32 *p, byte *output, const
byte *input, KeystreamOperation operation)
{
word32 bstart = m_state[17];
word32 *const aPtr = m_state;
@@ -329,9 +329,6 @@
// b: 0 4 | 1 5 | 2 6 | 3 7
#define b(i, j) b##i[(j)*2%8 + (j)/4]

-// output
-#define OA(i) z[i] = ConditionalByteReverse(B::ToEnum(), a(i+9))
-#define OX(i) z[i] = y[i] ^ ConditionalByteReverse(B::ToEnum(), a(i+9))
// buffer update
#define US(i) {word32 t=b(0,i); b(0,i)=ConditionalByteReverse(B::ToEnum(),
p[i])^t; b(25,(i+6)%8)^=t;}
#define UL(i) {word32 t=b(0,i); b(0,i)=a(i+1)^t; b(25,(i+6)%8)^=t;}
@@ -345,18 +342,20 @@

while (count--)
{
-   if (z)
+   if (output)
{
-   if (y)
-   {
-   OX(0); OX(1); OX(2); OX(3); OX(4); OX(5); 
OX(6); OX(7);
-   y += 8;
-   }
-   else
-   {
-   OA(0); OA(1); OA(2); OA(3); OA(4); OA(5); 
OA(6); OA(7);
-   }
-   z += 8;
+#define PANAMA_OUTPUT(x)   \
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 0, a(0+9));\
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 1, a(1+9));\
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 2, a(2+9));\
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 3, a(3+9));\
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 4, a(4+9));\
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 5, a(5+9));\
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 6, a(6+9));\
+   CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 7, a(7+9));
+
+   typedef word32 WordType;
+   CRYPTOPP_KEYSTREAM_OUTPUT_SWITCH(PANAMA_OUTPUT, 4*8);
}

word32 *const b16 = (word32 *)(bPtr+((bstart+16*32)  31*32));
@@ -429,7 +428,7 @@
this-Iterate(32);   // pull

FixedSizeSecBlockword32, 8 buf;
-   this-Iterate(1, NULL, buf, NULL);
+   this-Iterate(1, NULL, buf.BytePtr(), NULL);

memcpy(hash, buf, size);

@@ -491,7 +490,7 @@
Panama_SSE2_Pull(iterationCount, this-m_state, (word32 
*)output,
(const word32 *)input);
else
#endif
-   this-Iterate(iterationCount, NULL, (word32 *)output, (const 
word32
*)input);
+   this-Iterate(iterationCount, NULL, output, input, operation);
}

template class PanamaBigEndian;
Index: GNUmakefile
===
--- GNUmakefile (revision 524)
+++ GNUmakefile (working copy)
@@ -12,6 +12,7 @@
EGREP = egrep
UNAME = $(shell uname)
ISX86 = $(shell uname -m | $(EGREP) -c i.86|x86|i86|amd64)
+IS_SUN_CC = $(shell $(CXX) -V 21 | $(EGREP) -c CC: Sun)

# Default prefix for make install
ifeq ($(PREFIX),)
@@ -27,7 +28,6 @@
GCC42_OR_LATER = $(shell $(CXX) -v 21 | $(EGREP) -c ^gcc version
(4.[2-9]|[5-9]))
INTEL_COMPILER = $(shell $(CXX) --version 21 | $(EGREP) -c \(ICC\))
ICC111_OR_LATER = $(shell $(CXX) --version 21 | $(EGREP) -c \(ICC\)
([2-9][0-9]|1[2-9]|11\.[1-9]))
-IS_SUN_CC = $(shell $(CXX) -V 21 | $(EGREP) -c CC: Sun)
GAS210_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 21 |
$(EGREP) -c GNU assembler version (2\.[1-9][0-9]|[3-9]))
GAS217_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 21 |
$(EGREP) -c GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9]))
GAS219_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 21 |
$(EGREP) -c GNU assembler version (2\.19|2\.[2-9]|[3-9]))
Index: panama.h
===
--- panama.h(revision 520)
+++ panama.h(working copy)
@@ -12,7 +12,7 @@
{
public:
void Reset();
-   void Iterate(size_t count, const word32 *p=NULL, word32 *z=NULL, const
word32 *y=NULL);
+   void Iterate(size_t count, const word32 *p=NULL, byte *output=NULL, 
const
byte *input=NULL, KeystreamOperation operation=WRITE_KEYSTREAM);

protected:
typedef word32 Stage

Bug#619856: Test suite failure on armel arch

2011-04-23 Thread Jens Peter Secher
Hi Wei Dai, have gotten access to the armel machines?

Cheers,
/JP



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#619856: Test suite failure on armel arch

2011-04-21 Thread Mehdi Dogguy
On  0, Jens Peter Secher j...@debian.org wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Wei Dai, can I get you to sign and send me an RSA SSH key?  Then it
 should be possible for me to sponsor [1] an account for you on an armel
 machine [2].
 

any news here?

Regards,

-- 
Mehdi Dogguy



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org