Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 28 Aug 2008 05:48:26 +0400
From: Solar Designer <>
Subject: Re: HMAC-MD5 SSE2 fails under Cygwin

On Tue, Aug 26, 2008 at 07:34:10PM -0400, Random Intentions wrote:
> I think I've found an issue with a piece of the latest jumbo
> patch that was posted, though I'm not sure how to fix it.  Basically,
> I'm doing a compilation under win32/cygwin of with the jumbo
> patch applied.  Everything compiles clean, but if I use 'make
> win32-cygwin-x86-sse2' to do the build, then run a 'john --test' it
> fails here:
> Benchmarking: HMAC MD5 SSE2 [hmac-md5 SSE2]...   18682 [main] john 2540 _cygtls:
> :handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
> Now, the same patched tree compiles and runs fine with SSE2 under
> linux, and if I use the MMX make option under cygwin, it works fine as
> well.  So, it seems like something isn't happy with the SSE2 options?

It is possible that Cygwin does not guarantee the proper 16-byte
alignment for variables declared with gcc's "__attribute__
((aligned(16)))" in hmacMD5_fmt.c.  Are you getting compiler warnings
about that?

If so, I don't think either I or Simon (the author of that code) are
going to fix it for Cygwin, such as by moving those variable
declarations to an assembly source file, especially given that the same
problem is present in many other C source files introduced with the
jumbo patch when compiling for MMX/SSE2 targets.  We just don't care
about portability of the jumbo patch that much, at least not right now,
especially given that anyone who runs into this problem can use a
non-SSE2 target (slower code) to get around the problem.

That said, I appreciate your reporting the problem.  It is useful to
know just how (not) portable the jumbo patch is.  Also, it is possible
that my guess above is wrong and the problem is in fact completely
different (could as well be a bug in the code).


To unsubscribe, e-mail 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.