[Top][All Lists]
[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug binutils/11237] New: readelf misaligned register values in eh_frame listing,
lat at cern dot ch <=