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] | |
Hi -
Mathieu Desnoyers wrote:
> [...] Do you have ideas on how we can export the function symbol?
> (is it necessary ?)
It turns out that static variables like that get included in the
ordinary symbol tables along with other (un)initialized globals - it
has been making it into /proc/kallsyms. If the normal symbol table is
not available, then some other measure would be needed to find the
variable containing the function pointer.
> [...]
> #define MARK(name, format, args...) \
> do { \
> __mark_check_format(format, ## args); \
> MARK_SYM(name); \
> MARK_CALL(name, format, ## args); \
> } while(0)
While varargs simplify some things, it sacrifices type-safety, in that
a handler function would have to be varargs too. For the systemtap
marker prototype, parametrized variants use scores of (automatically
generated) macros, with different arity/type permutations, each
self-describing and type-safe.
Regarding a marker variant that would require kprobes (inserting a
labelled NOP or few), it may be an appropriate choice where dormant
marker overhead must be minimal and robust parameter passing is less
important.
- FChE
Attachment:
pgp00000.pgp
Description: PGP signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |