aboutsummaryrefslogtreecommitdiff
path: root/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2020-08-20 19:28:19 +0000
committerMark Johnston <markj@FreeBSD.org>2020-08-20 19:28:19 +0000
commitd2d16e566324f3560c53f85c0b1d4362040df90f (patch)
tree13633684904d8d7fda191ee07e3911cc80f71d49 /cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h
parent0e15d9fbeba47c947f62d8252ef673a306f7c2fb (diff)
downloadsrc-d2d16e566324f3560c53f85c0b1d4362040df90f.tar.gz
src-d2d16e566324f3560c53f85c0b1d4362040df90f.zip
Enable creation of static userspace probes in incremental builds.
To define USDT probes, dtrace -G makes use of relocations for undefined symbols: the target address is overwritten with NOPs and the location is recorded in the DOF section of the output object file. To avoid link errors, the original relocation is destroyed. However, this means that the same input object file cannot be processed multiple times, as happens during incremental rebuilds. Instead, only set the relocation type to NONE, so that all information required to reconstruct USDT probes is preserved. Reported by: bdrewery MFC after: 3 weeks Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=364438
Diffstat (limited to 'cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h')
-rw-r--r--cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h
index 551dabbf6765..80006b6b3962 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h
@@ -58,6 +58,7 @@ typedef ssize_t dt_strtab_write_f(const char *, size_t, size_t, void *);
extern dt_strtab_t *dt_strtab_create(size_t);
extern void dt_strtab_destroy(dt_strtab_t *);
+extern boolean_t dt_strtab_empty(dt_strtab_t *);
extern ssize_t dt_strtab_index(dt_strtab_t *, const char *);
extern ssize_t dt_strtab_insert(dt_strtab_t *, const char *);
extern size_t dt_strtab_size(const dt_strtab_t *);