Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 31 Jul 2013 06:25:19 +0400
From: Solar Designer <>
Subject: Re: Parallella: bcrypt


On Wed, Jul 31, 2013 at 06:19:08AM +0400, Solar Designer wrote:
> It looks like your code terminates abruptly, with no return from the
> function.  I am surprised it works at all.  Does it possibly hit another
> function body, execute that, and then return using its epilogue? %-)

This appears to have been the case.  Here's what the code looks like
after I added the missing "rts" to my copy:

    28a0:       946c 6503       ldrd r28,[sp,-0x18]
    28a4:       d56c 6503       ldrd r30,[sp,-0x1a]
    28a8:       194f 0402       rts

000028ac <_e_get_coreid>:
    28ac:       051f 0032       movfs r0,coreid
    28b0:       194f 0402       rts

So it looks like without a proper "rts" after _BF_encrypt2, it was
nevertheless returning via the tiny _e_get_coreid function.

Indeed, the speed has not measurably changed with my addition of proper
"rts" (I am getting 1194 c/s).


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.