Follow @Openwall on Twitter for new release announcements and other news
[<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

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.