systemtap 5.4 release

Frank Ch. Eigler fche@redhat.com
Fri Oct 31 17:12:20 GMT 2025


The SystemTap team announces release 5.4

@cast() operator uses <vmlinux.h> by default.  Tightened up type
inference/checking with @defined() operators.


= Where to get it

https://sourceware.org/systemtap/ - our project page
https://sourceware.org/systemtap/ftp/releases/
https://koji.fedoraproject.org/koji/packageinfo?packageID=615
git tag release-5.4 (commit 911a1354aac2)

There have been around 38 commits since the last release.
There have been around 9.5 bugs fixed / features added since the last release.


= SystemTap frontend (stap) changes

- The kernel-context @cast operator now implicitly searches a kernel's
  <vmlinux.h> generated header file first, if available (kernel 5.7+),
  for type declarations.  This can make some debuginfo access
  unnecessary, and thus processing faster.  It can work around kernel
  API changes where type declarations move between headers.
  Use --compatible=5.3 to disable this behaviour.
  Use @cast(..., "kernel<vmlinux.h>") manually if desired.

- Type checking and autocast processing have been made more thorough,
  so elided variables are checked more and @defined() tests may be
  more complicated.  Preexisting scripts that rely on elision for
  bypassing type violations may now get caught.  No --compatible
  option exists to suppress this new behaviour.
        

= SystemTap backend changes

- The sys/sdt.h file now arranges to include the section flag "R"
  (RETAIN) for the .stapsdt.base elf sections related to sdt markers,
  for compatibility with aggressive GC operations in some linkers.

- Kernel portability changes


= SystemTap tapset changes

- Kernel portability changes


= SystemTap sample scripts

- All ~200 examples can be found at https://sourceware.org/systemtap/examples/

- The dropwatch.stp adds numeric drop-reason codes to the statistics.


= Examples of tested kernel versions

4.18.0 (RHEL8 + CentOS Stream 8 x86_64, aarch64, ppc64le, s390x)
5.14.0 (RHEL9 + CentOS Stream 9 x86_64, aarch64, ppc64le, s390x)
6.11.0 (RHEL10 + CentOS Stream 10 x86_64, aarch64, ppc64le, s390x)
6.15.9 (Fedora, x86_64)
6.18.0-rc (Fedora rawhide x86_64)

Some test results are stored in bunsen, see
https://sourceware.org/systemtap/links.html


= Contributors for this release

Aaron Merey, Alexander Kanavin*, Andreas Schwab*, Frank Ch. Eigler,
Martin Cermak, Seiichi Ikarashi*, Sergei Trofimovich, Serhei Makarov,
William Cohen, Xinhua Li

Special thanks to new contributors, marked with '*' above.


= Bugs fixed for this release <https://sourceware.org/PR#####>
  <issues.redhat.com/browse/RHEL-####>

Bug 32964 - @defined() not finding expected member fields
Bug 33045 - Systemtap does not work with Fedora rawhide kernel-6.16.0
Bug 33303 - stap --dyninst mode should not look at secureboot mode stuff at all
Bug 33324 - runtime/transport/relay_v2.c incompatible with Kernel-6.17
Bug 33347 - combat overenthusiastic gc during linking of sys/sdt.h .stapsdt.base section
Bug 33428 - support/prefer @cast against kernel omnibus vmlinux.h
Bug 33574 - error: ‘const struct proc_ns_operations’ has no member named ‘type’
RHEL-90805 - Fix dev.stp tapset to work with RHEL 9.7 kernel
RHEL-112612 - Use systemd-tmpfiles in systemtap.spec



More information about the Systemtap mailing list