From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24615 invoked by alias); 7 Feb 2007 21:45:08 -0000 Received: (qmail 23227 invoked by uid 48); 7 Feb 2007 21:44:48 -0000 Date: Wed, 07 Feb 2007 21:45:00 -0000 From: "kgallowa at redhat dot com" To: frysk-bugzilla@sourceware.org Message-ID: <20070207214447.3999.kgallowa@redhat.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug general/3999] New: On x86_64 Frysk uses the x86_64 version of libunwind to trace 32-bit programs X-Bugzilla-Reason: AssignedTo Mailing-List: contact frysk-bugzilla-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: frysk-bugzilla-owner@sourceware.org X-SW-Source: 2007-q1/txt/msg00308.txt.bz2 List-Id: 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.