[packages/kernel-tools] Rel 4; follow fedora way (changes in 7.2 broke too many things); disable x32 here on x86_64
arekm
arekm at pld-linux.org
Sun Aug 23 02:39:51 CEST 2026
commit 19819cfd6724b8abae888746c368d68e56b09dc1
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Sun Aug 23 02:39:40 2026 +0200
Rel 4; follow fedora way (changes in 7.2 broke too many things); disable x32 here on x86_64
kernel-tools-perf-libunwind-word.patch | 203 ---------------------------------
kernel-tools.spec | 40 +------
2 files changed, 4 insertions(+), 239 deletions(-)
---
diff --git a/kernel-tools.spec b/kernel-tools.spec
index eece216..800085f 100644
--- a/kernel-tools.spec
+++ b/kernel-tools.spec
@@ -9,7 +9,7 @@
%bcond_without cpupower # cpupower tools
%bcond_without perf # perf tools
%bcond_without gtk # GTK+ 2.x perf support
-%bcond_without libunwind # libunwind perf support
+%bcond_with libunwind # libunwind unwinder in perf (default: libdw only)
%bcond_without multilib # multilib perf support
%bcond_without usbip # usbip utils
@@ -23,7 +23,7 @@ Summary: Assortment of tools for the Linux kernel
Summary(pl.UTF-8): Zestaw narzędzi dla jądra Linuksa
Name: kernel-tools
Version: %{basever}%{postver}
-Release: 3
+Release: 4
License: GPL v2
Group: Applications/System
Source0: https://www.kernel.org/pub/linux/kernel/v7.x/linux-%{basever}.tar.xz
@@ -40,7 +40,6 @@ Patch2: regex.patch
Patch3: %{name}-perf-update.patch
Patch4: %{name}-perf-gtk2.patch
Patch5: %{name}-perf-slang.patch
-Patch6: %{name}-perf-libunwind-word.patch
Patch7: %{name}-iio-float16.patch
URL: https://www.kernel.org/
BuildRequires: asciidoc
@@ -72,7 +71,6 @@ BuildRequires: clang >= 12.0.1
BuildRequires: elfutils-devel >= 0.158
%if %{with multilib}
BuildRequires: gcc-multilib-32
-BuildRequires: gcc-multilib-x32
%endif
BuildRequires: libbpf-devel
BuildRequires: libcap-devel
@@ -267,31 +265,6 @@ przez nowe wersje jądra Linuksa.
Ten pakiet zawiera narzędzie perf-read-vdso32 do odczytu VDSO dla
binariów 32-bitowych w trybie 64-bitowym.
-%package perf-vdsox32
-Summary: perf profiler tool - VDSO x32 ABI reader
-Summary(pl.UTF-8): Narzędzie profilujące perf - odczyt VDSO dla ABI x32
-Group: Applications/System
-Requires: %{name}-perf = %{version}-%{release}
-
-%description perf-vdsox32
-Perf is a profiler tool for Linux 2.6+ based systems that abstracts
-away CPU hardware differences in Linux performance measurements and
-presents a simple commandline interface. Perf is based on the
-perf_events interface exported by recent versions of the Linux kernel.
-
-This package contains perf-read-vdso32 tool for reading the x32 mode
-32-bit compatibility VDSO in 64-bit mode.
-
-%description perf-vdsox32 -l pl.UTF-8
-Perf to narzędzie profilujące dla systemów opartych na Linuksie 2.6+,
-odseparowujące od różnic sprzętowych między pomiarami wydajności w
-zależności od procesora oraz udostępniające prosty interfejs linii
-poleceń. Perf jest oparty na interfejsie perf_events eksportowanym
-przez nowe wersje jądra Linuksa.
-
-Ten pakiet zawiera narzędzie perf-read-vdso32 do odczytu VDSO dla
-binariów ABI x32 w trybie 64-bitowym.
-
%package perf-gtk
Summary: perf profiler tool (GTK+ 2 GUI)
Summary(pl.UTF-8): Narzędzie profilujące perf (interfejs graficzny GTK+ 2)
@@ -437,7 +410,6 @@ cd linux-%{basever}
%patch -P3 -p1
%patch -P4 -p1
%patch -P5 -p1
-%patch -P6 -p1
%patch -P7 -p1
%{__sed} -i -e 's#libexec/perf-core#%{_lib}/perf-core#g' tools/perf/Makefile.config
@@ -502,7 +474,7 @@ CXXFLAGS="%{rpmcxxflags}" \
%{__make} -C tools/perf all man \
%ifarch %{x8664}
IS_X86_64=1 \
- %{!?with_multilib:NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1} \
+ NO_PERF_READ_VDSOX32=1 %{!?with_multilib:NO_PERF_READ_VDSO32=1} \
%endif
%{?with_gtk:GTK2=1} \
%{?with_libunwind:LIBUNWIND=1} %{!?with_libunwind:NO_LIBUNWIND=1} \
@@ -630,7 +602,7 @@ CXXFLAGS="%{rpmcxxflags}" \
%{__make} -C tools/perf install \
%ifarch %{x8664}
IS_X86_64=1 \
- %{!?with_multilib:NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1} \
+ NO_PERF_READ_VDSOX32=1 %{!?with_multilib:NO_PERF_READ_VDSO32=1} \
%endif
%{?with_gtk:GTK2=1} \
%{?with_libunwind:LIBUNWIND=1} %{!?with_libunwind:NO_LIBUNWIND=1} \
@@ -869,10 +841,6 @@ rm -rf $RPM_BUILD_ROOT
%files perf-vdso32
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/perf-read-vdso32
-
-%files perf-vdsox32
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/perf-read-vdsox32
%endif
%if %{with gtk}
diff --git a/kernel-tools-perf-libunwind-word.patch b/kernel-tools-perf-libunwind-word.patch
deleted file mode 100644
index 2ce1d5c..0000000
--- a/kernel-tools-perf-libunwind-word.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-libunwind's unw_word_t is 32-bit on x32 and on the 32-bit remote-unwind targets,
-so unw_get_reg() writing into a uint64_t is a type error there and would leave
-the upper half uninitialized.
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-arm64.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-arm64.c
-@@ -267,7 +267,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -280,7 +280,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-arm.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-arm.c
-@@ -268,7 +268,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -281,7 +281,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-i386.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-i386.c
-@@ -290,7 +290,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -303,7 +303,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-loongarch.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-loongarch.c
-@@ -275,7 +275,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -288,7 +288,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-mips.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-mips.c
-@@ -277,7 +277,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -290,7 +290,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-ppc32.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-ppc32.c
-@@ -281,7 +281,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -294,7 +294,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-ppc64.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-ppc64.c
-@@ -281,7 +281,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -294,7 +294,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-riscv.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-riscv.c
-@@ -275,7 +275,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -288,7 +288,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-s390.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-s390.c
-@@ -277,7 +277,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -290,7 +290,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
---- linux-7.2/tools/perf/util/libunwind-arch/libunwind-x86_64.c.orig
-+++ linux-7.2/tools/perf/util/libunwind-arch/libunwind-x86_64.c
-@@ -298,7 +298,7 @@
-
- ret = unw_step(ui->cursor);
- if (ret > 0) {
-- uint64_t ip;
-+ unw_word_t ip;
-
- unw_get_reg(ui->cursor, UNW_REG_IP, &ip);
-
-@@ -311,7 +311,7 @@
- */
- --ip;
- }
-- ui->ips[ui->cur_ip++] = ip;
-+ ui->ips[ui->cur_ip++] = (uint64_t)ip;
- }
- return ret;
- #else
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kernel-tools.git/commitdiff/19819cfd6724b8abae888746c368d68e56b09dc1
More information about the pld-cvs-commit
mailing list