Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 12 Aug 2015 00:29:09 +0800
From: Lei Zhang <>
Subject: Re: JtR on ARM (NEON)

> On Aug 11, 2015, at 9:10 PM, Solar Designer <> wrote:
> On Tue, Aug 11, 2015 at 12:31:01PM +0800, Lei Zhang wrote:
>> Well, I finally got this issue resolved, by using a newer compiler. 
> [...]
>> I'm really not sure if it's some bug in gcc 4.6 for ARM, or it's some undefined behavior in JtR that happened to work with the newer gcc.
> Can you please try building with old gcc and its usual optimization
> options, but adding -fno-strict-aliasing?

Unfortunately, this doesn't help. BTW, low optimization level to -O0 doesn't help either.

In addition to trying your suggestion, I also experimented a bit further with this issue, and found a few curious facts.

I need to clarify one thing first. In my previous message, I stated that using 2-instruction emulation for vroti caused some compile error. In fact, I only experimented with vroti_epi32 that time. This time I also experimented with vroti_epi64, and accidentally find something even stranger.

Here are the facts observed so far:

- With gcc 4.6.3, using 2-instruction emulation for vroti_epi32 triggers some compile error, while the 3-intruction emulation causes no problem. (this is observed before)

- With gcc 4.6.3, using 3-instruction emulation for vroti_epi64 makes pbkdf2-hmac-sha512 fail, while the 2-instruction emulation works correctly. (this is newly and accidentally found)

- The two issues listed above are both non-existent when using gcc 4.7.3.

A guy on internet also ran into some nasty bug in the same compiler (gcc 4.6.3 for ARM), though the bug is probably not the one I met.

Now I'm more willing to believe this is some compiler bug...


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.