This is the mail archive of the
frysk-bugzilla@sourceware.org
mailing list for the frysk project.
[Bug general/3999] New: On x86_64 Frysk uses the x86_64 version of libunwind to trace 32-bit programs
- From: "kgallowa at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: frysk-bugzilla at sourceware dot org
- Date: 7 Feb 2007 21:44:48 -0000
- Subject: [Bug general/3999] New: On x86_64 Frysk uses the x86_64 version of libunwind to trace 32-bit programs
- Reply-to: sourceware-bugzilla at sourceware dot org
Because the x86 and x86_64 versions of libunwind use different sets of registers
for these architectures, the wrong values are passed to the accessreg callback.
For example, when looking for the IP (RIP on 64, EIP on 32) it will still pass
16 to accessreg which corresponds to RIP on 64, but ST5 on 32. For 32, since it
wants the IP, it should be passing 8, which corresponds to EIP. Because of
this, it does not obtain the correct value for the IP, and the backtrace fails.
To fix this, Frysk needs to check the elfclass of the binary and invoke the
proper version of libunwund (libunwund-x86 for 32, libuwind-x86_64 for 64).
--
Summary: On x86_64 Frysk uses the x86_64 version of libunwind to
trace 32-bit programs
Product: frysk
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: general
AssignedTo: frysk-bugzilla at sourceware dot org
ReportedBy: kgallowa at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=3999
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.