bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/11237] New: readelf misaligned register values in eh_frame


From: lat at cern dot ch
Subject: [Bug binutils/11237] New: readelf misaligned register values in eh_frame listing
Date: 29 Jan 2010 23:03:15 -0000

For some functions "readelf -WwfF /lib64/*.so" produces output which seems to 
omits some register 
values and shifts later registers' values to left. Effectively this means that 
in particular the value for "ra" 
on x86-64 appears under various other columns, making the output harder to 
decipher.

I *think* the missing column values should actually be "u", but I am not 
positive - it seems to occur for 
example when the code begins to restore registers from their saved locations on 
stack.

Here is an example (memcpy), the c-8 values are all for ra but appear under 
various columns. The first 
misaligned row is 81efb. It seems actual omitted column was rbx, i.e. third, 
and rest of the columns 
moved left.

0000cdd8 0000003c 0000cddc FDE cie=00000000 pc=00081bd0..00082022
   LOC           CFA      rbx   r12   r13   r14   ra      
0000000000081bd0 rsp+8    u     u     u     u     c-8   
0000000000081d64 rsp+8    u     u     u     c-16  c-8   
0000000000081d69 rsp+8    u     u     c-24  c-16  c-8   
0000000000081d6e rsp+8    u     c-32  c-24  c-16  c-8   
0000000000081d73 rsp+8    c-40  c-32  c-24  c-16  c-8   
0000000000081efb rsp+8    c-32  c-24  c-16  c-8   
0000000000081f00 rsp+8    c-24  c-16  c-8   
0000000000081f05 rsp+8    c-16  c-8   
0000000000081f0a rsp+8    c-8   
0000000000081f42 rsp+8    c-16  c-8   
0000000000081f47 rsp+8    c-24  c-16  c-8   
0000000000081f4c rsp+8    c-32  c-24  c-16  c-8   
000000000008200b rsp+8    c-24  c-16  c-8   
0000000000082010 rsp+8    c-16  c-8   
0000000000082015 rsp+8    c-8   

Corresponding assembly:

0x0000000000081ef0 <mempcpy+800>:       jne    0x81e40 <mempcpy+624>
0x0000000000081ef6 <mempcpy+806>:       mov    -0x20(%rsp),%rbx
0x0000000000081efb <mempcpy+811>:       mov    -0x18(%rsp),%r12
0x0000000000081f00 <mempcpy+816>:       mov    -0x10(%rsp),%r13
0x0000000000081f05 <mempcpy+821>:       mov    -0x8(%rsp),%r14
0x0000000000081f0a <mempcpy+826>:       sub    %r8,%rdx

This was on Ubuntu 9.10 desktop 64-bit, but I saw similar issues on an 
RHEL5-derived system.

-- 
           Summary: readelf misaligned register values in eh_frame listing
           Product: binutils
           Version: 2.20
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: lat at cern dot ch
                CC: bug-binutils at gnu dot org
  GCC host triplet: x86_64-linux-gnu


http://sourceware.org/bugzilla/show_bug.cgi?id=11237

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]