[Bug runtime/20042] on rawhide, tracepoint handlers have a changed function signature
dsmith at redhat dot com
sourceware-bugzilla@sourceware.org
Tue May 3 16:59:00 GMT 2016
https://sourceware.org/bugzilla/show_bug.cgi?id=20042
--- Comment #1 from David Smith <dsmith at redhat dot com> ---
It appears that this isn't a problem with all tracepoints, just certain ones.
The common problem might be that the tracepoints has a function pointer
argument.
In the case of the 'cpuhp_enter' tracepoint, here's what
include/trace/events/cpuhp.h has:
====
...
TRACE_EVENT(cpuhp_enter,
TP_PROTO(unsigned int cpu,
int target,
int idx,
int (*fun)(unsigned int)),
TP_ARGS(cpu, target, idx, fun),
TP_STRUCT__entry(
__field( unsigned int, cpu )
__field( int, target )
__field( int, idx )
__field( void *, fun )
),
...
====
The odd thing is here that in TP_PROTO, the function pointer is declared
differently from the same function pointer in TP_STRUCT__entry. Systemtap is
declaring the handler as:
====
static STP_TRACE_ENTER(enter_tracepoint_probe_104
, unsigned int __tracepoint_arg_cpu
, int __tracepoint_arg_target
, int __tracepoint_arg_idx
, void* __tracepoint_arg_fun
)
====
which matches the TP_STRUCT__entry definition, but we might need to switch to
be more like the TP_PROTO definition.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Systemtap
mailing list