[Bug tapsets/14079] New: caller() pass-4 error if no uretprobes in script
fche at redhat dot com
sourceware-bugzilla@sourceware.org
Tue May 8 16:16:00 GMT 2012
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.
More information about the Systemtap
mailing list