diff --git a/0001-lldb-Disable-std-vector-pretty-printer.patch b/0001-lldb-Disable-std-vector-pretty-printer.patch new file mode 100644 index 0000000000000000000000000000000000000000..e5ad0ae9fb85eda2f376d7b4c67b65e06881dba2 --- /dev/null +++ b/0001-lldb-Disable-std-vector-pretty-printer.patch @@ -0,0 +1,28 @@ +From c0e0fdd99c372096a4e018d57443f2d842bb510a Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Fri, 28 Apr 2023 15:42:55 -0700 +Subject: [PATCH] lldb: Disable std vector pretty printer + +--- + lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp +index 1b152c16eac2..a2b7aa4672bf 100644 +--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp ++++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp +@@ -1089,11 +1089,6 @@ static void LoadLibStdcppFormatters(lldb::TypeCategoryImplSP cpp_category_sp) { + SyntheticChildren::Flags stl_deref_flags = stl_synth_flags; + stl_deref_flags.SetFrontEndWantsDereference(); + +- cpp_category_sp->AddTypeSynthetic( +- "^std::vector<.+>(( )?&)?$", eFormatterMatchRegex, +- SyntheticChildrenSP(new ScriptedSyntheticChildren( +- stl_synth_flags, +- "lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider"))); + cpp_category_sp->AddTypeSynthetic( + "^std::map<.+> >(( )?&)?$", eFormatterMatchRegex, + SyntheticChildrenSP(new ScriptedSyntheticChildren( +-- +2.31.1 + diff --git a/disable-std-vector-prettyprinter.patch b/disable-std-vector-prettyprinter.patch deleted file mode 100644 index 1f1150b738bceb3f49001101f8fa47f9aaef86ec..0000000000000000000000000000000000000000 --- a/disable-std-vector-prettyprinter.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -ruN lldb-14.0.0.src.orig/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp lldb-14.0.0.src/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp ---- a/lldb-14.0.0.src.orig/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp 2022-03-14 10:44:55.000000000 +0100 -+++ b/lldb-14.0.0.src/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp 2022-06-08 07:06:32.227607437 +0200 -@@ -940,11 +940,6 @@ - stl_deref_flags.SetFrontEndWantsDereference(); - - cpp_category_sp->GetRegexTypeSyntheticsContainer()->Add( -- RegularExpression("^std::vector<.+>(( )?&)?$"), -- SyntheticChildrenSP(new ScriptedSyntheticChildren( -- stl_synth_flags, -- "lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider"))); -- cpp_category_sp->GetRegexTypeSyntheticsContainer()->Add( - RegularExpression("^std::map<.+> >(( )?&)?$"), - SyntheticChildrenSP(new ScriptedSyntheticChildren( - stl_synth_flags, diff --git a/download b/download index 2bdbd1e97c7ab443ffe2aad76ab469b8cfed24b8..589001395198180ec3bd5e1ba470d97267eaa715 100644 --- a/download +++ b/download @@ -1,2 +1,2 @@ -680b5cfa29edd559c044e85928f4c37c lldb-15.0.7.src.tar.xz -fd42737e3847d5830c7c4b80a2d71cbd lldb-15.0.7.src.tar.xz.sig +01082515dff8ee42204f996627df56e0 lldb-17.0.6.src.tar.xz +7bea0f087ba95ce1d9d8b04ecf052032 lldb-17.0.6.src.tar.xz.sig diff --git a/lldb.spec b/lldb.spec index fbd25a57b483c8152dd351360fab935e14757e5e..ed5918abf8e7f18ae50b47fc87557e50dfcc8ce8 100644 --- a/lldb.spec +++ b/lldb.spec @@ -1,6 +1,9 @@ -%define anolis_release .0.1 -%global lldb_version 15.0.7 -#global rc_ver 2 +# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer +# https://bugzilla.redhat.com/show_bug.cgi?id=2158587 +%undefine _include_frame_pointers + +%global lldb_version 17.0.6 +#global rc_ver 4 %global lldb_srcdir %{name}-%{lldb_version}%{?rc_ver:rc%{rc_ver}}.src %ifarch ppc64le @@ -10,9 +13,8 @@ Name: lldb Version: %{lldb_version}%{?rc_ver:~rc%{rc_ver}} -Release: 1%{anolis_release}%{?dist} +Release: 1%{?dist} Summary: Next generation high-performance debugger -ExcludeArch: loongarch64 License: NCSA URL: http://lldb.llvm.org/ @@ -20,12 +22,22 @@ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{lldb_v 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 +# There is a problem with the debug info generated by the +# GCC version we ship in RHEL 8. It somehow makes it very +# hard for lldb to inspect std::vector types. +# Disable the pretty-printer for now, since otherwise +# such vectors look empty to the developer even though +# they aren't. +# See https://bugzilla.redhat.com/show_bug.cgi?id=2082508 +Patch002: 0001-lldb-Disable-std-vector-pretty-printer.patch + BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: ninja-build BuildRequires: llvm-devel = %{version} BuildRequires: llvm-test = %{version} +BuildRequires: llvm-cmake-utils = %{version} BuildRequires: clang-devel = %{version} BuildRequires: ncurses-devel BuildRequires: swig @@ -39,15 +51,6 @@ BuildRequires: multilib-rpm-config Requires: python3-lldb -# There is a problem with the debug info generated by the -# GCC version we ship in RHEL 8. It somehow makes it very -# hard for lldb to inspect std::vector types. -# Disable the pretty-printer for now, since otherwise -# such vectors look empty to the developer even though -# they aren't. -# See https://bugzilla.redhat.com/show_bug.cgi?id=2082508 -Patch001: disable-std-vector-prettyprinter.patch - # For origin certification BuildRequires: gnupg2 @@ -81,18 +84,17 @@ The package contains the LLDB Python module. %build -mkdir -p %{_vpath_builddir} -cd %{_vpath_builddir} +%undefine __cmake_in_source_build CFLAGS="%{optflags} -Wno-error=format-security" CXXFLAGS="%{optflags} -Wno-error=format-security" -%cmake .. -GNinja \ +%cmake -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ - \ + -DLLVM_COMMON_CMAKE_UTILS=%{_datadir}/llvm/cmake \ -DLLDB_DISABLE_CURSES:BOOL=OFF \ -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \ -DLLDB_DISABLE_PYTHON:BOOL=OFF \ @@ -107,13 +109,13 @@ CXXFLAGS="%{optflags} -Wno-error=format-security" -DPYTHON_VERSION_MINOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.minor)") \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ -DCLANG_LINK_CLANG_DYLIB=ON \ + -DCLANG_RESOURCE_DIR=$(realpath --relative-to=/usr/bin %{clang_resource_dir}) \ -DLLVM_LIT_ARGS="-sv \ --path %{_libdir}/llvm" \ %cmake_build %install -cd %{_vpath_builddir} %cmake_install %multilib_fix_c_header --file %{_includedir}/lldb/Host/Config.h @@ -148,8 +150,17 @@ rm -f %{buildroot}%{python3_sitearch}/six.* %{python3_sitearch}/lldb %changelog -* Fri Jun 30 2023 Liwei Ge - 15.0.7-1.0.1 -- Disable loongarch build +* Wed Nov 29 2023 Nikita Popov - 17.0.6-1 +- Update to LLVM 17.0.6 + +* Wed Oct 04 2023 Nikita Popov - 17.0.2-1 +- Update to LLVM 17.0.2 + +* Fri Jun 23 2023 Tom Stellard - 16.0.6-1 +- 16.0.6 Release + +* Fri Apr 28 2023 Tom Stellard - 16.0.0-1 +- 16.0.0 Release * Thu Jan 19 2023 Tom Stellard - 15.0.7-1 - Update to LLVM 15.0.7