This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/10820] New: stap -L should take varaible location list into account
- From: "mjw at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 21 Oct 2009 11:38:20 -0000
- Subject: [Bug translator/10820] New: stap -L should take varaible location list into account
- Reply-to: sourceware-bugzilla at sourceware dot org
Sometimes you believe a variable is available with -L, but then it turns out the
location list for that variable doesn't actually cover the address that we will
place the probe on.
For example:
$ stap -L 'kernel.function("tc_fill_tclass")'
kernel.function("tc_fill_tclass@net/sched/sch_api.c:990") $skb:struct sk_buff*
$q:struct Qdisc* $cl:long unsigned int $pid:u32 $seq:u32 $flags:u16 $event:int
$tcm:struct tcmsg* $nlh:struct nlmsghdr* $b:unsigned char* $d:struct gnet_dump
$cl_ops:struct Qdisc_class_ops*
But then when we try to actually query $tcm we get:
semantic error: not accessible at this address (0xffffffff80239505): identifier
'$tcm' at <input>:1:96
source: probe kernel.function("tc_fill_tclass").return {
printf("pid=%d, cl=%d, tcm=%p.\n", $pid, $cl, $tcm-) }
Which is indeed correct, the location list for tcm says:
0048393a ffffffff802395a2 ffffffff80239643 (DW_OP_reg6)
0048393a ffffffff802396aa ffffffff80239719 (DW_OP_reg6)
So it isn't available at the (function entry) probe address.
--
Summary: stap -L should take varaible location list into account
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: translator
AssignedTo: systemtap at sources dot redhat dot com
ReportedBy: mjw at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=10820
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.