This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/20042] on rawhide, tracepoint handlers have a changed function signature


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]