[DTrace-devel] [PATCH 13/17] dtprobed, usdt parser: add support for ELF notes-based USDT
Nick Alcock
nick.alcock at oracle.com
Sat Jun 7 18:49:29 UTC 2025
On 7 Jun 2025, Kris Van Hees verbalised:
> Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Nick Alcock <nick.alcock at oracle.com>
modulo this piece of utter pedantry:
> + * rc = 1: All blocks written successfully.
> + * rc = 0: Some blocks not written.
> + * rc = -1: An erorr happened (some blocks not written).
Erorr is an erorr!
> + if (prp->fun != NULL) {
> + ptp->next = prp->next;
> + ptp->nargc = prp->nargc;
> + ptp->nargs = prp->nargs;
> + ptp->nargsz = prp->nargsz;
> + ptp->xargc = prp->xargc;
> + ptp->xargs = prp->xargs;
> + ptp->xargsz = prp->xargsz;
> + ptp->xmap = prp->xmap;
> + prp->next = ptp;
> + prp->ntp++;
> + } else {
> + dt_htab_delete(prbmap, ptp);
> + dt_htab_insert(pvp->pmap, ptp);
> + ptp->ntp = 1;
> + ptp->nargc = prp->nargc;
> + ptp->nargs = prp->nargs;
> + ptp->nargsz = prp->nargsz;
> + ptp->xargc = prp->xargc;
> + ptp->xargs = prp->xargs;
> + ptp->xargsz = prp->xargsz;
> + ptp->xmap = prp->xmap;
> + pvp->probec++;
> + }
> + }
> +
> +prvit = NULL;
> +while ((pvp = dt_htab_next(prvmap, &prvit)) != NULL) {
> + dt_htab_next_t *prbit = NULL;
> + dt_probe_t *prp;
> +
> + dt_dbg_usdt(" Provider '%s' with %d probe%s:\n", pvp->name, pvp->probec, pvp->probec == 1 ? "" : "s");
> + while ((prp = dt_htab_next(pvp->pmap, &prbit)) != NULL) {
> + dt_dbg_usdt(" Probe %s:%s:%s:%s (off %x)\n", prp->prv, prp->mod, prp->fun ? prp->fun : "", prp->prb, prp->fun ? prp->off : -1);
> + while ((prp = prp->next) != NULL)
> + dt_dbg_usdt(" Probe %s:%s:%s:%s (off %x)\n", prp->prv, prp->mod, prp->fun ? prp->fun : "", prp->prb, prp->fun ? prp->off : -1);
> + }
> +}
> +
> + /* Emit any provider that has tracepoints. */
> + prvit = NULL;
> + while ((pvp = dt_htab_next(prvmap, &prvit)) != NULL) {
> + if (pvp->probec > 0 && emit_provider(out, dhp, pvp) == -1)
> + goto err;
> + }
> +
> + goto out;
Going by the indentation, the outdented bit looks like debugging code
you either forgot to remove, or forgot to reindent :)
--
NULL && (void)
More information about the DTrace-devel
mailing list