import systemtap-4.7-1.el8
This commit is contained in:
parent
9381d2dc0b
commit
ebf25a8554
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/systemtap-4.6.tar.gz
|
SOURCES/systemtap-4.7.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
ecc45371b378fc3824a5547b02c030b4123d6769 SOURCES/systemtap-4.6.tar.gz
|
fc943fc3233b111fd80c9cbd063859dc1b699dcb SOURCES/systemtap-4.7.tar.gz
|
||||||
|
@ -1,154 +0,0 @@
|
|||||||
commit ecab2afea46099b4e7dfd551462689224afdbe3a
|
|
||||||
Author: Stan Cox <scox@redhat.com>
|
|
||||||
Date: Wed Dec 1 16:19:22 2021 -0500
|
|
||||||
|
|
||||||
Handle user supplied sdt probe argument template
|
|
||||||
|
|
||||||
User supplied templates were erroneously removed by commit eaa15b047,
|
|
||||||
which complicated the template expansion. To do the above the
|
|
||||||
expansion of STAP_PROBE_ASM(provider, fooprobe,
|
|
||||||
STAP_PROBE_ASM_TEMPLATE(3)) adds an unused argument:
|
|
||||||
STAP_PROBE_ASM(provider, fooprobe, /*template expansion*/ "%[SDT..]..",
|
|
||||||
"use _SDT_ASM_TEMPLATE") A supplied template
|
|
||||||
STAP_PROBE_ASM(provider, fooprobe, "4@%rdx 8@%rax") is left alone. If
|
|
||||||
the varargs has 2 args (the fake "use ..") then macro expansion
|
|
||||||
inserts the expanded string, otherwise "4@.." becomes an ascii op.
|
|
||||||
|
|
||||||
diff --git a/includes/sys/sdt.h b/includes/sys/sdt.h
|
|
||||||
index 28d236d91..24d5e01c3 100644
|
|
||||||
--- a/includes/sys/sdt.h
|
|
||||||
+++ b/includes/sys/sdt.h
|
|
||||||
@@ -290,7 +290,7 @@ __extension__ extern unsigned long long __sdt_unsp;
|
|
||||||
_SDT_ASM_1(.purgem _SDT_TYPE_) \
|
|
||||||
_SDT_ASM_1(.purgem _SDT_TYPE)
|
|
||||||
|
|
||||||
-#define _SDT_ASM_BODY(provider, name, pack_args, args) \
|
|
||||||
+#define _SDT_ASM_BODY(provider, name, pack_args, args, ...) \
|
|
||||||
_SDT_DEF_MACROS \
|
|
||||||
_SDT_ASM_1(990: _SDT_NOP) \
|
|
||||||
_SDT_ASM_3( .pushsection .note.stapsdt,_SDT_ASM_AUTOGROUP,"note") \
|
|
||||||
@@ -417,9 +417,9 @@ __extension__ extern unsigned long long __sdt_unsp;
|
|
||||||
counted, so we don't have to worry about the behavior of macros
|
|
||||||
called without any arguments. */
|
|
||||||
|
|
||||||
-#ifdef SDT_USE_VARIADIC
|
|
||||||
#define _SDT_NARG(...) __SDT_NARG(__VA_ARGS__, 12,11,10,9,8,7,6,5,4,3,2,1,0)
|
|
||||||
#define __SDT_NARG(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12, N, ...) N
|
|
||||||
+#ifdef SDT_USE_VARIADIC
|
|
||||||
#define _SDT_PROBE_N(provider, name, N, ...) \
|
|
||||||
_SDT_PROBE(provider, name, N, (__VA_ARGS__))
|
|
||||||
#define STAP_PROBEV(provider, name, ...) \
|
|
||||||
@@ -468,9 +468,15 @@ __extension__ extern unsigned long long __sdt_unsp;
|
|
||||||
Note that these can use operand templates like %0 or %[name],
|
|
||||||
and likewise they must write %%reg for a literal operand of %reg. */
|
|
||||||
|
|
||||||
+#define _SDT_ASM_BODY_1(p,n,...) _SDT_ASM_BODY(p,n,_SDT_ASM_SUBSTR,(__VA_ARGS__))
|
|
||||||
+#define _SDT_ASM_BODY_2(p,n,...) _SDT_ASM_BODY(p,n,/*_SDT_ASM_STRING */,__VA_ARGS__)
|
|
||||||
+#define _SDT_ASM_BODY_N2(p,n,no,...) _SDT_ASM_BODY_ ## no(p,n,__VA_ARGS__)
|
|
||||||
+#define _SDT_ASM_BODY_N1(p,n,no,...) _SDT_ASM_BODY_N2(p,n,no,__VA_ARGS__)
|
|
||||||
+#define _SDT_ASM_BODY_N(p,n,...) _SDT_ASM_BODY_N1(p,n,_SDT_NARG(0, __VA_ARGS__),__VA_ARGS__)
|
|
||||||
+
|
|
||||||
#if __STDC_VERSION__ >= 199901L
|
|
||||||
# define STAP_PROBE_ASM(provider, name, ...) \
|
|
||||||
- _SDT_ASM_BODY(provider, name, /*_SDT_ASM_STRING */, __VA_ARGS__) \
|
|
||||||
+ _SDT_ASM_BODY_N(provider, name, __VA_ARGS__) \
|
|
||||||
_SDT_ASM_BASE
|
|
||||||
# define STAP_PROBE_ASM_OPERANDS(n, ...) _SDT_ASM_OPERANDS_##n(__VA_ARGS__)
|
|
||||||
#else
|
|
||||||
@@ -478,7 +484,7 @@ __extension__ extern unsigned long long __sdt_unsp;
|
|
||||||
_SDT_ASM_BODY(provider, name, /* _SDT_ASM_STRING */, (args)) \
|
|
||||||
_SDT_ASM_BASE
|
|
||||||
#endif
|
|
||||||
-#define STAP_PROBE_ASM_TEMPLATE(n) _SDT_ASM_TEMPLATE_##n
|
|
||||||
+#define STAP_PROBE_ASM_TEMPLATE(n) _SDT_ASM_TEMPLATE_##n,"use _SDT_ASM_TEMPLATE_"
|
|
||||||
|
|
||||||
|
|
||||||
/* DTrace compatible macro names. */
|
|
||||||
diff --git a/testsuite/systemtap.base/sdt_casm.c b/testsuite/systemtap.base/sdt_casm.c
|
|
||||||
index 1cff23c5f..9b357086c 100644
|
|
||||||
--- a/testsuite/systemtap.base/sdt_casm.c
|
|
||||||
+++ b/testsuite/systemtap.base/sdt_casm.c
|
|
||||||
@@ -3,6 +3,7 @@
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
int x = 42;
|
|
||||||
+ int y = 43;
|
|
||||||
__asm__ __volatile__ (
|
|
||||||
STAP_PROBE_ASM(testsuite, probe0, STAP_PROBE_ASM_TEMPLATE(0))
|
|
||||||
);
|
|
||||||
@@ -10,5 +11,9 @@ int main()
|
|
||||||
STAP_PROBE_ASM(testsuite, probe1, STAP_PROBE_ASM_TEMPLATE(1))
|
|
||||||
:: STAP_PROBE_ASM_OPERANDS(1, x)
|
|
||||||
);
|
|
||||||
+ // Create a template to test explicit template support
|
|
||||||
+ __asm__ __volatile__ (
|
|
||||||
+ STAP_PROBE_ASM(testsuite, probe2, -4@%[ARG1] -4@%[ARG2])
|
|
||||||
+ :: [ARG1] "rm" (x), [ARG2] "rm" (y));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
diff --git a/testsuite/systemtap.base/sdt_casm.exp b/testsuite/systemtap.base/sdt_casm.exp
|
|
||||||
index 5791cb2b9..0cd1cb517 100644
|
|
||||||
--- a/testsuite/systemtap.base/sdt_casm.exp
|
|
||||||
+++ b/testsuite/systemtap.base/sdt_casm.exp
|
|
||||||
@@ -18,7 +18,8 @@ proc cleanup_handler { verbose } {
|
|
||||||
|
|
||||||
set script $srcdir/$subdir/$test.stp
|
|
||||||
set ::result_string {PASS: probe0
|
|
||||||
-PASS: probe1}
|
|
||||||
+PASS: probe1
|
|
||||||
+PASS: probe2}
|
|
||||||
|
|
||||||
set asm_flags [sdt_includes]
|
|
||||||
set asm_flags "$asm_flags additional_flags=-std=c99"
|
|
||||||
diff --git a/testsuite/systemtap.base/sdt_casm.stp b/testsuite/systemtap.base/sdt_casm.stp
|
|
||||||
index 4f2539c93..530a79175 100644
|
|
||||||
--- a/testsuite/systemtap.base/sdt_casm.stp
|
|
||||||
+++ b/testsuite/systemtap.base/sdt_casm.stp
|
|
||||||
@@ -10,3 +10,11 @@ probe process.mark("probe1")
|
|
||||||
else
|
|
||||||
printf("FAIL: %s (%d != 42)\n", $$name, $arg1)
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+probe process.mark("probe2")
|
|
||||||
+{
|
|
||||||
+ if ($arg1 == 42 && $arg2 == 43)
|
|
||||||
+ printf("PASS: %s\n", $$name)
|
|
||||||
+ else
|
|
||||||
+ printf("FAIL: %s (%d/%d != 42/43)\n", $$name, $arg1, $arg2)
|
|
||||||
+}
|
|
||||||
commit 209b5a19c (HEAD -> master, origin/master, origin/HEAD)
|
|
||||||
Author: Stan Cox <scox@redhat.com>
|
|
||||||
Date: Tue Dec 7 09:55:01 2021 -0500
|
|
||||||
|
|
||||||
sys/sdt.h fp constraints: aarch64, s390
|
|
||||||
|
|
||||||
Remove float constraints as per commit 1d3653936 but for aarch64 and s390.
|
|
||||||
|
|
||||||
commit 1d3653936 (HEAD -> master, origin/master, origin/HEAD)
|
|
||||||
Author: Frank Ch. Eigler <fche@redhat.com>
|
|
||||||
Date: Mon Dec 6 12:06:06 2021 -0500
|
|
||||||
|
|
||||||
sys/sdt.h fp constraints cont'd, x86-64 edition
|
|
||||||
|
|
||||||
It appears that various versions of gcc continue to show signs of
|
|
||||||
confusion at our newly offered asm-operand alternatives for floating
|
|
||||||
point sdt.h marker parameters.
|
|
||||||
|
|
||||||
e.g., https://bugzilla.redhat.com/show_bug.cgi?id=2028798
|
|
||||||
|
|
||||||
We may need to restore previous constraints broadly, forcing the
|
|
||||||
compiler to plop floating point parameters into integer storage.
|
|
||||||
|
|
||||||
--- a/includes/sys/sdt.h
|
|
||||||
+++ b/includes/sys/sdt.h
|
|
||||||
@@ -102,9 +102,5 @@
|
|
||||||
# define STAP_SDT_ARG_CONSTRAINT nZr
|
|
||||||
# elif defined __x86_64__
|
|
||||||
-# define STAP_SDT_ARG_CONSTRAINT norfxy
|
|
||||||
-# elif defined __aarch64__
|
|
||||||
-# define STAP_SDT_ARG_CONSTRAINT norw
|
|
||||||
-# elif defined __s390__ || defined __s390x__
|
|
||||||
-# define STAP_SDT_ARG_CONSTRAINT norf
|
|
||||||
+# define STAP_SDT_ARG_CONSTRAINT norx
|
|
||||||
# else
|
|
||||||
# define STAP_SDT_ARG_CONSTRAINT nor
|
|
@ -88,9 +88,37 @@
|
|||||||
# To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
|
# To avoid testsuite/*/*.stp has shebang which doesn't start with '/'
|
||||||
%define __brp_mangle_shebangs_exclude_from .stp$
|
%define __brp_mangle_shebangs_exclude_from .stp$
|
||||||
|
|
||||||
|
%define _systemtap_runtime_preinstall \
|
||||||
|
# See systemd-sysusers(8) sysusers.d(5)\
|
||||||
|
\
|
||||||
|
g stapusr 156\
|
||||||
|
g stapsys 157\
|
||||||
|
g stapdev 158
|
||||||
|
|
||||||
|
%define _systemtap_server_preinstall \
|
||||||
|
# See systemd-sysusers(8) sysusers.d(5)\
|
||||||
|
\
|
||||||
|
g stap-server -\
|
||||||
|
u stap-server - "systemtap compiler server" /var/lib/stap-server /sbin/nologin\
|
||||||
|
m stap-server stap-server
|
||||||
|
|
||||||
|
|
||||||
|
%define _systemtap_testsuite_preinstall \
|
||||||
|
# See systemd-sysusers(8) sysusers.d(5)\
|
||||||
|
\
|
||||||
|
u stapusr - "systemtap testsuite user" / /sbin/nologin\
|
||||||
|
u stapsys - "systemtap testsuite user" / /sbin/nologin\
|
||||||
|
u stapdev - "systemtap testsuite user" / /sbin/nologin\
|
||||||
|
m stapusr stapusr\
|
||||||
|
m stapsys stapusr\
|
||||||
|
m stapsys stapsys\
|
||||||
|
m stapdev stapusr\
|
||||||
|
m stapdev stapdev
|
||||||
|
|
||||||
|
|
||||||
Name: systemtap
|
Name: systemtap
|
||||||
Version: 4.6
|
Version: 4.7
|
||||||
Release: 4%{?release_override}%{?dist}
|
Release: 1%{?release_override}%{?dist}
|
||||||
# for version, see also configure.ac
|
# for version, see also configure.ac
|
||||||
|
|
||||||
|
|
||||||
@ -126,8 +154,6 @@ License: GPLv2+
|
|||||||
URL: http://sourceware.org/systemtap/
|
URL: http://sourceware.org/systemtap/
|
||||||
Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
|
Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
|
||||||
|
|
||||||
Patch1: sdt-asm-glibc.patch
|
|
||||||
|
|
||||||
# Build*
|
# Build*
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -547,7 +573,6 @@ systemtap-runtime-virthost machine to execute systemtap scripts.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -659,9 +684,10 @@ for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
%if %{with_sysusers}
|
%if %{with_sysusers}
|
||||||
install -p -D -m 0644 systemtap-runtime.sysusers %{buildroot}%{_sysusersdir}/systemtap-runtime.conf
|
mkdir -p %{buildroot}%{_sysusersdir}
|
||||||
install -p -D -m 0644 systemtap-server.sysusers %{buildroot}%{_sysusersdir}/systemtap-server.conf
|
echo '%_systemtap_runtime_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-runtime.conf
|
||||||
install -p -D -m 0644 systemtap-testsuite.sysusers %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf
|
echo '%_systemtap_server_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-server.conf
|
||||||
|
echo '%_systemtap_testsuite_preinstall' > %{buildroot}%{_sysusersdir}/systemtap-testsuite.conf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -714,6 +740,9 @@ install -m 644 initscript/logrotate.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/lo
|
|||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
|
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
|
||||||
touch $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
|
touch $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
|
||||||
|
# RHBZ2070857
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_presetdir}
|
||||||
|
echo 'enable systemtap.service' > $RPM_BUILD_ROOT%{_presetdir}/42-systemtap.preset
|
||||||
install -m 644 initscript/systemtap.service $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
|
install -m 644 initscript/systemtap.service $RPM_BUILD_ROOT%{_unitdir}/systemtap.service
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
|
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
|
||||||
install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
|
install -m 755 initscript/systemtap $RPM_BUILD_ROOT%{_sbindir}/systemtap-service
|
||||||
@ -789,7 +818,7 @@ pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitearch
|
|||||||
|
|
||||||
%pre runtime
|
%pre runtime
|
||||||
%if %{with_sysusers}
|
%if %{with_sysusers}
|
||||||
%sysusers_create_compat $RPM_BUILD_ROOT/systemtap-runtime.sysusers
|
echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-runtime.conf -
|
||||||
%else
|
%else
|
||||||
getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
|
getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr
|
||||||
getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
|
getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys
|
||||||
@ -799,7 +828,7 @@ exit 0
|
|||||||
|
|
||||||
%pre server
|
%pre server
|
||||||
%if %{with_sysusers}
|
%if %{with_sysusers}
|
||||||
%sysusers_create_compat $RPM_BUILD_ROOT/systemtap-server.sysusers
|
echo '%_systemtap_server_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-server.conf -
|
||||||
%else
|
%else
|
||||||
getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
|
getent group stap-server >/dev/null || groupadd -f -g 155 -r stap-server
|
||||||
getent passwd stap-server >/dev/null || \
|
getent passwd stap-server >/dev/null || \
|
||||||
@ -810,7 +839,7 @@ exit 0
|
|||||||
|
|
||||||
%pre testsuite
|
%pre testsuite
|
||||||
%if %{with_sysusers}
|
%if %{with_sysusers}
|
||||||
%sysusers_create_compat $RPM_BUILD_ROOT/systemtap-testsuite.sysusers
|
echo '%_systemtap_testsuite_preinstall' | systemd-sysusers --replace=%{_sysusersdir}/systemtap-testsuite.conf -
|
||||||
%else
|
%else
|
||||||
getent passwd stapusr >/dev/null || \
|
getent passwd stapusr >/dev/null || \
|
||||||
useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
|
useradd -c "Systemtap 'stapusr' User" -g stapusr -r -s /sbin/nologin stapusr
|
||||||
@ -895,7 +924,8 @@ exit 0
|
|||||||
|
|
||||||
%post initscript
|
%post initscript
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
/bin/systemctl enable systemtap.service >/dev/null 2>&1 || :
|
# RHBZ2070857 - use systemd presets instead
|
||||||
|
# /bin/systemctl enable systemtap.service >/dev/null 2>&1 || :
|
||||||
%else
|
%else
|
||||||
/sbin/chkconfig --add systemtap
|
/sbin/chkconfig --add systemtap
|
||||||
%endif
|
%endif
|
||||||
@ -1048,6 +1078,7 @@ exit 0
|
|||||||
%files devel -f systemtap.lang
|
%files devel -f systemtap.lang
|
||||||
%{_bindir}/stap
|
%{_bindir}/stap
|
||||||
%{_bindir}/stap-prep
|
%{_bindir}/stap-prep
|
||||||
|
%{_bindir}/stap-profile-annotate
|
||||||
%{_bindir}/stap-report
|
%{_bindir}/stap-report
|
||||||
%dir %{_datadir}/systemtap
|
%dir %{_datadir}/systemtap
|
||||||
%{_datadir}/systemtap/runtime
|
%{_datadir}/systemtap/runtime
|
||||||
@ -1148,6 +1179,7 @@ exit 0
|
|||||||
|
|
||||||
%files initscript
|
%files initscript
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
|
%{_presetdir}/42-systemtap.preset
|
||||||
%{_unitdir}/systemtap.service
|
%{_unitdir}/systemtap.service
|
||||||
%{_sbindir}/systemtap-service
|
%{_sbindir}/systemtap-service
|
||||||
%else
|
%else
|
||||||
@ -1243,6 +1275,10 @@ exit 0
|
|||||||
|
|
||||||
# PRERELEASE
|
# PRERELEASE
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 02 2022 Stan Cox <scox@redhat.com> - 4.7-1
|
||||||
|
- Upstream release, see wiki page below for detailed notes.
|
||||||
|
https://sourceware.org/systemtap/wiki/SystemTapReleases
|
||||||
|
|
||||||
* Tue Dec 07 2021 Stan Cox <scox@redhat.com> - 4.6.4
|
* Tue Dec 07 2021 Stan Cox <scox@redhat.com> - 4.6.4
|
||||||
- sys/sdt.h remove aarch64 and s390 float constraints
|
- sys/sdt.h remove aarch64 and s390 float constraints
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user