Hello Andy, and thank you for your reply. On Tuesday, April 22, 2008 at 16:05:44 +0200, Andy Polyakov wrote:
> Could you collect disassembler output for offending code? I.e. run > 'gdb test/sha512t core' (or rather util/shlib_wrap.sh gdb test/sha512t > as you have build for shared), run 'where', note address, run > 'disassemble' and advance to just noted address. Submit *complete* > disassemble output from function start to offending instruction. Thank you for the step-by-step procedure, as I'm not familiar at all with gdb nor assembler. Disassembly of sha512_block_data_order() rebuilt non-shared -O3 comes attached as sha512_block_data_order.asm.gz. > Drop optimization level... -O3 and -O2 segfault. -O1 and -O0 do work and test passes. > Test attached patch. | $ test/sha512t | Testing SHA-512 ... passed. | Testing SHA-384 ... passed. Excellent! Your patch works at any optimization level. Much thanks to you, Andy. Alain.
sha512_block_data_order.asm.gz
Description: application/gunzip
