Files
glib/glib/glib.stp.in
Tobias Stoeckmann b8f9743a4d systemtap: Use correct formatters/types
Try to avoid casting variables to potentially smaller types to fit
defined probes. This can truncate values and lead to wrong results.

Also make sure that signedness matches.

Since GType can be even 128 bit on CHERI architecture, cast all these
various types used based on platform to uintmax_t which SystemTap
properly processes.
2025-08-08 23:15:38 +02:00

849 lines
30 KiB
Plaintext

global glib_quarks_2_0_@LT_CURRENT@_@LT_REVISION@
global gvarianttypeinfo_2_0_@LT_CURRENT@_@LT_REVISION@
/* This is needed to keep track of gquark for use in other probes.*/
probe process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("quark__new")
{
glib_quarks_2_0_@LT_CURRENT@_@LT_REVISION@[pid(), $arg2] = user_string($arg1)
}
/**
* probe glib.quark_new - Called when a #GQuark is initially created
* @quark: integer value for the quark
* @str: string form of the quark
*/
probe glib.quark_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("quark__new")
{
str = user_string ($arg1);
quark = $arg2;
probestr = sprintf("glib.quark_new(%s) -> %u", str, quark);
}
/**
* probe glib.mem_alloc - Called when a malloc block is initially requested
* @mem: Raw memory pointer returned
* @n_bytes: number of bytes
* @zeroed: Boolean value, %TRUE if this block was filled with NUL bytes
* @failable: Boolean value, %TRUE if program execution can continue on allocation failure
*/
probe glib.mem_alloc = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("mem__alloc")
{
mem = $arg1;
n_bytes = $arg2;
zeroed = $arg3;
failable = $arg4;
probestr = sprintf("glib.mem_alloc(n_bytes=%u) -> %p", n_bytes, mem);
}
/**
* probe glib.mem_free - Called when a malloc block freed
*/
probe glib.mem_free = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("mem__free")
{
mem = $arg1; /* ARG: @mem: Raw memory pointer */
probestr = sprintf("glib.mem_free(mem=%p)", mem);
}
/**
* probe glib.mem_realloc - Called when a malloc block is resized
* @mem: Raw memory pointer returned
* @old_mem: Original memory pointer
* @n_bytes: number of bytes
* @failable: Boolean value, %TRUE if program execution can continue on allocation failure
*/
probe glib.mem_realloc = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("mem__realloc")
{
mem = $arg1;
old_mem = $arg2;
n_bytes = $arg3;
failable = $arg4;
probestr = sprintf("glib.mem_realloc(old_mem=%p, n_bytes=%u) -> %p", old_mem, n_bytes, mem);
}
/**
* probe glib.slice_alloc - Called when g_slice_alloc() is used
* @mem: Raw memory pointer returned
* @n_bytes: number of bytes
*/
probe glib.slice_alloc = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("slice__alloc")
{
mem = $arg1;
n_bytes = $arg2;
probestr = sprintf("glib.slice_alloc(n_bytes=%u) -> %p", n_bytes, mem);
}
/**
* probe glib.slice_free - Called when memory slice is freed
* @mem: Raw memory pointer returned
* @n_bytes: Number of bytes
*/
probe glib.slice_free = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("slice__free")
{
mem = $arg1;
n_bytes = $arg2;
probestr = sprintf("glib.slice_free(n_bytes=%u) -> %p", n_bytes, mem);
}
/**
* probe glib.main_after_prepare - Called after preparing a GSource
* @source: source pointer
* @prepare: prepare function pointer
* @source_timeout: callback function pointer
*/
probe glib.main_after_prepare = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__after_prepare")
{
source = $arg1;
prepare = $arg2;
source_timeout = $arg3;
probestr = sprintf("glib.main_after_prepare(source=%p, prepare=%p) -> %d", source, prepare, source_timeout);
}
/**
* probe glib.main_after_check - Called after checking a GSource
* @source: source pointer
* @check: check function pointer
* @result: result of the check call
*/
probe glib.main_after_check = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__after_check")
{
source = $arg1;
check = $arg2;
result = $arg3;
probestr = sprintf("glib.main_after_check(source=%p, check=%p) -> %d", source, check, result);
}
/**
* probe glib.main_before_dispatch - Called before dispatching a GSource
* @source: name of the source
* @source_ptr: source pointer
* @dispatch: dispatch function pointer
* @callback: callback function pointer
* @user_data: user data for @callback
*/
probe glib.main_before_dispatch = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__before_dispatch")
{
source = user_string2($arg1, "unnamed");
source_ptr = $arg2;
dispatch = $arg3;
callback = $arg4;
user_data = $arg5;
probestr = sprintf("glib.main_before_dispatch(source=%s(%p), dispatch=%p, callback=%p, user_data=%p)", source, source_ptr, dispatch, callback, user_data);
}
/**
* probe glib.main_after_dispatch - Called after dispatching a GSource
* @source: name of the source
* @source_ptr: source pointer
* @dispatch: dispatch function pointer
* @need_destroy: whether the source should be destroyed
*/
probe glib.main_after_dispatch = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__after_dispatch")
{
source = user_string2($arg1, "unnamed");
source_ptr = $arg2;
dispatch = $arg3;
need_destroy = $arg4;
probestr = sprintf("glib.main_after_dispatch(source=%s(%p), dispatch=%p) -> %d", source, source_ptr, dispatch, need_destroy);
}
/**
* probe glib.main_source_attach - Called when a #GSource is attached to a #GMainContext
* @source: name of the source
* @source_ptr: the #GSource
* @context: the #GMainContext the source is being attached to
* @id: the ID of the #GSource in the context
*/
probe glib.main_source_attach = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__source_attach")
{
source = user_string2($arg1, "unnamed");
source_ptr = $arg2;
context = $arg3;
id = $arg4;
probestr = sprintf("glib.main_source_attach(source=%s(%p), context=%p) -> %u", source, source_ptr, context, id);
}
/**
* probe glib.main_source_destroy - Called when a #GSource is destroyed from a #GMainContext
* @source: name of the source
* @source_ptr: the #GSource
* @context: the #GMainContext the source is being destroyed from
*/
probe glib.main_source_destroy = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__source_destroy")
{
source = user_string2($arg1, "unnamed");
source_ptr = $arg2;
context = $arg3;
probestr = sprintf("glib.main_source_destroy(source=%s(%p), context=%p)", source, source_ptr, context);
}
/*
* probe glib.main_context_default - Called when the default #GMainContext is created
* @context: pointer to the new default #GMainContext
*/
probe glib.main_context_default = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_default")
{
context = $arg1;
probestr = sprintf("glib.main_context_default() -> %p", context);
}
/**
* probe glib.main_context_new - Called when a #GMainContext is initially created
* @context: pointer to the new #GMainContext
*/
probe glib.main_context_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_new")
{
context = $arg1;
probestr = sprintf("glib.main_context_new() -> %p", context);
}
/**
* probe glib.main_context_acquire - Called when a thread tries to acquire a #GMainContext
* @context: the #GMainContext
* @success: TRUE if acquisition was successful; FALSE if there was contention
*/
probe glib.main_context_acquire = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_acquire")
{
context = $arg1;
success = $arg2;
probestr = sprintf("glib.main_context_acquire(context=%p) -> %d", context, success);
}
/**
* probe glib.main_context_release - Called when a thread releases a #GMainContext
* @context: the #GMainContext
*/
probe glib.main_context_release = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_release")
{
context = $arg1;
probestr = sprintf("glib.main_context_release(context=%p)", context);
}
/**
* probe glib.main_context_free - Called when a #GMainContext is freed
* @context: pointer to the #GMainContext to be freed
*/
probe glib.main_context_free = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_free")
{
context = $arg1;
probestr = sprintf("glib.main_context_free(context=%p)", context);
}
/**
* probe glib.main_context_push_thread_default - Called when a #GMainContext is pushed onto the thread default stack
* @context: a #GMainContext
*/
probe glib.main_context_push_thread_default = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_push_thread_default")
{
context = $arg1;
probestr = sprintf("glib.main_context_push_thread_default(context=%p)", context);
}
/**
* probe glib.main_context_pop_thread_default - Called when a #GMainContext is popped off the thread default stack
* @context: a #GMainContext
*/
probe glib.main_context_pop_thread_default = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_pop_thread_default")
{
context = $arg1;
probestr = sprintf("glib.main_context_pop_thread_default(context=%p)", context);
}
/**
* probe glib.main_context_before_prepare - Called before a #GMainContext calls prepare on all its #GSources
* @context: a #GMainContext
*/
probe glib.main_context_before_prepare = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_before_prepare")
{
context = $arg1;
probestr = sprintf("glib.main_context_before_prepare(context=%p)", context);
}
/**
* probe glib.main_context_after_prepare - Called after a #GMainContext calls prepare on all its #GSources
* @context: a #GMainContext
* @priority: priority of the highest priority ready #GSource
* @n_ready: number of #GSources ready
*/
probe glib.main_context_after_prepare = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_after_prepare")
{
context = $arg1;
priority = $arg2;
n_ready = $arg3;
probestr = sprintf("glib.main_context_after_prepare(context=%p) -> priority=%i,n_ready=%i", context, priority, n_ready);
}
/**
* probe glib.main_context_before_query - Called before a #GMainContext calls query on all its #GSources
* @context: a #GMainContext
* @max_priority: maximum priority #GSource to check
*/
probe glib.main_context_before_query = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_before_query")
{
context = $arg1;
max_priority = $arg2;
probestr = sprintf("glib.main_context_before_query(context=%p, max_priority=%i)", context, max_priority);
}
/**
* probe glib.main_context_after_query - Called after a #GMainContext calls query on all its #GSources
* @context: a #GMainContext
* @timeout: poll timeout to use
* @fds: array of FDs ready to be polled, of length @n_fds
* @n_fds: number of FDs ready to be polled
*/
probe glib.main_context_after_query = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_after_query")
{
context = $arg1;
timeout = $arg2;
fds = $arg3;
n_fds = $arg4;
probestr = sprintf("glib.main_context_after_query(context=%p) -> timeout=%u,fds=%p,n_fds=%d", context, timeout, fds, n_fds);
}
/**
* probe glib.main_context_before_check - Called before a #GMainContext calls check on all its #GSources
* @context: a #GMainContext
* @max_priority: maximum priority #GSource to check
* @fds: array of FDs to check, of length @n_fds
* @n_fds: number of FDs to check
*/
probe glib.main_context_before_check = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_before_check")
{
context = $arg1;
max_priority = $arg2;
fds = $arg3;
n_fds = $arg4;
probestr = sprintf("glib.main_context_before_check(context=%p, max_priority=%i, fds=%p, n_fds=%i)", context, max_priority, fds, n_fds);
}
/**
* probe glib.main_context_after_check - Called after a #GMainContext calls check on all its #GSources
* @context: a #GMainContext
* @n_ready: number of sources ready to be dispatched
*/
probe glib.main_context_after_check = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_after_check")
{
context = $arg1;
n_ready = $arg2;
probestr = sprintf("glib.main_context_after_check(context=%p) -> %d", context, n_ready);
}
/**
* probe glib.main_context_before_dispatch - Called before a #GMainContext calls dispatch on all its #GSources
* @context: a #GMainContext
*/
probe glib.main_context_before_dispatch = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_before_dispatch")
{
context = $arg1;
probestr = sprintf("glib.main_context_before_dispatch(context=%p)", context);
}
/**
* probe glib.main_context_after_dispatch - Called after a #GMainContext calls dispatch on all its #GSources
* @context: a #GMainContext
*/
probe glib.main_context_after_dispatch = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_after_dispatch")
{
context = $arg1;
probestr = sprintf("glib.main_context_after_dispatch(context=%p)", context);
}
/**
* probe glib.main_context_wakeup - Called when a wakeup call is made for a #GMainContext
* @context: a #GMainContext
*/
probe glib.main_context_wakeup = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_wakeup")
{
context = $arg1;
probestr = sprintf("glib.main_context_wakeup(context=%p)", context);
}
/**
* probe glib.main_context_wakeup_acknowledge - Called when a wakeup call is acknowledged by a #GMainContext
* @context: a #GMainContext
*/
probe glib.main_context_wakeup_acknowledge = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__context_wakeup_acknowledge")
{
context = $arg1;
probestr = sprintf("glib.main_context_wakeup_acknowledge(context=%p)", context);
}
/**
* probe glib.main_loop_new - Called when a #GMainLoop is initially created
* @loop: pointer to the new #GMainLoop
* @context: pointer to the parent #GMainContext
*/
probe glib.main_loop_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__loop_new")
{
loop = $arg1;
context = $arg2;
probestr = sprintf("glib.main_loop_new(%p) -> %p", context, loop);
}
/**
* probe glib.main_context_quit - Called when a #GMainLoop is quit
* @loop: pointer to the #GMainLoop to be quit
*/
probe glib.main_loop_quit = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("main__loop_quit")
{
loop = $arg1;
probestr = sprintf("glib.main_loop_quit(%p)", loop);
}
/**
* probe glib.idle_add - Called when g_idle_add() or g_idle_add_full() is called
* @source: the newly created idle #GSource
* @context: the #GMainContext the idle source was added to
* @id: the ID of the #GSource in the main context
* @priority: the priority of the idle source
* @func: the idle callback function
* @data: data to pass to the callback function
*/
probe glib.idle_add = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("idle__add")
{
source = $arg1;
context = $arg2;
id = $arg3;
priority = $arg4;
func = $arg5;
data = $arg6;
probestr = sprintf("glib.idle_add(%d, %p, %p) -> %p, %p, %u", priority, func, data, source, context, id);
}
/**
* probe glib.idle_dispatch - Called when an idle #GSource is dispatched
* @source: the idle #GSource
* @context: the #GMainContext the idle source was in
* @func: the idle callback function
* @data: data passed to the callback function
* @again: 1 if the idle function is to be scheduled again, 0 otherwise
*/
probe glib.idle_dispatch = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("idle__dispatch")
{
source = $arg1;
context = $arg2;
func = $arg3;
data = $arg4;
again = $arg5;
probestr = sprintf("glib.idle_dispatch(%p) -> %p, %p, %p, %d", source, context, func, data, again);
}
/**
* probe glib.timeout_add - Called when g_timeout_add() or g_timeout_add_full() is called
* @source: the newly created timeout #GSource
* @context: the #GMainContext the timeout source was added to
* @id: the ID of the #GSource in the main context
* @priority: the priority of the timeout source
* @interval: the time between dispatches of the source, in milliseconds
* @func: the timeout callback function
* @data: data to pass to the callback function
*/
probe glib.timeout_add = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("timeout__add")
{
source = $arg1;
context = $arg2;
id = $arg3;
priority = $arg4;
interval = $arg5;
func = $arg6;
data = $arg7;
probestr = sprintf("glib.timeout_add(%d, %u, %p, %p) -> %p, %p, %u", priority, interval, func, data, source, context, id);
}
/**
* probe glib.timeout_dispatch - Called when a timeout #GSource is dispatched
* @source: the timeout #GSource
* @context: the #GMainContext the timeout source was in
* @func: the timeout callback function
* @data: data passed to the callback function
* @again: 1 if the timeout is to be scheduled again, 0 otherwise
*/
probe glib.timeout_dispatch = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("timeout__dispatch")
{
source = $arg1;
context = $arg2;
func = $arg3;
data = $arg4;
again = $arg5;
probestr = sprintf("glib.timeout_dispatch(%p) -> %p, %p, %p, %d", source, context, func, data, again);
}
/**
* probe glib.source_new - Called when a new #GSource is created
* @source: the new #GSource
* @prepare: the prepare function for the #GSource
* @check: the check function for the #GSource
* @dispatch: the dispatch function for the #GSource
* @finalize: the finalize function for the #GSource
* @struct_size: the size of #GSource structure to allocate
*/
probe glib.source_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__new")
{
source = $arg1;
prepare = $arg2;
check = $arg3;
dispatch = $arg4;
finalize = $arg5;
struct_size = $arg6;
probestr = sprintf("glib.source_new(%p, %p, %p, %p, %u) -> %p", prepare, check, dispatch, finalize, struct_size, source);
}
/**
* probe glib.source_set_callback - Called when the callback on a #GSource is set
* @source: the #GSource
* @func: the new callback function for the source
* @data: data to pass to @func
* @notify: notify handler for @data
*/
probe glib.source_set_callback = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__set_callback")
{
source = $arg1;
func = $arg2;
data = $arg3;
notify = $arg4;
probestr = sprintf("glib.source_set_callback(%p, %p, %p, %p)", source, func, data, notify);
}
/**
* probe glib.source_set_callback_indirect - Called when an indirect callback on a #GSource is set
* @source: the #GSource
* @callback_data: data for @callback_funcs
* @ref: the indirect callback ref function
* @unref: the indirect callback unref function
* @get: the indirect callback getter function
*/
probe glib.source_set_callback_indirect = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__set_callback_indirect")
{
source = $arg1;
callback_data = $arg2;
ref = $arg3;
unref = $arg4;
get = $arg5;
probestr = sprintf("glib.source_set_callback_indirect(%p, %p, %p, %p, %p)", source, callback_data, ref, unref, get);
}
/**
* probe glib.source_set_ready_time - Called when the ready time is set on a #GSource
* @source: the #GSource
* @ready_time: the new ready time
*/
probe glib.source_set_ready_time = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__set_ready_time")
{
source = $arg1;
ready_time = $arg2;
probestr = sprintf("glib.source_set_ready_time(%p, %i)", source, ready_time);
}
/**
* probe glib.source_set_priority - Called when the priority is set on a #GSource
* @source: the #GSource
* @context: the context the source is attached to
* @priority: the new priority
*/
probe glib.source_set_priority = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__set_priority")
{
source = $arg1;
context = $arg2;
priority = $arg3;
probestr = sprintf("glib.source_set_priority(%p, %p, %i)", source, context, priority);
}
/**
* probe glib.source_add_child_source - Called when a child #GSource is added to another
* @source: the parent #GSource
* @child_source: the child #GSource
*/
probe glib.source_add_child_source = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__add_child_source")
{
source = $arg1;
child_source = $arg2;
probestr = sprintf("glib.source_add_child_source(%p, %p)", source, child_source);
}
/**
* probe glib.source_set_name - Called when the name is set for a #GSource
* @source: the #GSource
* @name: the new name
*/
probe glib.source_set_name = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__set_name")
{
source = $arg1;
name = user_string($arg2);
probestr = sprintf("glib.source_set_name(%p, %s)", source, name);
}
/**
* probe glib.source_before_free - Called before a #GSource is finalised
* @source: the #GSource
* @context: the context the #GSource is attached to, if any
* @finalize: the finalize function about to be called
*/
probe glib.source_before_free = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("source__before_free")
{
source = $arg1;
context = $arg2;
finalize = $arg3;
probestr = sprintf("glib.source_before_free(%p, %p, %p)", source, context, finalize);
}
/**
* probe glib.thread_spawned - Called from a newly spawned GThread, before the thread function is called
* @func: the #GThreadFunc about to be executed
* @data: data to be passed to @func
* @name: (nullable): the thread name
*/
probe glib.thread_spawned = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("thread__spawned")
{
func = $arg1;
data = $arg2;
name = user_string($arg3);
probestr = sprintf("glib.thread_spawned(%p, %p, %s)", func, data, name);
}
/**
* probe glib.rcbox_alloc - Called when a refcounted block is initially requested
* @mem: Raw memory pointer returned
* @n_bytes: number of bytes
* @atomic: Boolean value, %TRUE if this block is atomically refcounted
* @zeroed: Boolean value, %TRUE if this block was filled with NUL bytes
*/
probe glib.rcbox_alloc = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("rcbox__alloc")
{
mem = $arg1;
n_bytes = $arg2;
atomic = $arg3;
zeroed = $arg4;
probestr = sprintf("glib.rcbox_alloc(n_bytes=%u) -> %p", n_bytes, mem);
}
/**
* probe glib.rcbox_acquire - Called when a refcounted block acquires a ref
*/
probe glib.rcbox_acquire = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("rcbox__acquire")
{
mem = $arg1; /* ARG: @mem: Raw memory pointer */
atomic = $arg2; /* ARG: @atomic: Boolean value, %TRUE if the reference was acquired atomically */
probestr = sprintf("glib.rcbox_acquire(mem=%p)", mem);
}
/**
* probe glib.rcbox_release - Called when a refcounted block acquires a ref
*/
probe glib.rcbox_acquire = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("rcbox__release")
{
mem = $arg1; /* ARG: @mem: Raw memory pointer */
atomic = $arg2; /* ARG: @atomic: Boolean value, %TRUE if the reference was released atomically */
probestr = sprintf("glib.rcbox_release(mem=%p)", mem);
}
/**
* probe glib.rcbox_free - Called when a refcounted block is freed
*/
probe glib.rcbox_free = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("rcbox__free")
{
mem = $arg1; /* ARG: @mem: Raw memory pointer */
probestr = sprintf("glib.rcbox_free(mem=%p)", mem);
}
/**
* probe glib.variant_type_info_new:
* @info: Raw info structure pointer
* @typestr: GVariant type string
**/
probe glib.variant_type_info_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__type_info_new")
{
info = $arg1;
typestr = user_string($arg2);
gvarianttypeinfo[pid(), info] = typestr;
}
/**
* probe glib.variant_type_info_free:
* @info: Raw info structure pointer
**/
probe glib.variant_type_info_free = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__type_info_free")
{
info = $arg1;
delete gvarianttypeinfo[pid(), info];
}
/**
* probe glib.variant_start_serialise:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
*
* Indicates that a @value has started the process of serialising
* itself. This involves dropping references on the child elements of
* @value, so when mixed with the end_serialise probe, it is possible to
* see the context in which the unrefs are occurring.
**/
probe glib.variant_start_serialise = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__start_serialise")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
}
/**
* probe glib.variant_end_serialise:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
*
* Indicates that a @value has ended the process of serialising itself.
**/
probe glib.variant_end_serialise = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__end_serialise")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
}
/**
* probe glib.variant_from_buffer:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
* @ref_count: the initial reference count
* @state: the internal state bitfield
*
* Reports that a serialised #GVariant has been created from a buffer.
* This can happen in two cases. The first is when a leaf value is
* created (with g_variant_new_string(), for example). The second is
* when a container #GVariant is created by loading from serialised data
* (with g_variant_new_from_data(), for example).
**/
probe glib.variant_from_buffer = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__from_buffer")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
ref_count = $arg3;
state = $arg4;
}
/**
* probe glib.variant_from_children:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
* @ref_count: the initial reference count
* @state: the internal state bitfield
*
* Reports that a tree-form #GVariant has been created from a number of
* child elements. This happens in response to the calls like
* g_variant_new_array() and also for g_variant_builder_end().
**/
probe glib.variant_from_children = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__from_children")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
ref_count = $arg3;
state = $arg4;
}
/**
* probe glib.variant_unref:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
* @ref_count: the reference count before the call
* @state: the internal state bitfield
*
* Reports that g_variant_unref() has been called on a value.
**/
probe glib.variant_unref = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__unref")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
old_ref_count = $arg3;
new_ref_count = old_ref_count - 1;
state = $arg4;
}
/**
* probe glib.variant_ref:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
* @ref_count: the reference count before the call
* @state: the internal state bitfield
*
* Reports that g_variant_ref() has been called on a value.
**/
probe glib.variant_ref = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__ref")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
old_ref_count = $arg3;
new_ref_count = $arg3 + 1;
state = $arg4;
}
/**
* probe glib.variant_ref_sink:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
* @ref_count: the reference count before the call
* @state: the internal state bitfield
* @floating: the floating bit of @state
*
* Reports that g_variant_ref_sink() has been called on a value.
**/
probe glib.variant_ref_sink = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__ref_sink")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
ref_count = $arg3;
state = $arg4;
floating = $arg5;
}
/**
* probe glib.variant_take_ref:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
* @ref_count: the reference count before the call
* @state: the internal state bitfield
* @floating: the floating bit of @state
*
* Reports that g_variant_take_ref() has been called on a value.
**/
probe glib.variant_take_ref = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__take_ref")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
ref_count = $arg3;
state = $arg4;
floating = $arg5;
}
/**
* probe glib.variant_from_parent:
* @value: pointer to #GVariant
* @typeinfo: the raw typeinfo structure pointer
* @typestr: the type string of the #GVariant
* @ref_count: the initial reference count
* @state: the internal state bitfield
*
* Reports that a #GVariant has been created as a result of calling
* g_variant_get_child_value() on a serialised #GVariant (ie:
* deserialisation has occurred).
**/
probe glib.variant_from_parent = process("@ABS_GLIB_RUNTIME_LIBDIR@/libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("variant__from_parent")
{
value = $arg1;
typeinfo = $arg2;
typestr = gvarianttypeinfo[pid(), typeinfo];
ref_count = $arg3;
state = $arg4;
}