HomeFreeBSD

Remove drti.o's dependency on libelf. This makes it possible to add DTrace

Description

Remove drti.o's dependency on libelf. This makes it possible to add DTrace
probes to userland programs and libraries without also needing to link
libelf.

dtrace -G places the SUNW_dof symbol at the beginning of the DOF (DTrace
probe and provider metdata) section in the generated object file; drti.o
now just uses this symbol to locate the section. A complication occurs
when multiple dtrace-generated object files are linked together, since the
SUNW_dof symbol defined in each file is global. This is handled by
using objcopy(1) to convert __SUNW_dof to a local symbol once drti.o has
been linked with the generated object file. Upstream, this is done using a
linker feature not present in GNU ld.

Differential Revision: https://reviews.freebsd.org/D1757
Reviewed by: rpaulo
MFC after: 1 month
Relnotes: yes

Details

Provenance
markjAuthored on
Reviewer
rpaulo
Differential Revision
D1757: drop libelf dependency for USDT probes
Parents
rS278933: Fix a typo in ipv6_down().
Branches
Unknown
Tags
Unknown