Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 29 Oct 2013 18:14:44 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Compile john in Windows 64 bits

On 2013-10-28 19:51, magnum wrote:
> On 2013-10-28 19:37, Solar Designer wrote:
>> magnum, Dhiru -
>>
>> On Mon, Oct 28, 2013 at 07:27:00PM +0100, magnum wrote:
>>> On 2013-10-27 22:50, magnum wrote:
>>>> I added ALIGN_FIX support in x86-64.S for Dhiru to try out (he has
>>>> added
>>>> a mingw64 target now and NT crashes).
>>>
>>> For the record, ALIGN_FIX did not solve the assembler crashes at all
>>> (and it would be weird for mingw to have such a silly bug nowadays).
>>>
>>> Until we figure this out, a workaround for NT is to use the NT2 format,
>>> which use the intrinsics instead of assembler. And here's a workaround
>>> for DES (just forces it to use C code).
>>
>> Ouch.
>>
>> Did you set ARCH_WORD to "long long", to make sure it's 64-bit?  I think
>> Win64 has 32-bit long.
>
> We did. Only DES & NT assembler seems to be problematic now. I'm hoping
> Dhiru can produce core dumps for me.

Nailed it. It turned out to be much worse than alignment and in 
hindsight it is obvious: Microsoft uses their own ABI, different from 
what anyone else uses.

I think I have solved most of it (waiting for Dhiru to test, I'm just 
dry running). It might be that some invocation of EPILOGUE should be 
removed from the DES stuff - please review.

magnum



View attachment "win64-ABI-fixes.patch" of type "text/plain" (4068 bytes)

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.