Files
systemtap/guard-usage-of-vmlinux.h.patch
Tony Jones 25255299e3 - Upgrade to version 5.4. See systemtap.changes for changelog
- Upgrade to version 5.4. See systemtap.changes for changelog
- Upgrade to version 5.4. See systemtap.changes for changelog
- Upgrade to version 5.4
  Drop patch: rawhide-6.13-kbuild-compatibility.patch (upstream)
  Drop patch: linux-6.13-fedora-compatibility.patch (upstream)
  Add patch:  elaborate.cxx-fix-32-bit-build.patch (resolve 32-bit build error)
  Add patch:  guard-usage-of-vmlinux.h.patch (temporary fix)
  Drop explicit packaging of /var/cache/systemtap (jsc#PED-14770)
  Summary of changes (v5.4):
    - 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.
    - 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
    - The dropwatch.stp [script] adds numeric drop-reason codes to the 
      statistics.
  Summary of changes (v5.3):
    - The first pass (-p1) now runs parse operations concurrently over of
      the hundreds of tapset .stp files, potentially saving seconds of
      time at startup.
    - Numerous kernel portability changes

OBS-URL: https://build.opensuse.org/package/show/devel:tools/systemtap?expand=0&rev=156
2026-02-19 03:02:02 +00:00

29 lines
1.1 KiB
Diff

From: Tony Jones <tonyj@suse.de>
Subject: guard usage of vmlinux.h
References: jsc#PED-15105
Upstream: pending
Signed-off-by: Tony Jones <tonyj@suse.de>
Temporary workaround until jsc#PED-15105 is resolved.
Check that .../build/vmlinux.h actually exists before using it.
diff --git a/buildrun.cxx b/buildrun.cxx
index c3e38a2db..4c9251653 100644
--- a/buildrun.cxx
+++ b/buildrun.cxx
@@ -1209,8 +1209,12 @@ make_typequery_kmod(systemtap_session& s, const vector<string>& headers, string&
const string& h = headers[i];
if (h == string("vmlinux.h")) // PR33428: vmlinux.h special case
{
- omf << " -include " << lex_cast_qstring(s.kernel_build_tree) << "/" << lex_cast_qstring("vmlinux.h");
- no_vmlinux_h = false;
+ string vh = s.kernel_build_tree + "/vmlinux.h";
+ if (access(vh.c_str(), R_OK) == 0)
+ {
+ omf << " -include " << lex_cast_qstring(s.kernel_build_tree) << "/" << lex_cast_qstring("vmlinux.h");
+ no_vmlinux_h = false;
+ }
}
else
omf << " -include " << lex_cast_qstring(h); // XXX right quoting?