Cherry-pick https://reviews.freebsd.org/D1175:

This is described in PR 194757: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194757

Basically, dtrace -G will create a DOF section for the specified probes, which gets linked into the final executable or library. It's also used to generate the symbol table for the generated object file.

DTrace probe function names are currently limited to 128 characters. In particular, they can be truncated before they get inserted into the DOF, so the generated object file can end up with a reference to a truncated symbol, causing a compilation error. With this change, they're not truncated before being written to the DOF. Instead, we rely on the kernel to enforce the 128-byte limit when the DOF is loaded into the kernel during process startup.

The 128-byte limit should probably be raised or eliminated, but that's a separate change.