Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llvm19 for openSUSE:Factory checked in at 2024-11-18 19:57:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm19 (Old) and /work/SRC/openSUSE:Factory/.llvm19.new.2017 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm19" Mon Nov 18 19:57:12 2024 rev:3 rq:1224680 version:19.1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm19/llvm19.changes 2024-11-15 15:38:16.981964483 +0100 +++ /work/SRC/openSUSE:Factory/.llvm19.new.2017/llvm19.changes 2024-11-18 19:57:29.263805836 +0100 @@ -1,0 +2,8 @@ +Sat Nov 16 22:38:02 UTC 2024 - Aaron Puchert <[email protected]> + +- Apply clang-shlib-symbol-versioning.patch to add symbol versions + to libclang-cpp.so similar to libLLVM.so. This is required when + multiple versions of the library are loaded into the same + process. (boo#1219405, boo#1221183, boo#1233220) + +------------------------------------------------------------------- New: ---- clang-shlib-symbol-versioning.patch BETA DEBUG BEGIN: New: - Apply clang-shlib-symbol-versioning.patch to add symbol versions to libclang-cpp.so similar to libLLVM.so. This is required when BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm19.spec ++++++ --- /var/tmp/diff_new_pack.a9Qlyn/_old 2024-11-18 19:57:30.987877809 +0100 +++ /var/tmp/diff_new_pack.a9Qlyn/_new 2024-11-18 19:57:30.991877975 +0100 @@ -438,6 +438,8 @@ Patch29: clang-fix-modules-test-riscv.patch # PATCH-FIX-UPSTREAM: Test using avx512f requires x86 target. Patch30: clang-fix-openmp-test-non-x86.patch +# PATCH-FIX-UPSTREAM: Use symbol versioning also for libclang-cpp.so. +Patch31: clang-shlib-symbol-versioning.patch BuildRequires: %{python_pkg}-base >= 3.8 BuildRequires: binutils-devel >= 2.21.90 BuildRequires: cmake >= 3.13.4 @@ -890,6 +892,7 @@ %patch -P 27 -p2 %patch -P 29 -p2 %patch -P 30 -p2 +%patch -P 31 -p2 # We hardcode openSUSE rm unittests/Driver/DistroTest.cpp ++++++ clang-shlib-symbol-versioning.patch ++++++ diff --git a/clang/tools/clang-shlib/CMakeLists.txt b/clang/tools/clang-shlib/CMakeLists.txt index 298d3a9d18fe..830f2b138ffa 100644 --- a/clang/tools/clang-shlib/CMakeLists.txt +++ b/clang/tools/clang-shlib/CMakeLists.txt @@ -48,6 +48,14 @@ add_clang_library(clang-cpp ${_OBJECTS} LINK_LIBS ${_DEPS}) + +configure_file(simple_version_script.map.in simple_version_script.map) + +if (NOT LLVM_LINKER_IS_SOLARISLD AND NOT MINGW) + # Solaris ld does not accept global: *; so there is no way to version *all* global symbols + target_link_options(clang-cpp PRIVATE LINKER:--version-script,${CMAKE_CURRENT_BINARY_DIR}/simple_version_script.map) +endif() + # Optimize function calls for default visibility definitions to avoid PLT and # reduce dynamic relocations. if (NOT APPLE AND NOT MINGW AND NOT LLVM_LINKER_IS_SOLARISLD_ILLUMOS) diff --git a/clang/tools/clang-shlib/simple_version_script.map.in b/clang/tools/clang-shlib/simple_version_script.map.in new file mode 100644 index 000000000000..cb2306d1f596 --- /dev/null +++ b/clang/tools/clang-shlib/simple_version_script.map.in @@ -0,0 +1 @@ +@LLVM_SHLIB_SYMBOL_VERSION@ { global: *; };
