1.1.3 DTrace

The following notable DTrace features and fixes are implemented in UEK R5U1:

  • [aarch64] END and ENDPROC markers added.  DTrace has been enhanced for use on aarch64 platforms by adding or moving END[ENDPROC] markers in relevant assembly files. This change increases the likelihood that DTrace can map kernel instructions to a symbol.

  • [aarch64] DTrace support for SDT probes added.  DTrace has been enhanced to include support for the use of SDT probes on aarch64 platforms.

  • [aarch64] DTrace support for FBT entry probes added.  DTrace has been enhanced to include support for the use of FBT entry probes on aarch64 platforms.

  • [aarch64] DTrace support for FBT return probes added.  DTrace has been enhanced to include support for the use of FBT return probes on aarch64 platforms.

  • [aarch64] ustack() implementation.  DTrace has been enhanced to include the implementation of ustack() on aarch64 platforms.

  • SDT macros updated to accurately support 18 arguments.  The DTrace implementation for defining SDT probes in the kernel source code has been improved to accurately accept up to, and including, 18 arguments. Although all 18 arguments were supported previously, any arguments beyond 8 were truncated. This enhancement applies to both the x86_64 and aarch64 platforms.

  • New -x noresolve option added.  DTrace has been enhanced to include the -x noresolve runtime option, which is used to prevent automatic resolution of user-space symbols and to assist with symbol resolution for very large, statically linked binaries, where symbols take a long time to resolve. The option can also be used to reduce overhead when DTrace resolves addresses to symbol names for large applications that contain many symbols. The -x noresolve option was previously introduced in the Oracle Solaris 11.3 release.

  • New -x ctfpath option added.  DTrace has been enhanced to include a new -x ctfpath option, which enables the use of user-provided Compressed Type Format (CTF) archive data. The ctfpath option allows you to explicitly specify which CTF archives to use for the running kernel, thus enabling the archive to be shared and shipped to non-standard locations.