diff options
author | Mark Wielaard <mjw@redhat.com> | 2009-04-02 18:42:38 +0200 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2009-04-02 18:42:38 +0200 |
commit | b2b336288ce9e92a21efe7dcd314f604bc97be29 (patch) | |
tree | b2a9b34d783aca93dfba67dbe93401102cd90eba /testsuite | |
parent | 15a78144473940a4e7c685cc57ba09a92f2293c6 (diff) | |
download | systemtap-steved-b2b336288ce9e92a21efe7dcd314f604bc97be29.tar.gz systemtap-steved-b2b336288ce9e92a21efe7dcd314f604bc97be29.tar.xz systemtap-steved-b2b336288ce9e92a21efe7dcd314f604bc97be29.zip |
PR6580: Implement symname, symdata and modname context functions.
This adds a couple of the suggested context/stack revamp functions
from PR6580. In particular it replaces the symbolname() function that
sneaked in with the pr6866 branch merge with the suggested symname().
* runtime/sym.c (_stp_mod_sec_lookup): Make section optional.
(_stp_symbol_snprint): Provide a way to get optional module info.
* tapset/context-symbols.stp: Replace symbolname() with symname(),
add modname() and symdata().
(probemod): Implement pc based fallback.
* tapset/context-unwind.stp (caller): Adjust for _stp_symbol_snprint
change.
* testsuite/systemtap.context/usymbols.exp: Use new symname.
* testsuite/buildok/modname.stp: New test.
* testsuite/buildok/symdata.stp: Likewise.
* testsuite/buildok/symname.stp: Likewise.
Diffstat (limited to 'testsuite')
-rwxr-xr-x | testsuite/buildok/modname.stp | 8 | ||||
-rwxr-xr-x | testsuite/buildok/symdata.stp | 8 | ||||
-rwxr-xr-x | testsuite/buildok/symname.stp | 8 | ||||
-rw-r--r-- | testsuite/systemtap.context/usymbols.exp | 2 |
4 files changed, 25 insertions, 1 deletions
diff --git a/testsuite/buildok/modname.stp b/testsuite/buildok/modname.stp new file mode 100755 index 00000000..02229301 --- /dev/null +++ b/testsuite/buildok/modname.stp @@ -0,0 +1,8 @@ +#! stap -p4 +# +# Test the translatability for modname() +# +probe begin +{ + log(modname(0)) +} diff --git a/testsuite/buildok/symdata.stp b/testsuite/buildok/symdata.stp new file mode 100755 index 00000000..d7e803a9 --- /dev/null +++ b/testsuite/buildok/symdata.stp @@ -0,0 +1,8 @@ +#! stap -p4 +# +# Test the translatability for symdata() +# +probe begin +{ + log(symdata(0)) +} diff --git a/testsuite/buildok/symname.stp b/testsuite/buildok/symname.stp new file mode 100755 index 00000000..e082d1a5 --- /dev/null +++ b/testsuite/buildok/symname.stp @@ -0,0 +1,8 @@ +#! stap -p4 +# +# Test the translatability for symname() +# +probe begin +{ + log(symname(0)) +} diff --git a/testsuite/systemtap.context/usymbols.exp b/testsuite/systemtap.context/usymbols.exp index 82f68b67..8af20126 100644 --- a/testsuite/systemtap.context/usymbols.exp +++ b/testsuite/systemtap.context/usymbols.exp @@ -35,7 +35,7 @@ set testscript { probe syscall.rt_sigaction { if (pid() == target() && execname() == "%s") { handler = $act->sa_handler; - printf("handler: %%s\n", symbolname(handler)); + printf("handler: %%s\n", symname(handler)); } } /* track through uprobes, so as to make sure we have the symbols */ |