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

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

 



On 02/01/16 23:28, Jeffrey Walton wrote:
> 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).

That shouldn't matter.  In heavily-optimized code GDB can lose track
when there is partial debug information.  AX is not zero there because
of a branch from somewhere else.  We have only a tiny little bit of
information.

Andrew.




[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