This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Questions about tracing static function and statement probe
- From: fche at redhat dot com (Frank Ch. Eigler)
- To: "sunzen w." <sunzen at gmail dot com>
- Cc: systemtap at sources dot redhat dot com
- Date: 13 Jul 2007 10:53:43 -0400
- Subject: Re: Questions about tracing static function and statement probe
- References: <da1db2080707130038x65c7eb8ag6d4f4efb6e3fa7c2@mail.gmail.com>
"sunzen w." <sunzen@gmail.com> writes:
> [...] For instance, probes on entry/exit of
> get_transaction(@fs/jbd/trasaction.c) fail because of semantic
> errors (failed to retrieve location attibution for target virable,
> or no match for probe point). But, probes on some other static
> functions(such as ext3_add_nondir@fs/ext3/namei.c,
> add_dirent_to_buf@fs/ext3/namei.c) do work.
You are encountering two separate problems here. Neither is strictly
speaking a systemtap bug, but rather a problem with the gcc-generated
debugging information. This has recently become very poor for
functions that become aggressively inlined. The result is that
parameters to inlined functions are not properly recorded, and inlined
functions cannot have .return probes.
The first bug in gcc will be fixed before too long. The second one is
trickier. What this all means is that, for now, systemtap probes
desired in such functions need to be relocated to somewhere within
their callers.
- FChE