import UBI lldb-17.0.6-1.el9
This commit is contained in:
parent
f4606f99cf
commit
0d3e7709a9
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
SOURCES/lldb-16.0.6.src.tar.xz
|
SOURCES/lldb-17.0.6.src.tar.xz
|
||||||
SOURCES/lldb-16.0.6.src.tar.xz.sig
|
SOURCES/lldb-17.0.6.src.tar.xz.sig
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
42e67369cd63a992369a638f289cc3a787d09c8f SOURCES/lldb-16.0.6.src.tar.xz
|
fc7260e1768ad2ee3b9d5a91d90d17e58e20df14 SOURCES/lldb-17.0.6.src.tar.xz
|
||||||
bc87caa10c21c9e53a6afe4d191a299b4905495e SOURCES/lldb-16.0.6.src.tar.xz.sig
|
fe7372c59ada760ed06814ed92c24c47fb2a055d SOURCES/lldb-17.0.6.src.tar.xz.sig
|
||||||
|
74
SOURCES/0001-lldb-Adapt-code-to-Python-3.13.patch
Normal file
74
SOURCES/0001-lldb-Adapt-code-to-Python-3.13.patch
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
From ed87035da34be675df7ea78bdf5f7631d81ab2db Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
|
||||||
|
Date: Wed, 25 Oct 2023 10:48:53 -0300
|
||||||
|
Subject: [PATCH] [lldb] Adapt code to Python 3.13
|
||||||
|
|
||||||
|
1. Remove usage of PyEval_ThreadsInitialized and PyEval_InitThreads
|
||||||
|
|
||||||
|
Both of these functions were removed in Python 3.13 [1] after being
|
||||||
|
deprecated since Python 3.9.
|
||||||
|
|
||||||
|
According to "What's new in Python 3.13" document [1]:
|
||||||
|
|
||||||
|
Since Python 3.7, Py_Initialize() always creates the GIL: calling
|
||||||
|
PyEval_InitThreads() did nothing and PyEval_ThreadsInitialized()
|
||||||
|
always returned non-zero.
|
||||||
|
|
||||||
|
2. Replace _Py_IsFinalizing() with Py_IsFinalizing().
|
||||||
|
|
||||||
|
[1] https://docs.python.org/3.13/whatsnew/3.13.html
|
||||||
|
---
|
||||||
|
.../ScriptInterpreter/Python/PythonDataObjects.cpp | 4 +++-
|
||||||
|
.../ScriptInterpreter/Python/ScriptInterpreterPython.cpp | 9 +++++++++
|
||||||
|
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
|
||||||
|
index 9ac840a4a102..fe3438c42471 100644
|
||||||
|
--- a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
|
||||||
|
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
|
||||||
|
@@ -71,7 +71,9 @@ Expected<std::string> python::As<std::string>(Expected<PythonObject> &&obj) {
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool python_is_finalizing() {
|
||||||
|
-#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 7
|
||||||
|
+#if (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 13) || (PY_MAJOR_VERSION > 3)
|
||||||
|
+ return Py_IsFinalizing();
|
||||||
|
+#elif PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 7
|
||||||
|
return _Py_Finalizing != nullptr;
|
||||||
|
#else
|
||||||
|
return _Py_IsFinalizing();
|
||||||
|
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
|
||||||
|
index a57c8e4984ad..968cc8ca0300 100644
|
||||||
|
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
|
||||||
|
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
|
||||||
|
@@ -179,18 +179,27 @@ private:
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+// `PyEval_ThreadsInitialized` was deprecated in Python 3.9 and removed in
|
||||||
|
+// Python 3.13. It has been returning `true` always since Python 3.7.
|
||||||
|
+#if (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 9) || (PY_MAJOR_VERSION < 3)
|
||||||
|
if (PyEval_ThreadsInitialized()) {
|
||||||
|
+#endif
|
||||||
|
Log *log = GetLog(LLDBLog::Script);
|
||||||
|
|
||||||
|
m_was_already_initialized = true;
|
||||||
|
m_gil_state = PyGILState_Ensure();
|
||||||
|
LLDB_LOGV(log, "Ensured PyGILState. Previous state = {0}locked\n",
|
||||||
|
m_gil_state == PyGILState_UNLOCKED ? "un" : "");
|
||||||
|
+
|
||||||
|
+// `PyEval_InitThreads` was deprecated in Python 3.9 and removed in
|
||||||
|
+// Python 3.13.
|
||||||
|
+#if (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 9) || (PY_MAJOR_VERSION < 3)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// InitThreads acquires the GIL if it hasn't been called before.
|
||||||
|
PyEval_InitThreads();
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
PyGILState_STATE m_gil_state = PyGILState_UNLOCKED;
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
From fb389f0cd6b4e8996157fa7d7bc347fde7b43656 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
|
|
||||||
Date: Thu, 23 Mar 2023 16:06:10 -0300
|
|
||||||
Subject: [PATCH] [lldb] Change LLVM_COMMON_CMAKE_UTILS usage
|
|
||||||
|
|
||||||
Let LLVM_COMMON_CMAKE_UTILS store the directory where cmake modules are
|
|
||||||
available and stop assuming its directory structure.
|
|
||||||
---
|
|
||||||
lldb/CMakeLists.txt | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt
|
|
||||||
index 20d584c48bad..7bad2a9928cd 100644
|
|
||||||
--- a/lldb/CMakeLists.txt
|
|
||||||
+++ b/lldb/CMakeLists.txt
|
|
||||||
@@ -1,9 +1,9 @@
|
|
||||||
cmake_minimum_required(VERSION 3.13.4)
|
|
||||||
|
|
||||||
if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)
|
|
||||||
- set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
|
|
||||||
+ set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules)
|
|
||||||
endif()
|
|
||||||
-include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
|
|
||||||
+include(${LLVM_COMMON_CMAKE_UTILS}/CMakePolicy.cmake
|
|
||||||
NO_POLICY_SCOPE)
|
|
||||||
|
|
||||||
# Add path for custom modules.
|
|
||||||
--
|
|
||||||
2.39.2
|
|
||||||
|
|
@ -0,0 +1,91 @@
|
|||||||
|
From 16fd09f102eff20825847e32f225715960d1c082 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
|
||||||
|
Date: Wed, 25 Oct 2023 10:48:53 -0300
|
||||||
|
Subject: [PATCH] [lldb] Replace the usage of module imp with module importlib
|
||||||
|
|
||||||
|
imp got removed in Python 3.12 [1] and the community recommends using
|
||||||
|
importlib in newer Python versions.
|
||||||
|
|
||||||
|
[1] https://docs.python.org/3.12/whatsnew/3.12.html#imp
|
||||||
|
---
|
||||||
|
lldb/scripts/use_lldb_suite.py | 30 ++++++++++++++++++++++--------
|
||||||
|
lldb/test/API/use_lldb_suite.py | 29 +++++++++++++++++++++--------
|
||||||
|
2 files changed, 43 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lldb/scripts/use_lldb_suite.py b/lldb/scripts/use_lldb_suite.py
|
||||||
|
index 6388d87b181c..4cedfa532cf9 100644
|
||||||
|
--- a/lldb/scripts/use_lldb_suite.py
|
||||||
|
+++ b/lldb/scripts/use_lldb_suite.py
|
||||||
|
@@ -17,10 +17,25 @@ def find_lldb_root():
|
||||||
|
return lldb_root
|
||||||
|
|
||||||
|
lldb_root = find_lldb_root()
|
||||||
|
-import imp
|
||||||
|
-fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root])
|
||||||
|
-try:
|
||||||
|
- imp.load_module("use_lldb_suite_root", fp, pathname, desc)
|
||||||
|
-finally:
|
||||||
|
- if fp:
|
||||||
|
- fp.close()
|
||||||
|
+
|
||||||
|
+# Module imp got removed in Python 3.12.
|
||||||
|
+if (
|
||||||
|
+ sys.version_info.major == 3 and sys.version_info.minor >= 12
|
||||||
|
+) or sys.version_info.major > 3:
|
||||||
|
+ import importlib.machinery
|
||||||
|
+ import importlib.util
|
||||||
|
+
|
||||||
|
+ path = os.path.join(lldb_root, "use_lldb_suite_root.py")
|
||||||
|
+ loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path)
|
||||||
|
+ spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader)
|
||||||
|
+ module = importlib.util.module_from_spec(spec)
|
||||||
|
+ loader.exec_module(module)
|
||||||
|
+else:
|
||||||
|
+ import imp
|
||||||
|
+
|
||||||
|
+ fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root])
|
||||||
|
+ try:
|
||||||
|
+ imp.load_module("use_lldb_suite_root", fp, pathname, desc)
|
||||||
|
+ finally:
|
||||||
|
+ if fp:
|
||||||
|
+ fp.close()
|
||||||
|
diff --git a/lldb/test/API/use_lldb_suite.py b/lldb/test/API/use_lldb_suite.py
|
||||||
|
index e237dd4b8a56..c9332d9921b4 100644
|
||||||
|
--- a/lldb/test/API/use_lldb_suite.py
|
||||||
|
+++ b/lldb/test/API/use_lldb_suite.py
|
||||||
|
@@ -20,11 +20,24 @@ def find_lldb_root():
|
||||||
|
|
||||||
|
lldb_root = find_lldb_root()
|
||||||
|
|
||||||
|
-import imp
|
||||||
|
-
|
||||||
|
-fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root])
|
||||||
|
-try:
|
||||||
|
- imp.load_module("use_lldb_suite_root", fp, pathname, desc)
|
||||||
|
-finally:
|
||||||
|
- if fp:
|
||||||
|
- fp.close()
|
||||||
|
+# Module imp got removed in Python 3.12.
|
||||||
|
+if (
|
||||||
|
+ sys.version_info.major == 3 and sys.version_info.minor >= 12
|
||||||
|
+) or sys.version_info.major > 3:
|
||||||
|
+ import importlib.machinery
|
||||||
|
+ import importlib.util
|
||||||
|
+
|
||||||
|
+ path = os.path.join(lldb_root, "use_lldb_suite_root.py")
|
||||||
|
+ loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path)
|
||||||
|
+ spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader)
|
||||||
|
+ module = importlib.util.module_from_spec(spec)
|
||||||
|
+ loader.exec_module(module)
|
||||||
|
+else:
|
||||||
|
+ import imp
|
||||||
|
+
|
||||||
|
+ fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root])
|
||||||
|
+ try:
|
||||||
|
+ imp.load_module("use_lldb_suite_root", fp, pathname, desc)
|
||||||
|
+ finally:
|
||||||
|
+ if fp:
|
||||||
|
+ fp.close()
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
@ -1,27 +1,32 @@
|
|||||||
%global toolchain clang
|
%global toolchain clang
|
||||||
%global lldb_version 16.0.6
|
|
||||||
%global lldb_srcdir %{name}-%{lldb_version}.src
|
|
||||||
|
|
||||||
%global gts_version 13
|
%global gts_version 13
|
||||||
|
%global lldb_version 17.0.6
|
||||||
|
#global rc_ver 4
|
||||||
|
%global lldb_srcdir %{name}-%{lldb_version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
|
||||||
Name: lldb
|
Name: lldb
|
||||||
Version: %{lldb_version}
|
Version: %{lldb_version}%{?rc_ver:~rc%{rc_ver}}
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Next generation high-performance debugger
|
Summary: Next generation high-performance debugger
|
||||||
|
|
||||||
License: Apache-2.0 WITH LLVM-exception OR NCSA
|
License: Apache-2.0 WITH LLVM-exception OR NCSA
|
||||||
URL: http://lldb.llvm.org/
|
URL: http://lldb.llvm.org/
|
||||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{lldb_version}/%{lldb_srcdir}.tar.xz
|
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{lldb_version}%{?rc_ver:-rc%{rc_ver}}/%{lldb_srcdir}.tar.xz
|
||||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{lldb_version}/%{lldb_srcdir}.tar.xz.sig
|
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{lldb_version}%{?rc_ver:-rc%{rc_ver}}/%{lldb_srcdir}.tar.xz.sig
|
||||||
Source2: release-keys.asc
|
Source2: release-keys.asc
|
||||||
|
|
||||||
Patch0: 0001-lldb-Change-LLVM_COMMON_CMAKE_UTILS-usage.patch
|
# Backport from https://github.com/llvm/llvm-project/pull/70443
|
||||||
|
Patch: 0001-lldb-Replace-the-usage-of-module-imp-with-module-imp.patch
|
||||||
|
# Backport from https://github.com/llvm/llvm-project/pull/70445
|
||||||
|
Patch: 0001-lldb-Adapt-code-to-Python-3.13.patch
|
||||||
|
|
||||||
BuildRequires: clang
|
BuildRequires: clang
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: ninja-build
|
BuildRequires: ninja-build
|
||||||
BuildRequires: llvm-devel = %{version}
|
BuildRequires: llvm-devel = %{version}
|
||||||
BuildRequires: llvm-test = %{version}
|
BuildRequires: llvm-test = %{version}
|
||||||
|
BuildRequires: llvm-cmake-utils = %{version}
|
||||||
BuildRequires: clang-devel = %{version}
|
BuildRequires: clang-devel = %{version}
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: swig
|
BuildRequires: swig
|
||||||
@ -68,6 +73,7 @@ The package contains the LLDB Python module.
|
|||||||
%autosetup -n %{lldb_srcdir} -p2
|
%autosetup -n %{lldb_srcdir} -p2
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%global _lto_cflags -flto=thin
|
||||||
|
|
||||||
%ifarch %ix86
|
%ifarch %ix86
|
||||||
# Linking liblldb.so goes out of memory even with ThinLTO and a single link job.
|
# Linking liblldb.so goes out of memory even with ThinLTO and a single link job.
|
||||||
@ -79,8 +85,7 @@ The package contains the LLDB Python module.
|
|||||||
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||||
-DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \
|
-DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \
|
||||||
-DLLVM_COMMON_CMAKE_UTILS=%{_libdir}/cmake/llvm \
|
-DLLVM_COMMON_CMAKE_UTILS=%{_datadir}/llvm/cmake \
|
||||||
\
|
|
||||||
-DLLDB_DISABLE_CURSES:BOOL=OFF \
|
-DLLDB_DISABLE_CURSES:BOOL=OFF \
|
||||||
-DLLDB_DISABLE_LIBEDIT:BOOL=OFF \
|
-DLLDB_DISABLE_LIBEDIT:BOOL=OFF \
|
||||||
-DLLDB_DISABLE_PYTHON:BOOL=OFF \
|
-DLLDB_DISABLE_PYTHON:BOOL=OFF \
|
||||||
@ -95,6 +100,7 @@ The package contains the LLDB Python module.
|
|||||||
-DPYTHON_VERSION_MINOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.minor)") \
|
-DPYTHON_VERSION_MINOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.minor)") \
|
||||||
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
||||||
-DCLANG_LINK_CLANG_DYLIB=ON \
|
-DCLANG_LINK_CLANG_DYLIB=ON \
|
||||||
|
-DCLANG_RESOURCE_DIR=$(realpath --relative-to=/usr/bin %{clang_resource_dir}) \
|
||||||
-DLLVM_LIT_ARGS="-sv \
|
-DLLVM_LIT_ARGS="-sv \
|
||||||
--path %{_libdir}/llvm" \
|
--path %{_libdir}/llvm" \
|
||||||
|
|
||||||
@ -140,6 +146,12 @@ rm -f %{buildroot}%{python3_sitearch}/six.*
|
|||||||
%{python3_sitearch}/lldb
|
%{python3_sitearch}/lldb
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Dec 11 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.6-1
|
||||||
|
- Update to 17.0.6
|
||||||
|
|
||||||
|
* Wed Oct 04 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.1-1
|
||||||
|
- Update to 17.0.1
|
||||||
|
|
||||||
* Wed Jul 05 2023 Nikita Popov <npopov@redhat.com> - 16.0.6-1
|
* Wed Jul 05 2023 Nikita Popov <npopov@redhat.com> - 16.0.6-1
|
||||||
- Update to LLVM 16.0.6
|
- Update to LLVM 16.0.6
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user