From 8187ea69470e1118c6f1eda493babe328dad3a5e5d6a38f53d4a2ce94f75af14 Mon Sep 17 00:00:00 2001 From: Aaron Puchert Date: Sun, 30 Oct 2022 14:30:03 +0000 Subject: [PATCH] - Add lldb-swig-4.1.0-build-fix.patch: Fix build with Swig 4.1.0. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm13?expand=0&rev=30 --- lldb-swig-4.1.0-build-fix.patch | 68 +++++++++++++++++++++++++++++++++ llvm13.changes | 5 +++ llvm13.spec | 3 ++ 3 files changed, 76 insertions(+) create mode 100644 lldb-swig-4.1.0-build-fix.patch diff --git a/lldb-swig-4.1.0-build-fix.patch b/lldb-swig-4.1.0-build-fix.patch new file mode 100644 index 0000000..1b77567 --- /dev/null +++ b/lldb-swig-4.1.0-build-fix.patch @@ -0,0 +1,68 @@ +From 81fc5f7909a4ef5a8d4b5da2a10f77f7cb01ba63 Mon Sep 17 00:00:00 2001 +From: serge-sans-paille +Date: Thu, 29 Sep 2022 21:48:38 +0200 +Subject: [PATCH] [lldb] Get rid of __STDC_LIMIT_MACROS and + __STDC_CONSTANT_MACROS + +C++11 made the use of these macro obsolete, see https://sourceware.org/bugzilla/show_bug.cgi?id=15366 + +As a side effect this prevents https://github.com/swig/swig/issues/2193. + +Differential Revision: https://reviews.llvm.org/D134877 +--- + lldb/bindings/CMakeLists.txt | 2 -- + lldb/bindings/interfaces.swig | 3 --- + 2 files changed, 5 deletions(-) + +diff --git a/lldb/bindings/CMakeLists.txt b/lldb/bindings/CMakeLists.txt +index c8aa0bcf96817..9eed2f1e62999 100644 +--- a/lldb/bindings/CMakeLists.txt ++++ b/lldb/bindings/CMakeLists.txt +@@ -26,8 +26,6 @@ set(SWIG_COMMON_FLAGS + -features autodoc + -I${LLDB_SOURCE_DIR}/include + -I${CMAKE_CURRENT_SOURCE_DIR} +- -D__STDC_LIMIT_MACROS +- -D__STDC_CONSTANT_MACROS + ${DARWIN_EXTRAS} + ) + +diff --git a/lldb/bindings/interfaces.swig b/lldb/bindings/interfaces.swig +index fb75513a0df1b..d984711bbd8a2 100644 +--- a/lldb/bindings/interfaces.swig ++++ b/lldb/bindings/interfaces.swig +@@ -1,8 +1,5 @@ + /* Various liblldb typedefs that SWIG needs to know about. */ + #define __extension__ /* Undefine GCC keyword to make Swig happy when processing glibc's stdint.h. */ +-/* The ISO C99 standard specifies that in C++ implementations limit macros such +- as INT32_MAX should only be defined if __STDC_LIMIT_MACROS is. */ +-#define __STDC_LIMIT_MACROS + %include "stdint.i" + + %include "lldb/lldb-defines.h" +From f0a25fe0b746f56295d5c02116ba28d2f965c175 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Wed, 21 Sep 2022 11:42:46 +0200 +Subject: [PATCH] [lldb] Fix 'error: non-const lvalue...' caused by SWIG 4.1.0 + +Fix the failure caused by change in SwigValueWraper for C++11 and later +for improved move semantics in SWIG commit. + +https://github.com/swig/swig/commit/d1055f4b3d51cb8060893f8036846ac743302dab +--- + lldb/bindings/python/python-typemaps.swig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lldb/bindings/python/python-typemaps.swig b/lldb/bindings/python/python-typemaps.swig +index 203be803d2ebd..11f68d59ae7be 100644 +--- a/lldb/bindings/python/python-typemaps.swig ++++ b/lldb/bindings/python/python-typemaps.swig +@@ -435,7 +435,7 @@ template <> bool SetNumberFromPyObject(double &number, PyObject *obj) { + + %typemap(out) lldb::FileSP { + $result = nullptr; +- lldb::FileSP &sp = $1; ++ const lldb::FileSP &sp = $1; + if (sp) { + PythonFile pyfile = unwrapOrSetPythonException(PythonFile::FromFile(*sp)); + if (!pyfile.IsValid()) diff --git a/llvm13.changes b/llvm13.changes index 90a641c..cd33190 100644 --- a/llvm13.changes +++ b/llvm13.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Oct 30 14:09:39 UTC 2022 - Aaron Puchert + +- Add lldb-swig-4.1.0-build-fix.patch: Fix build with Swig 4.1.0. + ------------------------------------------------------------------- Sat Sep 3 15:15:10 UTC 2022 - Aaron Puchert diff --git a/llvm13.spec b/llvm13.spec index d9d1c67..c762a9e 100644 --- a/llvm13.spec +++ b/llvm13.spec @@ -164,6 +164,8 @@ Patch27: llvm-exegesis-link-dylib.patch # Fix lookup of targets in installed CMake files. (boo#1180748, https://reviews.llvm.org/D96670) Patch33: CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch Patch35: llvm-update-extract-section-script.patch +# Fix build with Swig 4.1.0: backport of upstream commits 81fc5f7909a4, f0a25fe0b746. (gh#llvm/llvm-project#58018) +Patch38: lldb-swig-4.1.0-build-fix.patch BuildRequires: binutils-devel >= 2.21.90 BuildRequires: cmake >= 3.13.4 BuildRequires: fdupes @@ -629,6 +631,7 @@ popd %if %{with lldb} pushd lldb-%{_version}.src %patch11 -p1 +%patch38 -p2 popd %endif