Re: [PATCH v2] Do not convert "__" to "-" for stapsdt provider names
Kris Van Hees <[email protected]>
| Newsgroups | dev.linux.lists.dtrace |
|---|---|
| Message-ID | <aR/[email protected]> |
On Thu, Nov 20, 2025 at 05:50:00PM -0500, [email protected] wrote: > From: Eugene Loh <[email protected]> > > DTrace provides "__" to "-" conversion for USDT probe names. > > Commit 4f58b864a0 ("support stapsdt ELF-note-defined static probes") > included "__" to "-" conversion for stapsdt provider names and probe > names. Commit 22932a9875 > ("selftests/usdt: add is-enabled stapsdt tests using semaphores") > adds tests for both conversions. > > Since SystemTap itself provides "__" to "-" conversion only for probe > names, remove the conversion for stapsdt provider names. > > Signed-off-by: Eugene Loh <[email protected]> Reviewed-by: Kris Vam Hees <[email protected]> > --- > libdtrace/dt_pid.c | 1 - > .../usdt/tst.stapsdt-notes-isenabled.r | 24 ++++---- > .../usdt/tst.stapsdt-notes-isenabled.r.p | 4 ++ > .../usdt/tst.stapsdt-notes-isenabled.sh | 61 +++++++++++-------- > 4 files changed, 52 insertions(+), 38 deletions(-) > create mode 100755 test/unittest/usdt/tst.stapsdt-notes-isenabled.r.p > > diff --git a/libdtrace/dt_pid.c b/libdtrace/dt_pid.c > index 7d6cfb4dc..fb3c59581 100644 > --- a/libdtrace/dt_pid.c > +++ b/libdtrace/dt_pid.c > @@ -1346,7 +1346,6 @@ dt_stapsdt_parse(dtrace_hdl_t *dtp, dt_proc_t *dpr, dtrace_probedesc_t *pdp, > if (strlen(prv) >= nhdr.n_descsz) > continue; > strncpy(prvname, prv, sizeof(prvname)); > - (void) strhyphenate(prvname); > prb = prv + strlen(prv) + 1; > if (strlen(prb) >= nhdr.n_descsz) > continue; > diff --git a/test/unittest/usdt/tst.stapsdt-notes-isenabled.r b/test/unittest/usdt/tst.stapsdt-notes-isenabled.r > index b088b285f..19924aa6b 100644 > --- a/test/unittest/usdt/tst.stapsdt-notes-isenabled.r > +++ b/test/unittest/usdt/tst.stapsdt-notes-isenabled.r > @@ -1,13 +1,13 @@ > -test:main:zero-probe > -test:main:one-probe:1 > -test:main:two-probe:2:3 > -test:main:three-probe:4:5:7 > -test:main:four-probe:7:8:9:10 > -test:main:five-probe:11:12:13:14:15 > -test:main:six-probe:16:17:18:19:20:21 > -test:main:seven-probe:22:23:24:25:26:27:28 > -test:main:eight-probe:29:30:31:32:33:34:35:36 > -test:main:nine-probe:37:38:39:40:41:42:43:44:45 > -test:main:eleven-probe:56:57:58:59:60:61:62:63:64:65 > -test:main:twelve-probe:67:68:69:70:71:72:73:74:75:76 > +test__prov$pid:test:main:zero-probe > +test__prov$pid:test:main:one-probe:1 > +test__prov$pid:test:main:two-probe:2:3 > +test__prov$pid:test:main:three-probe:4:5:7 > +test__prov$pid:test:main:four-probe:7:8:9:10 > +test__prov$pid:test:main:five-probe:11:12:13:14:15 > +test__prov$pid:test:main:six-probe:16:17:18:19:20:21 > +test__prov$pid:test:main:seven-probe:22:23:24:25:26:27:28 > +test__prov$pid:test:main:eight-probe:29:30:31:32:33:34:35:36 > +test__prov$pid:test:main:nine-probe:37:38:39:40:41:42:43:44:45 > +test__prov$pid:test:main:eleven-probe:56:57:58:59:60:61:62:63:64:65 > +test__prov$pid:test:main:twelve-probe:67:68:69:70:71:72:73:74:75:76 > > diff --git a/test/unittest/usdt/tst.stapsdt-notes-isenabled.r.p b/test/unittest/usdt/tst.stapsdt-notes-isenabled.r.p > new file mode 100755 > index 000000000..234d1fa55 > --- /dev/null > +++ b/test/unittest/usdt/tst.stapsdt-notes-isenabled.r.p > @@ -0,0 +1,4 @@ > +#!/usr/bin/gawk -f > + > +# Replace pid in provider name with "$pid" for standardized output. > +{ sub(/^test__prov[0-9][0-9]*:/, "test__prov$pid:"); print; } > diff --git a/test/unittest/usdt/tst.stapsdt-notes-isenabled.sh b/test/unittest/usdt/tst.stapsdt-notes-isenabled.sh > index 322bf53aa..a839d5722 100755 > --- a/test/unittest/usdt/tst.stapsdt-notes-isenabled.sh > +++ b/test/unittest/usdt/tst.stapsdt-notes-isenabled.sh > @@ -83,67 +83,78 @@ if [ $? -ne 0 ]; then > fi > > $dtrace -c ./test -qs /dev/stdin <<EOF > -test-prov\$target:::zero-probe > +test__prov\$target:::zero-probe > { > - printf("%s:%s:%s\n", probemod, probefunc, probename); > + printf("%s:%s:%s:%s\n", probeprov, probemod, probefunc, probename); > } > > -test-prov\$target:::one-probe > +test__prov\$target:::one-probe > { > - printf("%s:%s:%s:%li\n", probemod, probefunc, probename, arg0); > + printf("%s:%s:%s:%s:%li\n", probeprov, probemod, probefunc, probename, > + arg0); > } > > -test-prov\$target:::two-probe > +test__prov\$target:::two-probe > { > - printf("%s:%s:%s:%li:%li\n", probemod, probefunc, probename, arg0, arg1); > + printf("%s:%s:%s:%s:%li:%li\n", > + probeprov, probemod, probefunc, probename, > + arg0, arg1); > } > > -test-prov\$target:::three-probe > +test__prov\$target:::three-probe > { > - printf("%s:%s:%s:%li:%li:%li\n", probemod, probefunc, probename, arg0, arg1, > - arg2); > + printf("%s:%s:%s:%s:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > + arg0, arg1, arg2); > } > > -test-prov\$target:::four-probe > +test__prov\$target:::four-probe > { > - printf("%s:%s:%s:%li:%li:%li:%li\n", probemod, probefunc, probename, arg0, arg1, > - arg2, arg3); > + printf("%s:%s:%s:%s:%li:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > + arg0, arg1, arg2, arg3); > } > > -test-prov\$target:::five-probe > +test__prov\$target:::five-probe > { > - printf("%s:%s:%s:%li:%li:%li:%li:%li\n", probemod, probefunc, probename, > + printf("%s:%s:%s:%s:%li:%li:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > arg0, arg1, arg2, arg3, arg4); > } > > -test-prov\$target:::six-probe > +test__prov\$target:::six-probe > { > - printf("%s:%s:%s:%li:%li:%li:%li:%li:%li\n", probemod, probefunc, probename, > + printf("%s:%s:%s:%s:%li:%li:%li:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > arg0, arg1, arg2, arg3, arg4, arg5); > } > > -test-prov\$target:::seven-probe > +test__prov\$target:::seven-probe > { > - printf("%s:%s:%s:%li:%li:%li:%li:%li:%li:%li\n", probemod, probefunc, probename, > + printf("%s:%s:%s:%s:%li:%li:%li:%li:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > arg0, arg1, arg2, arg3, arg4, arg5, arg6); > } > > -test-prov\$target:::eight-probe > +test__prov\$target:::eight-probe > { > - printf("%s:%s:%s:%li:%li:%li:%li:%li:%li:%li:%li\n", probemod, probefunc, probename, > + printf("%s:%s:%s:%s:%li:%li:%li:%li:%li:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); > } > > -test-prov\$target:::nine-probe > +test__prov\$target:::nine-probe > { > - printf("%s:%s:%s:%li:%li:%li:%li:%li:%li:%li:%li:%li\n", probemod, probefunc, probename, > + printf("%s:%s:%s:%s:%li:%li:%li:%li:%li:%li:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); > } > > -test-prov\$target:::eleven-probe, > -test-prov\$target:::twelve-probe > +test__prov\$target:::eleven-probe, > +test__prov\$target:::twelve-probe > { > - printf("%s:%s:%s:%li:%li:%li:%li:%li:%li:%li:%li:%li:%li\n", probemod, probefunc, probename, > + printf("%s:%s:%s:%s:%li:%li:%li:%li:%li:%li:%li:%li:%li:%li\n", > + probeprov, probemod, probefunc, probename, > arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); > } > EOF > -- > 2.47.3 >