Re: What is 'mov (%r11,%rax,1),%dl'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 2, 2016 at 11:01 AM, Segher Boessenkool
<segher@xxxxxxxxxxxxxxxxxxx> 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.
>
It looks like a small issue with GCC 5.2 and -Os. The function that's
being called has the signature
(http://www.cryptopp.com/docs/ref/misc_8cpp_source.html#l00060):

    xorbuf(byte* out, const byte* in, const byte* mask, size_t len);

When I examine frame 0 at the crash site, it looks like 'in' and 'len'
are the same value (but 'len' is only 120 bytes in the frame above).

I did not spot it sooner because GDB seems to ignore 'set output-radix 16'.

Jeff



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux