On Sat, Jan 2, 2016 at 11:35 AM, Jeff Law <law@xxxxxxxxxx> wrote: > On 01/02/2016 09:01 AM, Segher Boessenkool wrote: >> >> On Sat, Jan 02, 2016 at 10:01:26AM -0500, Jeffrey Walton wrote: >>> >>> 0x000000010048d87b <+174>: xor %eax,%eax >>> => 0x000000010048d87d <+176>: mov (%r11,%rax,1),%dl >>> >>> (gdb) info registers >>> rax 0x9b7a 0x9b7a >> >> >> Why is AX not 0 here? That seems wrong. > > Maybe there's an instruction somewhere that jumps to the mov instruction. > So %eax would be zero somtimes and some other value other times. > EAX is cleared, but not RAX. As a matter of fact RAX appears to be non-0 (but I'm not sure if the high 32-bits are 0). Also see http://github.com/weidai11/cryptopp/issues/100 . Jeff