summaryrefslogtreecommitdiff
path: root/usr.sbin/btrace/btrace.c
diff options
context:
space:
mode:
authorDave Voutila <dv@cvs.openbsd.org>2023-08-16 13:07:12 +0000
committerDave Voutila <dv@cvs.openbsd.org>2023-08-16 13:07:12 +0000
commit120195feb55050791cd3f46e5c5fbccacec8beb2 (patch)
treea6fc4cd926ff4e9d3b0065741bb95e4111b76792 /usr.sbin/btrace/btrace.c
parentd7ef3221e45427a1ac85ff53a9dde3d4aef4bd98 (diff)
Backout changes for btrace(8) argN builtins.
Talking with mpi@, going to rework this to be part of the parser. Reverts commit 0iIzGtIFgBXVfbNa.
Diffstat (limited to 'usr.sbin/btrace/btrace.c')
-rw-r--r--usr.sbin/btrace/btrace.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/usr.sbin/btrace/btrace.c b/usr.sbin/btrace/btrace.c
index 4ee377d88e2..45e485b6c48 100644
--- a/usr.sbin/btrace/btrace.c
+++ b/usr.sbin/btrace/btrace.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: btrace.c,v 1.73 2023/08/15 20:51:45 dv Exp $ */
+/* $OpenBSD: btrace.c,v 1.74 2023/08/16 13:07:11 dv Exp $ */
/*
* Copyright (c) 2019 - 2021 Martin Pieuchot <mpi@openbsd.org>
@@ -117,7 +117,6 @@ size_t dt_ndtpi; /* # of elements in the array */
struct dtioc_arg_info **dt_args; /* array of probe arguments */
struct dt_evt bt_devt; /* fake event for BEGIN/END */
-#define DTEV_PBN_BEGINEND 0 /* fake probe number for BEGIN/END */
uint64_t bt_filtered; /* # of events filtered out */
struct syms *kelf, *uelf;
@@ -298,7 +297,6 @@ dtai_cache(int fd, struct dtioc_probe_info *dtpi)
err(1, NULL);
}
- assert(dtpi->dtpi_pbn > 0);
if (dt_args[dtpi->dtpi_pbn - 1] != NULL)
return;
@@ -327,7 +325,6 @@ dtpi_print_list(int fd)
dtpi->dtpi_name);
if (strncmp(dtpi->dtpi_prov, "tracepoint", DTNAMESIZE) == 0) {
dtai_cache(fd, dtpi);
- assert(dtpi->dtpi_pbn > 0);
dtai = dt_args[dtpi->dtpi_pbn - 1];
printf("(");
for (j = 0; j < dtpi->dtpi_nargs; j++, dtai++) {
@@ -546,7 +543,7 @@ rules_setup(int fd)
kelf = kelf_open(_PATH_KSYMS);
/* Initialize "fake" event for BEGIN/END */
- bt_devt.dtev_pbn = DTEV_PBN_BEGINEND;
+ bt_devt.dtev_pbn = -1;
strlcpy(bt_devt.dtev_comm, getprogname(), sizeof(bt_devt.dtev_comm));
bt_devt.dtev_pid = getpid();
bt_devt.dtev_tid = getthrid();
@@ -584,7 +581,7 @@ rules_apply(int fd, struct dt_evt *dtev)
if (bp->bp_type != B_PT_PROBE ||
bp->bp_pbn != dtev->dtev_pbn)
continue;
- assert(dtev->dtev_pbn > 0);
+
dtai_cache(fd, &dt_dtpis[dtev->dtev_pbn - 1]);
rule_eval(r, dtev);
}
@@ -784,12 +781,8 @@ builtin_arg(struct dt_evt *dtev, enum bt_argtype dat)
const char *argtype, *fmt;
long value;
- argn = dat - B_AT_BI_ARG0;
-
- if (dtev->dtev_pbn == DTEV_PBN_BEGINEND)
- errx(1, "arg%d builtin is not valid in BEGIN or END actions",
- argn);
dtai = dt_args[dtev->dtev_pbn - 1];
+ argn = dat - B_AT_BI_ARG0;
argtype = dtai[argn].dtai_argtype;
if (strncmp(argtype, "int", DTNAMESIZE) == 0) {
@@ -800,7 +793,7 @@ builtin_arg(struct dt_evt *dtev, enum bt_argtype dat)
value = dtev->dtev_args[argn];
}
- snprintf(buf, sizeof(buf), fmt, value);
+ snprintf(buf, sizeof(buf), fmt, dtev->dtev_args[argn]);
return buf;
}
@@ -1607,7 +1600,6 @@ ba2str(struct bt_arg *ba, struct dt_evt *dtev)
str = buf;
break;
case B_AT_BI_PROBE:
- assert(dtev->dtev_pbn > 0);
dtpi = &dt_dtpis[dtev->dtev_pbn - 1];
if (dtpi != NULL)
snprintf(buf, sizeof(buf), "%s:%s:%s",