]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Enable creation of static userspace probes in incremental builds.
authormarkj <markj@FreeBSD.org>
Thu, 20 Aug 2020 19:28:19 +0000 (19:28 +0000)
committermarkj <markj@FreeBSD.org>
Thu, 20 Aug 2020 19:28:19 +0000 (19:28 +0000)
commitf6d5ab48ca1661bd2e17ad20662897fac3d9149f
tree13633684904d8d7fda191ee07e3911cc80f71d49
parenta506bfe4e96ef66c8571bff5796df3697e2f4c7f
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
cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c
cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h
cddl/usr.sbin/dtrace/tests/tools/exclude.sh