This is the mail archive of the frysk-bugzilla@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug general/3999] New: On x86_64 Frysk uses the x86_64 version of libunwind to trace 32-bit programs


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]