From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15217 invoked by alias); 11 Mar 2011 21:02:34 -0000 Received: (qmail 15209 invoked by uid 22791); 11 Mar 2011 21:02:33 -0000 X-SWARE-Spam-Status: No, hits=-51.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 11 Mar 2011 21:02:30 +0000 From: "dsmith at redhat dot com" To: systemtap@sourceware.org Subject: [Bug runtime/12566] usymbols.exp 64-bit test failing on ppc64 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: runtime X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dsmith at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Fri, 11 Mar 2011 21:02:00 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2011-q1/txt/msg00345.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=12566 --- Comment #1 from David Smith 2011-03-11 21:02:13 UTC --- Here's some additional information. In the 32-bit case (which works): # eu-readelf -s usymbols-m32 | fgrep main_handler 62: 1000059c 4 FUNC GLOBAL DEFAULT 12 main_handler # fgrep main_handler /tmp/stapVlnORz/stap-symbols.h { 0x1000059c, "main_handler" }, The above is good, stap's value of the symbol matches up with eu-readelf's value. When run under gdb, (gdb) p &main_handler $2 = (void (*)(int)) 0x1000059c That's good, gdb's idea of the symbol value also matches. # fgrep /usymbols-m32 /proc/9161/maps 10000000-10010000 r-xp 00000000 fd:00 2239275 /root/ppc64/testsuite/usymbols-m32 10010000-10020000 rw-p 00000000 fd:00 2239275 /root/ppc64/testsuite/usymbols-m32 That's good, 0x1000059c exists within that first executable vma. In the 64-bit case (which fails): # eu-readelf -s usymbols-m64 | fgrep main_handler 63: 0000000010010c48 16 FUNC GLOBAL DEFAULT 22 main_handler # fgrep main_handler /tmp/stapImPRwN/stap-symbols.h { 0x10010c48, "main_handler" }, That's good, the eu-readelf and stap values match. When run under gb, (gdb) p &main_handler $1 = (void (*)(int)) 0x10000700 That's bad - when run, somehow the address has changed. # fgrep /usymbols-m64 /proc/9183/maps 10000000-10010000 r-xp 00000000 fd:00 2239236 /root/ppc64/testsuite/usymbols-m64 10010000-10020000 rw-p 00000000 fd:00 2239236 /root/ppc64/testsuite/usymbols-m64 The 0x10010c48 address exists within that 2nd non-executable vma (the code in vma.c only looks at executable vmas), which is why the symbol lookup code fails. The gdb address (0x10000700) does exist within the 1st executable vma. Perhaps there is some relocation going on that systemtap needs to know about. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.