Skip to content

Release notes for 1.2.0

Nick Alcock edited this page Oct 15, 2019 · 1 revision

DTrace userspace 1.2.0, libdtrace-ctf 1.1.0

New features since 1.0.2

  • Translator changes for the 4.15 -- 4.20 kernels.
  • New action pcap(struct sk_buff *, proto) where proto is one of the PCAP_* constants from /usr/lib64/dtrace/*/pcap.d. If tshark is installed, this produces formatted packet traces; if it is not, raw memory dumps are produced, as with tracemem(). If freopen() is used to redirect DTrace output to a file, the raw packets are written there.

New options since 1.0.2

  • -xctfpath: Specify the name of a CTF archive to use with the running kernel, for when it cannot be found in the usual place under $(-xmodpath)/kernel/vmlinux.ctfa.

Bugfixes since 1.0.2

  • Fix a variety of small memory leaks and use-of-uninitialized-data bugs.

  • Clean up compiler warnings.

Build-time improvements since 1.0.2

  • Improve the generation of signal.d: work better with newer glibc versions.

Library interface changes since 1.0.2

  • Add more DTRACE_PROBE definitions to sdt.h, for SystemTap compatibility.

Bugfixes since 1.0.0

  • The -c option works on ARM64 now, as does the -x evaltime option.
  • Improvements to the testsuite and testsuite runner.
  • No longer crash when attempting to trace ourself.
  • Fixes for crashes and deadlocks of both DTrace and the traced process when DTrace terminates at the wrong instant.
  • No longer deadlock when -c/-p processes create new threads.
  • Stop the disassembler coredumping.

libdtrace-ctf changes since 0.8.1

  • New file format boosting the number of types from 327672 to 2^312, the number of struct and union members and enumerated values from 2^10 to 2^25, and the number of type kinds to 64 (for future expansion). The old file format is still fully supported.
  • Add ctf_add_struct_sized() and ctf_add_union_sized(), allowing callers to specify a size for structs and unions which is larger than the size computed by aligning the last element. This is useful if the compiler adds extra padding beyond that which would be added by the last element alone.
  • ctf_ar now extracts CTF data from CTF archives without recompressing or changing it. It supports a -u option to force opening and recompressing: note that this will upgrade CTFv1 data to v2 in the process.
  • Fix a bug causing the heap to be mprotect()ed if a CTF section was passed in to ctf_bufopen() containing contents generated by libdtrace-ctf 1.0.0 or above.
  • Work around some very minor CTF-generation bugs seen in CTF in the wild, converting a few type conflict errors into silent continued operation.
  • ctf_dump now shows the size of each type.
Clone this wiki locally