import CS python-drgn-0.0.33-2.el9

This commit is contained in:
AlmaLinux RelEng Bot 2026-03-30 10:55:37 -04:00
parent 131045bf8c
commit ae1918dcce
4 changed files with 58 additions and 4 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/drgn-0.0.31.tar.gz
SOURCES/drgn-0.0.33.tar.gz

View File

@ -1 +1 @@
40a36081b89d0d3228cbc6fe2f0b25b0afe9a5ab SOURCES/drgn-0.0.31.tar.gz
6dad706ad553c7345a16b941e6cb084b654ad332 SOURCES/drgn-0.0.33.tar.gz

View File

@ -0,0 +1,44 @@
From 8660ee186377aabf28cd54d76beb942b9a06d09a Mon Sep 17 00:00:00 2001
From: Stephen Brennan <stephen.s.brennan@oracle.com>
Date: Fri, 5 Dec 2025 10:43:44 -0800
Subject: [PATCH] libdrgn: orc_info: work around ORC backports in RHEL 9.6
Add a special case to detect RHEL 9 kernel versions since release
5.14.0-517.el9, and use ORC "v3" for these kernels.
Fixes #578.
Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
---
libdrgn/orc_info.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/libdrgn/orc_info.c b/libdrgn/orc_info.c
index 7015d096..83ea3f4e 100644
--- a/libdrgn/orc_info.c
+++ b/libdrgn/orc_info.c
@@ -254,6 +254,21 @@ static int orc_version_from_osrelease(struct drgn_program *prog)
long minor = 0;
if (*p == '.')
minor = strtol(p + 1, NULL, 10);
+
+ // RHEL & derivatives started shipping backported ORC patches without
+ // the ".orc_header" section in 9.6. According to git history this was
+ // introduced in kernel version 5.14.0-517.el9. With those changes, the
+ // kernel's ORC "format" is indeed v3, but we cannot detect that without
+ // the ORC header hash. Add special-case detection for this situation.
+ // If it is fixed by including the ".orc_header" section, this fix will
+ // not be active, but will still be necessary for the already released
+ // kernels.
+ char *rhrelease = NULL;
+ if (major == 5 && minor == 14 && strstr(p, ".el9")
+ && (rhrelease = strchr(p, '-'))
+ && strtol(rhrelease + 1, NULL, 10) >= 517)
+ return 3;
+
if (major > 6 || (major == 6 && minor >= 4))
return 3;
else if (major == 6 && minor == 3)
--
2.52.0

View File

@ -14,8 +14,8 @@ drgn exposes the types and variables in a program for easy, expressive
scripting in Python.}
Name: python-%{pypi_name}
Version: 0.0.31
Release: 4%{?dist}
Version: 0.0.33
Release: 2%{?dist}
Summary: Programmable debugger
License: LGPL-2.1-or-later
@ -46,6 +46,8 @@ BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
Patch001: 0001-libdrgn-orc_info-work-around-ORC-backports-in-RHEL-9.patch
%description %{_description}
%package -n %{pypi_name}
@ -125,6 +127,14 @@ cp -PR man/drgn.1* %{buildroot}%{_mandir}/man1
%endif
%changelog
* Wed Dec 17 2025 Philipp Rudo <prudo@redhat.com> - 0.0.33-2
- Work around ORC backports in RHEL 9.6
Resolves: RHEL-136527
* Thu Nov 13 2025 Philipp Rudo <prudo@redhat.com> - 0.0.33-1
- Rebase to upstream v0.0.33
Resolves: RHEL-114118
* Wed Jul 16 2025 Philipp Rudo <prudo@redhat.com> - 0.0.31-4
- Fix regression in selftest introduced in 0.0.31-3