This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug tapsets/14079] New: caller() pass-4 error if no uretprobes in script
- From: "fche at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Tue, 08 May 2012 16:15:38 +0000
- Subject: [Bug tapsets/14079] New: caller() pass-4 error if no uretprobes in script
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=14079
Bug #: 14079
Summary: caller() pass-4 error if no uretprobes in script
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: tapsets
AssignedTo: systemtap@sourceware.org
ReportedBy: fche@redhat.com
Classification: Unclassified
stap -e 'probe module("tun").function("tun_net_xmit@drivers/net/tun.c").call {
printf("tun_net_xmit %x from %s\n", $skb->ip_summed, caller()); }'
results in a stap -p4 compilation error, due to this bit in the caller
embedded-c:
#ifdef STAPCONF_UPROBE_GET_PC
else if (CONTEXT->probe_type == _STP_PROBE_HANDLER_URETPROBE)
THIS->__retvalue =
(int64_t)(long)_stp_ret_addr_r(CONTEXT->ips.ri);
#endif
with apparently no one including enough uprobes.h goop to make this from
runtime/common_probe_context.h compilable:
/* uretprobe state */
struct uretprobe_instance *ri;
This could be fixed a couple of ways, but my favorite would be to use this as
an opportunity to do bug #6580, which would reimplement caller() etc. in terms
of backtracing functions instead of such low-level embedded-c runes.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.