- Upgrade to version 5.2. See systemtap.changes for changelog - Upgrade to version 5.2. See systemtap.changes for changelog - Resolve errors with linux-6.13 based kernels. Building trivial 'hello world' failed with: <command-line>: fatal error: {path_to}stapconf.h: No such file or directory Attemptng to preserve build directory (-k) caused an infinite loop of: /usr/src/linux-6.13.4-1/scripts/Makefile.build:370: warning: overriding recipe for target 'modules.order' New patch: linux-6.13-fedora-compatibility.patch New patch: rawhide-6.13-kbuild-compatibility.patch - Update to version 5.2 Summary of changes: * SystemTap frontend (stap) changes - New /* pragma:suffix */ for file-level embedded C code blocks to be placed near the end of the emitted kernel module C file. Corresponding macros allow additional C hooks for module init/exit. - With elfutils 0.192's release on 2024-10-18, the "metadata" based probes announced in systemtap 5.0 should now be increasingly available. * SystemTap backend changes - Numerous kernel portability changes - "probe never" probes don't emit C code at all any more. - The standard Fedora spec packaging breaks up the sdt.h header file and the /usr/bin/dtrace stub-builder script, for those cases where the macros in sdt.h are sufficient. - More robust message transport draining during shutdown to prevent message losses. * SystemTap tapset changes - Numerous kernel portability changes - Added a few functions to inet_sock.stp. * SystemTap sample scripts - traceio3.stp: Trace VFS operations by filename regex. - swapmonitor.stp: Trace swap operations. * Bugfixes - PR31597 Systemtap not extracting all the data sent to the print data in the buffers before shutdown - PR31707 Need a way to postpone emitting the file-level embedded C blocks - PR31708 Probe never handlers still emit C code for the handler handlers and probe local structs - PR31699 UBSAN errors for systemtap map functions with Fedora Rawhide and Fedora 39 6.8.8 kernels - PR31740 @hist_log affects the result of @variance - PR31893 access_ok() was called without turning off page faults - PR32064 SEC_ERROR_BAD_DATABASE during very first stap-server start - PR31703 Git detection false positive when 'which' not available - PR32107 Drop obsolete -Werror hack in buildrun.cxx - PR32194 Reflect the uprobe_unregister() split - PR32209 No tracepoints seen using kernel-6.12 - PR32302 Unrecognized tracepoints - RHEL-55262 Handle S390_lowcore macro removal - RHEL-66275 Add some inet_sock.stp tapset functions. - RHEL-66150 Fix cachestat.stp for newer kernels. - RHEL-66577 Add swapmonitor.stp example script. OBS-URL: https://build.opensuse.org/package/show/devel:tools/systemtap?expand=0&rev=154
55 lines
1.9 KiB
Diff
55 lines
1.9 KiB
Diff
From: Frank Ch. Eigler <fche@redhat.com>
|
|
Date: Thu Jan 9 18:30:13 2025 -0500
|
|
Subject: linux 6.13/fedora compatibility
|
|
Git-commit: ebee5ff5bda46f331ae5eade5185f1816e4b45f0
|
|
Signed-off-by: Tony Jones <tonyj@suse.de>
|
|
|
|
PR32458: linux 6.13/fedora compatibility
|
|
|
|
It appears as though an unnecessarily complicated bit of our
|
|
module-building process, invoking a nested $(MAKE) to generate the
|
|
STAPCONF_HEADER header file. This stopped working with a fedora
|
|
rawhide 6.13-rc thing, leading to frankly mystifying phenomena,
|
|
including our own generated Makefile being rewritten (!!!). This
|
|
is now simplified.
|
|
|
|
diff --git a/buildrun.cxx b/buildrun.cxx
|
|
index e5cb563b8..1dae071d1 100644
|
|
--- a/buildrun.cxx
|
|
+++ b/buildrun.cxx
|
|
@@ -345,11 +345,6 @@ compile_pass (systemtap_session& s)
|
|
|
|
o << "STAPCONF_HEADER := " << s.tmpdir << "/" << s.stapconf_name << endl;
|
|
o << ".DELETE_ON_ERROR: $(STAPCONF_HEADER)" << endl;
|
|
- o << "$(STAPCONF_HEADER):" << endl;
|
|
- o << "\t";
|
|
- if (s.verbose < 4)
|
|
- o << "@";
|
|
- o << "$(MAKE) -f \"$(firstword $(MAKEFILE_LIST))\" gen-stapconf" << endl;
|
|
|
|
vector<string> cs; // to hold autoconf C file names
|
|
|
|
@@ -570,8 +565,10 @@ compile_pass (systemtap_session& s)
|
|
|
|
o2.close ();
|
|
|
|
- o << ".PHONY: gen-stapconf" << endl;
|
|
- o << "gen-stapconf: " << stap_export_nm;
|
|
+ // PR32458 (!) Build the combined conf header as an ordinary
|
|
+ // dependency of the module.o file. Don't invoke a sub-$(MAKE) with
|
|
+ // crude command line parsing.
|
|
+ o << "$(STAPCONF_HEADER): " << stap_export_nm;
|
|
for (unsigned i=0; i<cs.size(); i++)
|
|
o << " " << s.tmpdir << "/" << cs[i] << ".h";
|
|
o << endl;
|
|
@@ -580,7 +577,8 @@ compile_pass (systemtap_session& s)
|
|
if (s.verbose < 4)
|
|
o << "@";
|
|
o << "cat $^ > $(STAPCONF_HEADER)" << endl;
|
|
-
|
|
+ o << s.module_name <<".o : $(STAPCONF_HEADER)" << endl;
|
|
+
|
|
o << module_cflags << " += -include $(STAPCONF_HEADER)" << endl;
|
|
|
|
for (unsigned i=0; i<s.c_macros.size(); i++)
|