]> sourceware.org Git - systemtap.git/log
systemtap.git
4 days agoPR32607: undefeat stapconf_HASH caching master
Frank Ch. Eigler [Tue, 28 Jan 2025 20:32:47 +0000 (15:32 -0500)]
PR32607: undefeat stapconf_HASH caching

Don't try to outsmart make with the autoconf_FOO.c.h ->
stapconf_HASH.h manufacturing steps in the generated module makefile.
If stap knows the result stapconf_*.h was pulled in from the module
cache, there's no need to tell make about the autoconf_* files, or at
least not to activate them in the usual dependency graph.  This
restores proper stapconf* caching, absence of which showed sometimes
absurd compilation times on small VMs.

12 days agosystemtap.spec: disable %check by default
Frank Ch. Eigler [Mon, 20 Jan 2025 14:00:36 +0000 (09:00 -0500)]
systemtap.spec: disable %check by default

This cannot be enabled generally, because build system kernels
may be drastically different from the rpm target distro kernels,
thus the kernel-devel versions may vary or just be unavailable.

12 days agosystemtap.spec: for %check smoketest, hard BuildRequire kernel-devel
Frank Ch. Eigler [Mon, 20 Jan 2025 13:23:01 +0000 (08:23 -0500)]
systemtap.spec: for %check smoketest, hard BuildRequire kernel-devel

Leaving it conditional appears insufficient if e.g. the builds are done
in a container.

13 days agopost-release version bump -> 5.3
Frank Ch. Eigler [Mon, 20 Jan 2025 03:03:38 +0000 (22:03 -0500)]
post-release version bump -> 5.3

13 days agolinux 6.13 compatibility: uprobes callback functions
Frank Ch. Eigler [Sun, 19 Jan 2025 21:36:44 +0000 (16:36 -0500)]
linux 6.13 compatibility: uprobes callback functions

Compensate for linux commit da09a9e0c3eab1 with autoconf-uprobes-cb-data.c .

2 weeks ago(buildbot bump4)
Frank Ch. Eigler [Sat, 18 Jan 2025 13:44:17 +0000 (08:44 -0500)]
(buildbot bump4)

2 weeks ago(buildbot bump3)
Frank Ch. Eigler [Sat, 18 Jan 2025 12:32:18 +0000 (07:32 -0500)]
(buildbot bump3)

2 weeks ago(buildbot bump2)
Frank Ch. Eigler [Sat, 18 Jan 2025 11:41:40 +0000 (06:41 -0500)]
(buildbot bump2)

2 weeks ago(buildbot bump)
Frank Ch. Eigler [Sat, 18 Jan 2025 03:10:09 +0000 (22:10 -0500)]
(buildbot bump)

2 weeks agoruntime: gcc-15 -Werror=unterminated-string-initialization workarounds
Frank Ch. Eigler [Sat, 18 Jan 2025 01:39:42 +0000 (20:39 -0500)]
runtime: gcc-15 -Werror=unterminated-string-initialization workarounds

Use string literals more pedantically.

2 weeks agoRevert "add support of compilation against clang and llvm's libc++"
Frank Ch. Eigler [Sat, 18 Jan 2025 01:31:15 +0000 (20:31 -0500)]
Revert "add support of compilation against clang and llvm's libc++"

This reverts commit 371b8390d37be73106a5332ad4abe403bc74a29a.

The configury is not completed, so machines without
boost/iostreams/device/file_descriptor.hpp just fail to compile
during the build, rather than falling back or exiting during
configure.

2 weeks agoPR32458: rawhide (6.13) kbuild compatibility
Frank Ch. Eigler [Sat, 18 Jan 2025 00:40:56 +0000 (19:40 -0500)]
PR32458: rawhide (6.13) kbuild compatibility

Subject kernel versions introduce changes to the kbuild $(MAKE)
invocations process command line options, and twiddle with working
directories, making our systemtap module Makefile not quite
compatible.  Sprinkle $(obj)/ liberally around all the generated
header files (used for autoconf* purposes) and nearby.  This appears
to make both >6.13 and <6.13 kbuilds happy.

2 weeks agoconfigury: regenerate on fedora 41
Frank Ch. Eigler [Fri, 17 Jan 2025 12:54:30 +0000 (07:54 -0500)]
configury: regenerate on fedora 41

2 weeks agotestsuite: tracepoint_list.exp: skip active probes
Frank Ch. Eigler [Fri, 17 Jan 2025 12:04:35 +0000 (07:04 -0500)]
testsuite: tracepoint_list.exp: skip active probes

perf list may show active kprobes/uprobes from other concurrent
sessions.  These are not tracepoints that systemtap can possibly
attach to.

2 weeks agoPR32524 cont'd: regenerate configury
Frank Ch. Eigler [Mon, 6 Jan 2025 00:31:56 +0000 (19:31 -0500)]
PR32524 cont'd: regenerate configury

2 weeks agooperator==() is supposed to be a const-method, at least c++20 requires
Denis Pronin [Fri, 3 Jan 2025 07:11:01 +0000 (10:11 +0300)]
operator==() is supposed to be a const-method, at least c++20 requires

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 weeks agoadd support of compilation against clang and llvm's libc++
Denis Pronin [Mon, 30 Dec 2024 10:43:23 +0000 (13:43 +0300)]
add support of compilation against clang and llvm's libc++

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
3 weeks agoPR32458: linux 6.13/fedora compatibility
Frank Ch. Eigler [Thu, 9 Jan 2025 23:30:13 +0000 (18:30 -0500)]
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.

3 weeks agoPR32458 related: add a spec %check
Frank Ch. Eigler [Thu, 9 Jan 2025 15:59:26 +0000 (10:59 -0500)]
PR32458 related: add a spec %check

This is intended to coarsely check kernel-devel <-> systemtap-runtime
compatibility at the moment of building.  (No guarantees about
later. :-)

3 weeks agoRevert "PR32458: try workaround for kbuild Makefile.rhelver regression in fedora...
Frank Ch. Eigler [Thu, 9 Jan 2025 15:17:41 +0000 (10:17 -0500)]
Revert "PR32458: try workaround for kbuild Makefile.rhelver regression in fedora 6.13"

This reverts commit 0dc56d8a4ad2e2ad95600fb1834917ddb40287bc.
It works around only one instance of a larger problem.

3 weeks agoPR32458: try workaround for kbuild Makefile.rhelver regression in fedora 6.13
Frank Ch. Eigler [Tue, 7 Jan 2025 02:43:33 +0000 (21:43 -0500)]
PR32458: try workaround for kbuild Makefile.rhelver regression in fedora 6.13

$SUBJECT kernel build-tree Makefile fragment is no longer sought in
the Proper location, with systemtap-style OOT module makefiles.

Triaged-by: Will Cohen <wcohen@redhat.com>
4 weeks agoRHBZ2333874: testsuite: add stap self-test to environment_sanity.exp
Frank Ch. Eigler [Fri, 3 Jan 2025 17:02:56 +0000 (12:02 -0500)]
RHBZ2333874: testsuite: add stap self-test to environment_sanity.exp

Add a "stap -p4 -c stap -e ..." test, so that
   % make check RUNTESTFLAGS=environment_sanity.exp
is a good "must-pass" smoke test to verify toolchain installation as
well as basic runtime/kernel compatibility.

6 weeks agoPR32401: support additional c++ language codes
Frank Ch. Eigler [Wed, 18 Dec 2024 19:25:19 +0000 (14:25 -0500)]
PR32401: support additional c++ language codes

Extended dwflpp::iterate_over_globals to recognize other c++ language
levels.  Extended cast-scope.exp to iterate over several -std=c++FOO
cflags.  Tweaked cast-scope.cxx to use argv[1] for string parameter,
to prevent compiler short-circuit optimizations on fixed literal
hello-world.

2 months agoPR32302: Move forward decls to tracepoint_extra_decls()
Martin Cermak [Wed, 13 Nov 2024 23:05:01 +0000 (00:05 +0100)]
PR32302:  Move forward decls to tracepoint_extra_decls()

2 months agoReduce the emacs dependencies to the bare minimum
William Cohen [Mon, 11 Nov 2024 20:32:53 +0000 (15:32 -0500)]
Reduce the emacs dependencies to the bare minimum

The "BuildRequires: emacs" in systemtap.spec was used to pull in the
%{_emacs_sitelispdir} macro.  This rpm macro is actually provided by
the emacs-common RPM.  Changed the build dependency in systemtap.spec
to emacs-common to minimize the additional RPMs pulled it.

2 months agoPR32302: Emit forward decls within tracepoint_derived_probe_group() too
Martin Cermak [Mon, 11 Nov 2024 16:41:53 +0000 (17:41 +0100)]
PR32302:  Emit forward decls within tracepoint_derived_probe_group() too

Forward decls added in commit 069def0ae9184 need to actually be
emitted in 2 locations, roughtly corresponding to where
tracepoint_extra_decls() is used.

It would be ideal to put them directly to tracepoint_extra_decls()
but that gives significantly less recognized tracepoints.

The plan is toreview this again though and try to merge the
tracepoint_forward_decls() body into tracepoint_extra_decls()
if possible.

2 months agoRHEL-66577: add swapmonitor.stp sample release-5.2
Xinhua Li [Fri, 8 Nov 2024 19:23:47 +0000 (14:23 -0500)]
RHEL-66577: add swapmonitor.stp sample

Tweaked slightly for generality to newer kernels.  Note that

% stap --example eventcount.stp 'kernel.function("swap_readpage")' 'kernel.function("swap_writepage")'

gives a similar report as the original version of this patch.

2 months agoPR32302: Unrecognized tracepoints
Martin Cermak [Fri, 8 Nov 2024 17:54:10 +0000 (18:54 +0100)]
PR32302:  Unrecognized tracepoints

Add forward decls allowing for more kernel headers to be meaninfgully
used for tracepoint identification.  With this patch kernel.trace("*")
expands to 3080 tracepoints on 6.12.0-0.rc4.20241022gitc2ee9f594da8.40.fc42
x86_64.

2 months agoRHEL-66150: systemtap.examples/cachestat.stp: port to kernel 6.4+
Frank Ch. Eigler [Thu, 7 Nov 2024 20:39:47 +0000 (15:39 -0500)]
RHEL-66150: systemtap.examples/cachestat.stp: port to kernel 6.4+

Follow up on some kernel function renaming, e.g. commit 263e721e3ba1f.

2 months agoRHEL-66275: add a few functions to tapset/linux/inet_sock.stp
Xinhua Li [Thu, 7 Nov 2024 19:02:21 +0000 (14:02 -0500)]
RHEL-66275: add a few functions to tapset/linux/inet_sock.stp

Test with:

root% stap -ve 'probe kernel.function("tcp_connect"){ printf("%6d %16s %6d %16s:%6d -> %16s:%6d\n", uid(), execname(), pid(),inet_get_ip_dest($sk), inet_get_local_port($sk), inet_get_ip_source($sk), inet_get_dest_port($sk))}'

2 months agoNEWS 5.2: nail down a date
Frank Ch. Eigler [Thu, 7 Nov 2024 14:26:39 +0000 (09:26 -0500)]
NEWS 5.2: nail down a date

2 months agoAUTHORS micro canonicalization
Frank Ch. Eigler [Wed, 6 Nov 2024 01:20:33 +0000 (20:20 -0500)]
AUTHORS micro canonicalization

2 months agoDeal with kernels pre-6.12 kernel that relocated unaligned.h
William Cohen [Wed, 6 Nov 2024 21:24:06 +0000 (16:24 -0500)]
Deal with kernels pre-6.12 kernel that relocated unaligned.h

Observed on kernel-6.11.0-28.el10 the <asm/unaligned.h> was moved to
<linux/unaligned.h>.  The check was just looking at the kernel version
which was not sufficient on this Linux 6.11 with a backport moving
unaligned.h.

2 months agopre-release update-docs
Frank Ch. Eigler [Tue, 5 Nov 2024 21:46:01 +0000 (16:46 -0500)]
pre-release update-docs

2 months agopre-release bump
Frank Ch. Eigler [Tue, 5 Nov 2024 21:39:50 +0000 (16:39 -0500)]
pre-release bump

2 months agopre-release bumps
Frank Ch. Eigler [Tue, 5 Nov 2024 18:45:14 +0000 (13:45 -0500)]
pre-release bumps

3 months agoFix typo in languange reference
Martin Garton [Mon, 21 Oct 2024 10:34:59 +0000 (11:34 +0100)]
Fix typo in languange reference

This fixes the spelling of "shallow".

3 months agoRemove obsolete systemtap.base/marker.exp
William Cohen [Fri, 25 Oct 2024 17:08:05 +0000 (13:08 -0400)]
Remove obsolete systemtap.base/marker.exp

Kernel markers were removed by git commit fc5377668c3d808e1 in 2009
from the 2.6.32 kernels.  At this point marker.exp test just pushes up
the UNTESTED count of the testsuite and does not provide any useful
testing.  Removing marker.exp to clean up the testsuite.

3 months agoUse "uname -m" rather than "uname -i" for register_*.exp tests
William Cohen [Fri, 25 Oct 2024 14:34:14 +0000 (10:34 -0400)]
Use "uname -m" rather than "uname -i" for register_*.exp tests

Several other tests for specific architectures were using "uname -i".
On newer Fedora distributions this returns "unknown" rather than the
hardware platform. On RHEL 8 "uname -i" works.  It returns the struct
utsname machine field, the same field that "uname -m" would print.
Switching these register_*.exp tests to use "uname -m".

3 months agoRemove testing of dcookie syscall from systemtap.syscall/arg_write.stp
William Cohen [Thu, 24 Oct 2024 17:27:06 +0000 (13:27 -0400)]
Remove testing of dcookie syscall from systemtap.syscall/arg_write.stp

The dcookie support was removed from the linux 5.12 kernel (git commit
be65de6b03aa6).  Need to remove testing of dcookie syscall from
arg_write test to allow this test to run on newer kernels.  There is
still testing of argument writes on the dir and poll syscalls.

3 months agoFor preprocessor.exp use "uname -m" to find the machine architecture
William Cohen [Thu, 24 Oct 2024 15:57:40 +0000 (11:57 -0400)]
For preprocessor.exp use "uname -m" to find the machine architecture

On Fedora "uname -i" returns "unknown" which causes the preprocessor.exp
test to fail.  Reverting back to "uname -m".

3 months agoAllow preprocessor.exp to work with Linux 6.x kernels
William Cohen [Thu, 24 Oct 2024 14:43:44 +0000 (10:43 -0400)]
Allow preprocessor.exp to work with Linux 6.x kernels

3 months agoUpdate systemtap.base/cast.stp test to work with newer kernels
William Cohen [Wed, 9 Oct 2024 01:43:31 +0000 (21:43 -0400)]
Update systemtap.base/cast.stp test to work with newer kernels

Linux kernel commit ec1d281923cf changed the usage field in the
task_struct from atomic_t to refcount_t.  The internal fields of the
two types are different.  Updated the cast.stp test to use the
appropriate type and field regardless which type is being used.

3 months agoUpdate systemtap.printf/memory1_module.c to compile with newer kernels
William Cohen [Wed, 9 Oct 2024 00:54:29 +0000 (20:54 -0400)]
Update systemtap.printf/memory1_module.c to compile with newer kernels

Newer kernels are built with -Wmissing-prototypes enabled.  Need to
add prototypes for the exported functions in the module to allow it to
compile.  Also select the appropriate struct (struct proc_ops for
newer kernels or struct file_operations for older kernels) so the
stm_fops_cmd argument for proc_create() is the correct type.

3 months agoCorrect systemtap.base/regrediag.exp test name
William Cohen [Tue, 8 Oct 2024 17:56:40 +0000 (13:56 -0400)]
Correct systemtap.base/regrediag.exp test name

The regrediag.exp was attempting to build a non-existent
regrewarning.stp.  Corrected the test name to "regrediag" to run
regrediag.stp.

3 months agoAddress the Linux 6.12 move of the unaligned.h include file
William Cohen [Mon, 7 Oct 2024 15:27:10 +0000 (11:27 -0400)]
Address the Linux 6.12 move of the unaligned.h include file

The Linux git commit 5f60d5f6bb moved unaligned.h from asm/unaligned.h
to linux/unaligned.h.  Adjusted runtime/sym.c to include the
unaligned.h from the appropriate location.

4 months agoPR32209: Improve the fix per bugzilla comment #6
Martin Cermak [Wed, 2 Oct 2024 07:25:58 +0000 (09:25 +0200)]
PR32209: Improve the fix per bugzilla comment #6

4 months agoPR32209: Define the __COUNT_ARGS macro conditionally
Martin Cermak [Mon, 30 Sep 2024 09:12:56 +0000 (11:12 +0200)]
PR32209: Define the __COUNT_ARGS macro conditionally

4 months agoPR32194: Use v6.12 versions of uprobe register and unregister functions
Martin Cermak [Tue, 24 Sep 2024 10:00:10 +0000 (12:00 +0200)]
PR32194: Use v6.12 versions of uprobe register and unregister functions

Kernel 6.12 comes with kernel commits 04b01625d and 3c83a9ad changing
the way uprobe register and unregister functions work.

4 months agoRHEL-47342: clarify that the systemtap-client subrpm is for -server use
Frank Ch. Eigler [Fri, 6 Sep 2024 14:04:59 +0000 (10:04 -0400)]
RHEL-47342: clarify that the systemtap-client subrpm is for -server use

There was confusion between -client and -devel.

4 months agoPR32107: Drop obsolete -Werror hack
Sam James [Wed, 21 Aug 2024 06:44:41 +0000 (07:44 +0100)]
PR32107: Drop obsolete -Werror hack

This was added in 2537a8805ce500b4e3474317dcbca4744895326e to workaround
a packaging whoopsie on our side in Gentoo (long before me!). It is now
obsolete and has been for a decade. Clean it up.

5 months agoAdjust the rpc.stp tapset to work with newer kernels
William Cohen [Mon, 2 Sep 2024 23:38:47 +0000 (19:38 -0400)]
Adjust the rpc.stp tapset to work with newer kernels

Changes in the tapset made to address:
- $timeout is not available in a number of places (kernel commit  c743b4259c3a)
- svc_destroy has $servp in place of $serv
- svc_process is a void function (kernel commit 55fcc7d9159de)

5 months agoRHEL-55262: Handle S390_lowcore macro removal
Martin Cermak [Mon, 2 Sep 2024 15:16:16 +0000 (17:16 +0200)]
RHEL-55262: Handle S390_lowcore macro removal

In kernel commit 39976f1278a9, macro S390_lowcore was replaced with
get_lowcore() causing https://issues.redhat.com/browse/RHEL-55262 .

5 months agorhbz2280168: spec nit to track %{_libexecdir}/systemtap/python/
Frank Ch. Eigler [Fri, 30 Aug 2024 19:46:28 +0000 (15:46 -0400)]
rhbz2280168: spec nit to track %{_libexecdir}/systemtap/python/

5 months agorhbz2306555: move dtrace.1 man page to sdt-dtrace subpackage
Frank Ch. Eigler [Tue, 27 Aug 2024 22:36:54 +0000 (18:36 -0400)]
rhbz2306555: move dtrace.1 man page to sdt-dtrace subpackage

5 months agosession.cxx: fix syntax error in last commit
Frank Ch. Eigler [Tue, 20 Aug 2024 17:39:13 +0000 (13:39 -0400)]
session.cxx: fix syntax error in last commit

Reported-by: Will Cohen <wcohen@redhat.com>
5 months agosession.cxx: kernel 6.11-rc3 found serviceable
Frank Ch. Eigler [Tue, 20 Aug 2024 15:46:06 +0000 (11:46 -0400)]
session.cxx: kernel 6.11-rc3 found serviceable

5 months agosession.cxx: note 6.10 in supporter kernel version range
Frank Ch. Eigler [Tue, 20 Aug 2024 13:50:43 +0000 (09:50 -0400)]
session.cxx: note 6.10 in supporter kernel version range

5 months agorhbz2305568: devel subrpm should include vimfile/ subdirs too
Frank Ch. Eigler [Mon, 19 Aug 2024 19:48:39 +0000 (15:48 -0400)]
rhbz2305568: devel subrpm should include vimfile/ subdirs too

... not just the individual .vim files.

5 months agosystemtap.spec: http:// -> https://
Frank Ch. Eigler [Tue, 13 Aug 2024 15:56:45 +0000 (11:56 -0400)]
systemtap.spec: http:// -> https://

... because why not

5 months agorhbz2296275: systemtap.spec: Final split of sdt-dtrace and sdt-devel
Lumír Balhar [Tue, 13 Aug 2024 15:55:16 +0000 (11:55 -0400)]
rhbz2296275: systemtap.spec: Final split of sdt-dtrace and sdt-devel

systemtap-sdt-devel subrpm no longer requires systemtap-sdt-dtrace.

5 months agoPR32064: SEC_ERROR_BAD_DATABASE during very first stap-server start
Martin Cermak [Fri, 9 Aug 2024 09:26:57 +0000 (11:26 +0200)]
PR32064: SEC_ERROR_BAD_DATABASE during very first stap-server start

5 months agoRHEL-52491: NSS 3.101.0 compatibility
Martin Cermak [Fri, 9 Aug 2024 05:40:43 +0000 (07:40 +0200)]
RHEL-52491: NSS 3.101.0 compatibility

After NSS rebased to 3.101.0, systemtap stopped being able to grant
trust to stap-server: https://issues.redhat.com/browse/RHEL-52491 .
This patch fixes it.

5 months agotestsuite pr14546: make unverbose
Frank Ch. Eigler [Thu, 8 Aug 2024 21:30:21 +0000 (17:30 -0400)]
testsuite pr14546: make unverbose

Previous version of this test was painfully verbose.  New code
runs stap under "-u" unoptimized mode to compute the backtraces
(to verify non-corruption of memory during those ops), but does
not actually print them any more.

6 months agoGenerate DWARF for python HelperSDT (refix)
Martin Cermak [Fri, 26 Jul 2024 08:53:59 +0000 (10:53 +0200)]
Generate DWARF for python HelperSDT (refix)

Refix commit 4e8058f38d7f2ec2040d43ddcfddff5217e89423 by letting
CFLAGS propagate to python/setup.py through the Makefile, instead
of passing the flag explicitly.  Suggested by Miro Hroncok in
https://issues.redhat.com/browse/RHEL-43481 .

6 months agoGenerate DWARF for HelperSDT/_HelperSDT*.so
Martin Cermak [Thu, 25 Jul 2024 14:15:53 +0000 (16:15 +0200)]
Generate DWARF for HelperSDT/_HelperSDT*.so

Python Extension Flags Reduction effort [1] dropped GCC -g switch
from the build and linker flags (CFLAGS and LDFLAGS) saved internally
in the Python interpreter for use by distutils and other build systems.

For systemtap this means that the expected debugging symbols weren't
generated for the Helper SDT python module, e.g.:

/usr/lib/debug/usr/lib64/python3.12/site-packages/HelperSDT/_HelperSDT.\
cpython-312-x86_64-linux-gnu.so-5.1-7.el10.x86_64.debug
in systemtap-runtime-python3-debuginfo ... is missing debugging symbols.

To generate the needed debugging symbols, the -g switch  needs to be
passed explicitly to the Helper SDT gen script via extra_compile_args.

-------
[1] https://fedoraproject.org/wiki/Changes/Python_Extension_Flags_Reduction

6 months agoMake stp_task_work compatible with 6.11 kernels
Martin Cermak [Wed, 24 Jul 2024 14:47:42 +0000 (16:47 +0200)]
Make stp_task_work compatible with 6.11 kernels

Update systemtap runtime so that it works with kernel commit
68cbd415dd4b task_work:

s/task_work_cancel()/task_work_cancel_func()/

6 months agoNEWS: note .spec change re. -dtrace subrpm
Frank Ch. Eigler [Thu, 18 Jul 2024 16:32:28 +0000 (12:32 -0400)]
NEWS: note .spec change re. -dtrace subrpm

6 months agoNew sdt-dtrace subpackage for dtrace tool (rhbz#2296275)
Lumir Balhar [Thu, 18 Jul 2024 16:29:09 +0000 (12:29 -0400)]
New sdt-dtrace subpackage for dtrace tool (rhbz#2296275)

This is phase one of the approved self-contained change:
https://fedoraproject.org/wiki/Changes/Separate_dtrace_package

Phase two will be to switch all packages that need the dtrace tool
to the new systemtap-sdt-drace and then we can remove
the requirement from systemtap-sdt-devel package.

6 months agoRHBZ2297063: stap-prep should not have DEBUGINFOD_PROGRESS chattiness
Frank Ch. Eigler [Thu, 11 Jul 2024 22:42:29 +0000 (18:42 -0400)]
RHBZ2297063: stap-prep should not have DEBUGINFOD_PROGRESS chattiness

6 months agopost-release 5.2 version bump
William Cohen [Wed, 10 Jul 2024 18:14:57 +0000 (14:14 -0400)]
post-release 5.2 version bump

7 months agoUpdate tty.stp tapset for Linux 6.1 and newer
William Cohen [Tue, 2 Jul 2024 02:55:43 +0000 (22:55 -0400)]
Update tty.stp tapset for Linux 6.1 and newer

The buildok/tty-detailed.stp test was failing on Linux kernels 6.1 and
newer.  The tty.stp tapset was updated to address:

  - the n_tty_read() $buf argument becoming $kbuf
    (Linux git commit 3b830a9c34d5897be)
  - removal of the magic field from tty_struct
    (Linux git commit 7a4e0d2c7fb8e28bb)

7 months agoAllow buildok/twentyseven.stp to work on kernels with inlined do_execve()
William Cohen [Mon, 1 Jul 2024 21:06:46 +0000 (17:06 -0400)]
Allow buildok/twentyseven.stp to work on kernels with inlined do_execve()

A earlier systemtap git commit 35ea394c93d3 disabled
buildok/twentyseven.stp probing of inlined versions of do_execve()
because the arguments being used were not available on Linux 4.11
kernels for the inlined version.  However, on newer x86_64 Fedora 39
systems the compiler is optimizing the Linux kernel 6.9.7 kernel code
so only the inlined version of do_execve() exists.  Loosening the
tewentyseven.stp probe to probe both inlined and non-inlined versions
of do_execve() to allow the test to work on newer systems.

7 months agoUpdate scheduler.stp tapset to work with newer Linux kernels
William Cohen [Mon, 1 Jul 2024 20:46:48 +0000 (16:46 -0400)]
Update scheduler.stp tapset to work with newer Linux kernels

The buildok/scheduler-detailed.stp was failing due to a number
of changes in the Linux kernel.  The scheduler.stp tapset
has been updated to address those Linux kernel changes:

   - scheduler_tick() => sched_tick() (Linux git commit cad6967ac10843)
   - send_signal() => send_signal_locked() (Linux git commit 157cc18122b4a145)
   - kernel tracepoint sched_signal_send => signal_generate
     (Linux git commit d1eb650ff4130)

7 months ago+ configury refresh for last stap-prep Makefile.am tweak
Frank Ch. Eigler [Sat, 29 Jun 2024 17:13:09 +0000 (13:13 -0400)]
+ configury refresh for last stap-prep Makefile.am tweak

7 months agostap-prep: install it into $prefix/bin just like any other script
Frank Ch. Eigler [Sat, 29 Jun 2024 17:10:32 +0000 (13:10 -0400)]
stap-prep: install it into $prefix/bin just like any other script

7 months agoUpdate nfsderrno.stp to work with Linux 6.10
William Cohen [Fri, 28 Jun 2024 21:06:24 +0000 (17:06 -0400)]
Update nfsderrno.stp to work with Linux 6.10

The NFSERR_OPNOTSUPP error is not a valid NFS described
by any RFC and has been removed from the Linux 6.10
kernels by git commit 939cb14d51a.  For the Linux 6.10
kernels just make sure it is set to the value previously
used by earlier kernels for compatibility.

7 months agoUpdate pmap_agg_overflow.stp to work with Linux 6.10 kernels
William Cohen [Fri, 28 Jun 2024 18:52:16 +0000 (14:52 -0400)]
Update pmap_agg_overflow.stp to work with Linux 6.10 kernels

The Linux kernel renamed scheduler_tick() to sched_tick()
in git commit 86dd6c04ef9f213e.  Adjusted pmap_agg_overflow.stp
to allow the use of either name.

7 months agoUpdate list of semok tests that do not work with the Dyninst backend
William Cohen [Fri, 28 Jun 2024 15:59:28 +0000 (11:59 -0400)]
Update list of semok tests that do not work with the Dyninst backend

There were a couple of newer semok tests that use kernel specific
probes and/or tapset functions that will not build with the Dyninst
backend.  Those are now marked to be KFAIL to accurately reflect
the test results we expect.

7 months agoUpdate list of buildok tests that do not work with the Dyninst backend
William Cohen [Fri, 28 Jun 2024 15:54:15 +0000 (11:54 -0400)]
Update list of buildok tests that do not work with the Dyninst backend

There were a number of newer buildok tests that use kernel specific
probes and/or tapset functions that will not build with the Dyninst
backend.  Those are now marked to be KFAIL to accurately reflect
the test results we expect.

7 months agodummy commit for CI/CD
Frank Ch. Eigler [Fri, 28 Jun 2024 15:15:34 +0000 (11:15 -0400)]
dummy commit for CI/CD

7 months agoEliminate "fgrep is obsolescent" messages from systemtap.log
William Cohen [Wed, 26 Jun 2024 21:18:25 +0000 (17:18 -0400)]
Eliminate "fgrep is obsolescent" messages from systemtap.log

Clean up systemtap.log by using "grep -F" in the place of "fgrep" to
eliminate 1000+ lines of "fgrep is obsolescent" messages from
systemtap.log.

7 months agoUpdate ioblock.stp tapset for Linux 5.11 and newer kernels
William Cohen [Wed, 26 Jun 2024 20:55:23 +0000 (16:55 -0400)]
Update ioblock.stp tapset for Linux 5.11 and newer kernels

The Linux 5.11 kernels removed the $q argument from a number of block
io tracepoints.  The tapset has been adjusted to obtain the $q
information via alternative means.  The newer kernels have also
removed the bi_phys_segments field from the struct bio (Linux kernel
git commit 14ccb66b3f585).  The ioblock.stp tapset now uses the
bi_vcnt field as an approximate representation of that value.

7 months agoUpdate dev.stp tapset for Linux 6.10
William Cohen [Tue, 25 Jun 2024 02:52:32 +0000 (22:52 -0400)]
Update dev.stp tapset for Linux 6.10

Linux 6.10 changes how the partition number is stored in struct block_device.
Linux kernel git commit 1116b9fa15c097 puts the partition number in the lower
8 bits of the __bd_flags and uses an accessor function to obtain it.  The
dev.stp tapset has been adjusted to work with this newer data structure.

7 months agoRISCV registers.stp tapset updated to eliminate -Werror=missing-prototypes error
William Cohen [Wed, 5 Jun 2024 23:39:28 +0000 (07:39 +0800)]
RISCV registers.stp tapset updated to eliminate -Werror=missing-prototypes error

A number of systemtap scripts running on RISCV would get errors
messages about no previous prototype for
'_stp_regs_get_kernel_stack_nth_addr'.  The RISCV registers.stp
tapset has been adjusted to eliminate those errors.

7 months agosym.c: fix module_kallsyms_on_each_symbol not exported
tonyj@suse.de [Tue, 18 Jun 2024 16:52:15 +0000 (09:52 -0700)]
sym.c: fix module_kallsyms_on_each_symbol not exported

module_kallsyms_on_each_symbol has never been exported (as noted by
33fae2d0107f ("This one seems simply like a non-export").

If kallsyms_on_each_symbol is exported (a revert of upstream in our
SLES case) then '!defined(STAPCONF_KALLSYMS_ON_EACH_SYMBOL_EXPORTED)'
is false and the local definition of module_kallsyms_on_each_symbol is
skipped.

This results in:
ERROR: modpost: "module_kallsyms_on_each_symbol" undefined!

Fixes: 33fae2d0107fb6166b4eac3fdffd277829849ab0
Signed-off-by: Tony Jones <tonyj@suse.de>
7 months agoPR31907: STP_TIMING: BUG: using smp_processor_id() in preemptible on debug kernels
Yichun Zhang (agentzh) [Tue, 18 Jun 2024 23:11:15 +0000 (16:11 -0700)]
PR31907: STP_TIMING: BUG: using smp_processor_id() in preemptible on debug kernels

Thanks Junlong Li for the patch.

7 months agoPR31893: access_ok() was called without turning off page faults
Yichun Zhang (agentzh) [Thu, 13 Jun 2024 19:43:24 +0000 (12:43 -0700)]
PR31893: access_ok() was called without turning off page faults

This bug was in function _stp_copy_from_user() of the systemtap runtime.

Thanks Junlong Li for the patch.

7 months agoPR31861: runtime: Add STAP_MODULE_{INIT,EXIT}_HOOK
Yichun Zhang (agentzh) [Fri, 7 Jun 2024 23:25:55 +0000 (16:25 -0700)]
PR31861: runtime: Add STAP_MODULE_{INIT,EXIT}_HOOK

These C macro hooks allow tapsets to define their own C-land
initialization and finalization logic.

7 months agoexamples: add traceio3.stp
Frank Ch. Eigler [Fri, 7 Jun 2024 15:48:10 +0000 (11:48 -0400)]
examples: add traceio3.stp

Inspired by a #systemtap irc conversation.

7 months agoDisable liveness analysis for kernels with CONFIG_MITIGATION_RETPOLINE=y
William Cohen [Wed, 5 Jun 2024 19:38:54 +0000 (15:38 -0400)]
Disable liveness analysis for kernels with CONFIG_MITIGATION_RETPOLINE=y

The upstream linux git commit aefb2f2e619b6c334bc renames
CONFIG_RETPOLINE to CONFIG_MITIGATION_RETPOLINE.  The systemtap
code needs to look for CONFIG_MITIGATION_RETPOLINE setting in addition
to CONFIG_RETPOLINE and disable the liveness analysis if either one
is set.

7 months agoAddress changes in Linux 6.10 /include/linux/vmalloc.h
William Cohen [Tue, 4 Jun 2024 13:46:41 +0000 (09:46 -0400)]
Address changes in Linux 6.10 /include/linux/vmalloc.h

Upstream linux kernel git commit 88ae5fb755b0d contains a number of
changes in /include/linux/vmalloc.h that affect vmalloc, vmalloc_node,
and vzalloc_node definitions.  These are no longer functions but
macros and cannot be found in the list of symbols exported by the
kernel.  Support for vzalloc, vmalloc_node, and vzalloc_node has been
in kernels since Linux 2.6.37.  Given that systemtap requires Linux
3.10 or newer there is no longer a need to check for the existence of
these functions or provide local versions of them.

7 months agoAvoid -Werror=empty-body errors from runtime/linux/uprobes-inode.c
William Cohen [Mon, 3 Jun 2024 19:46:49 +0000 (15:46 -0400)]
Avoid -Werror=empty-body errors from runtime/linux/uprobes-inode.c

Newer linux kernel compiles are being built with -Werror=empty-body.
For some modules generated runtime/linux/uprobes-inode.c is pulled in
and will get error messages like the following:

In file included from /tmp/stapGIM4O9/stap_ded21c54fce18c6570a8930d823aca3a_10928_src.c:2439:
/home/wcohen/systemtap_write/install/share/systemtap/runtime/linux/uprobes-inode.c: In function 'stapiu_change_semaphore_plus':
/home/wcohen/systemtap_write/install/share/systemtap/runtime/linux/uprobes-inode.c:795:5: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
  795 |     ; // already unlocked
      |     ^
cc1: all warnings being treated as errors

Added "{}" in the appropriate location to indicate to the compiler
that this is intentional.

7 months agoAvoid -Werror=old-style-declaration for stap_probes array in generated kernel modules
William Cohen [Mon, 3 Jun 2024 18:40:04 +0000 (14:40 -0400)]
Avoid -Werror=old-style-declaration for stap_probes array in generated kernel modules

With newer linux kernels additional compilers checks are being done
and will get error messages like the following for the generated
module:

/tmp/stapuundLy/stap_2755fca707746de04395c85872aae4b8_1753_src.c:111:1: error: 'static' is not at beginning of declaration [-Werror=old-style-declaration]
  111 | } static stap_probes[];
      | ^
cc1: all warnings being treated as errors

Tweaked the code generation in translate.cxx to output the static
stap_probes array in a form that is agreeable to newer kernel builds.

7 months agoAvoid -Werror=empty-body errors from runtime/linux/debug.h macros
William Cohen [Mon, 3 Jun 2024 18:23:08 +0000 (14:23 -0400)]
Avoid -Werror=empty-body errors from runtime/linux/debug.h macros

When attempting to run the testsuite the sanity.exp test fails
due to the following -Werror=empty-body errors:

/home/wcohen/systemtap_write/install/share/systemtap/runtime/transport/relay_v2.c: In function '__stp_relay_wakeup_timer':
/home/wcohen/systemtap_write/install/share/systemtap/runtime/linux/debug.h:47:36: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
   47 | #define dbug_trans(level, args...) ;
      |                                    ^
/home/wcohen/systemtap_write/install/share/systemtap/runtime/transport/relay_v2.c:195:17: note: in expansion of macro 'dbug_trans'
  195 |                 dbug_trans(0, "relay_v2 wakeup timer expiry\n");
      |                 ^~~~~~~~~~
/home/wcohen/systemtap_write/install/share/systemtap/runtime/transport/symbols.c: In function '_stp_set_stext':
/home/wcohen/systemtap_write/install/share/systemtap/runtime/linux/debug.h:103:34: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
  103 | #define dbug_sym(level, args...) ;
      |                                  ^
/home/wcohen/systemtap_write/install/share/systemtap/runtime/transport/symbols.c:44:17: note: in expansion of macro 'dbug_sym'
   44 |                 dbug_sym(1, "found kernel _stext load address: 0x%lx\n",
      |                 ^~~~~~~~

Changed the effectively empty macros in runtime/linux/debug.h to use
"do { } while (0)" to eliminate these errors.

8 months agoman/error::pass5.7stap: extend with kernel-version-mismatch hints
Frank Ch. Eigler [Sat, 18 May 2024 16:50:13 +0000 (12:50 -0400)]
man/error::pass5.7stap: extend with kernel-version-mismatch hints

8 months agosession.cxx version report: note bumped up kernel minimum to 3.10
Frank Ch. Eigler [Sat, 18 May 2024 16:33:03 +0000 (12:33 -0400)]
session.cxx version report: note bumped up kernel minimum to 3.10

RHEL6 was previously deprecated from the runtime.

8 months agotestsuite/buildok/defined-entry.stp: tweak for newer kernels
Frank Ch. Eigler [Thu, 16 May 2024 23:00:38 +0000 (19:00 -0400)]
testsuite/buildok/defined-entry.stp: tweak for newer kernels

bunsen indicates this as a pesky failure

8 months agoPR31495: teach stap-prep to work with other RT kernels
Martin Cermak [Thu, 16 May 2024 14:51:08 +0000 (16:51 +0200)]
PR31495: teach stap-prep to work with other RT kernels

8 months agoPR31740: use of @hist_log or @hist_linear would lead to bad results in stat ops like...
Yichun Zhang (agentzh) [Wed, 15 May 2024 18:48:06 +0000 (11:48 -0700)]
PR31740: use of @hist_log or @hist_linear would lead to bad results in stat ops like @variance()

The fields bit_shift and stat_ops of pmap were never initialized
properly in such cases.

This page took 0.064864 seconds and 5 git commands to generate.