[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 30 Aug 2008 06:50:23 +0400
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: HMAC-MD5 SSE2 fails under Cygwin
On Thu, Aug 28, 2008 at 03:42:26PM -0400, Random Intentions wrote:
> Solar - the compilation does produce warnings as follows:
>
> MD5_std.c:27: warning: alignment of 'MD5_std_all' is greater than
> maximum object file alignment. Using 16
...
Well, 16-byte alignment is sufficient for the SSE2 code to work, and in
fact hmacMD5_fmt.c does not even try to request anything larger than 16.
However, I am unsure whether the linker actually guarantees 16-byte
alignment for sections or not. With older versions of Cygwin, it did
not even guarantee 8-byte alignment, which was/is needed for optimal
performance with the MMX code, and ALIGN_FIX in some *.S files is a
workaround for that (to be manually enabled on "unlucky" builds).
I don't know if Cygwin has since been fixed, and to what extent.
To test the "alignment theory", please add the following line:
fprintf(stderr, "opad @ %p\n", opad);
into hmacmd5_init(). What does it print? If the number (address) ends
in a "0", we're fine (and the problem is likely different). However, I
suspect that on your non-working build it'd end in "8" (or maybe even in
"4" or "c").
Alexander
P.S. Please avoid over-quoting. Specifically, please make sure you
don't quote the mailing list manager's automated unsubscribe notice, as
well as another person's signature. Although I have tolerated
over-quoting in some recent messages, which I approved, I am starting to
reject this kind of messages again. I have already rejected another
message by Random Intentions for that reason.
--
To unsubscribe, e-mail john-users-unsubscribe@...ts.openwall.com and reply
to the automated confirmation request that will be sent to you.
Powered by blists - more mailing lists
Powered by Openwall GNU/*/Linux -
Powered by OpenVZ