This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/11751] on s390x, externalvar.exp gets libdwfl failures
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 30 Jun 2010 14:19:56 -0000
- Subject: [Bug translator/11751] on s390x, externalvar.exp gets libdwfl failures
- References: <20100624180716.11751.dsmith@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From dsmith at redhat dot com 2010-06-30 14:19 -------
(In reply to comment #6)
> > > $ eu-readelf -s testsuite/libexternalvar.so | grep lib_call
> >
> > # eu-readelf -s testsuite/libexternalvar.so | grep lib_call
> > 48: 000000000000062c 18 FUNC LOCAL DEFAULT 10 lib_call
>
> thanks. so we "guessed" the address of the lib_call function wrongly. how odd. I
> assume ./loc2c-test -e testsuite/libexternalvar.so 0x62c libvar does spit out
> the location information for libvar?
# ./loc2c-test -e testsuite/libexternalvar.so 0x62c libvar
#define PROBEADDR 0x62cULL
static void print_value(struct pt_regs *regs)
{
intptr_t value;
{
uintptr_t addr;
{ // DWARF expression: 0x3(6768)
{
uintptr_t s0;
s0 = 0x1a70UL;
addr = s0;
}
}
{ int32_t value = deref (4, addr); value = value; }
}
/* max expression stack depth 1 */
printk (" ---> %ld\n", (unsigned long) value);
return;
deref_fault:
printk (" => BAD ACCESS\n");
}
> Could you run stap -vvvvv -p4 -e 'probe
> process("testsuite/libexternalvar.so").function("lib_call") { printf("libvar =
> %d\n", $libvar); }' to see how/what/where we get that 0x1a70 address in the
> first place?
# stap -vvvvv -p4 -e 'probe
process("testsuite/libexternalvar.so").function("lib_call") { printf("libvar =
%d\n", $libvar); }'
SystemTap translator/driver (version 1.2/0.141 non-git sources)
Copyright (C) 2005-2010 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Session arch: s390 release: 2.6.18-194.el5
Created temporary directory "/tmp/stapwJ00Va"
Parsed kernel "/lib/modules/2.6.18-194.el5/build/.config", number of tuples: 744
Parsed kernel "/lib/modules/2.6.18-194.el5/build/Module.symvers", number of
vmlinux exports: 2613
Searched "/usr/local/share/systemtap/tapset/s390/*.stp", found 3
Searched "/usr/local/share/systemtap/tapset/*.stp", found 68
Pass 1: parsed user script and 71 library script(s) using
29372virt/20904res/2628shr kb, in 190usr/10sys/204real ms.
dwarf_builder::build for /root/s390x/testsuite/libexternalvar.so
parsed 'lib_call', func 'lib_call'
pattern '/root/s390x/testsuite/libexternalvar.so' matches module
'/root/s390x/testsuite/libexternalvar.so'
focused on module '/root/s390x/testsuite/libexternalvar.so = [0x10000-0x11a78,
bias 0x0] file /root/s390x/testsuite/libexternalvar.so ELF machine s390| (code 22)
focused on module '/root/s390x/testsuite/libexternalvar.so'
module function cache /root/s390x/testsuite/libexternalvar.so size 2
module function cache /root/s390x/testsuite/libexternalvar.so hit lib_call
selected function lib_call
function cache
/root/s390x/testsuite/libexternalvar.so:/root/src/testsuite/systemtap.base/externalvar_lib.c
size 2
function cache
/root/s390x/testsuite/libexternalvar.so:/root/src/testsuite/systemtap.base/externalvar_lib.c
hit lib_call
selected function lib_call
prologue searching function 'lib_call'
0x62c-0x63e@/root/src/testsuite/systemtap.base/externalvar_lib.c:28
checking line record 0x62c@/root/src/testsuite/systemtap.base/externalvar_lib.c:28
checking line record 0x636@/root/src/testsuite/systemtap.base/externalvar_lib.c:30
prologue found function 'lib_call' = 0x636
probe lib_call@/root/src/testsuite/systemtap.base/externalvar_lib.c:28
process=/root/s390x/testsuite/libexternalvar.so reloc=.dynamic pc=0x636
entry-pc lookup (dwarf_entrypc dieoffset: 0x17c) = 0x62c (rc 0)
finding location for local 'libvar' near address 0x636, module bias 0x10000
get_cfa_ops @0x10636, module_start @0x10000
not found cfa
dwarf_builder releasing user dwflpp /root/s390x/testsuite/libexternalvar.so
Eliding side-effect-free singleton block operator '{' at <input>:1:67
Resolution problem with probe
process("/root/s390x/testsuite/libexternalvar.so").function("lib_call@/root/src/testsuite/systemtap.base/externalvar_lib.c:28")
printf("libvar = %d\\n", $libvar)
semantic error: emit_address internal error, dwfl_addrmodule failed, address
0x1a70: identifier '$libvar' at <input>:1:93
source: probe
process("testsuite/libexternalvar.so").function("lib_call") { printf("libvar =
%d\n", $libvar); }
^
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s)
using 29912virt/22076res/3304shr kb, in 10usr/0sys/16real ms.
Pass 2: analysis failed. Try again with another '--vp 01' option.
Running rm -rf /tmp/stapwJ00Va
Spawn waitpid result (0x802): 0
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11751
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.