Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llvm21 for openSUSE:Factory checked in at 2025-12-17 17:32:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm21 (Old) and /work/SRC/openSUSE:Factory/.llvm21.new.1939 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm21" Wed Dec 17 17:32:55 2025 rev:8 rq:1323168 version:21.1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm21/llvm21.changes 2025-11-25 15:47:20.964575074 +0100 +++ /work/SRC/openSUSE:Factory/.llvm21.new.1939/llvm21.changes 2025-12-17 17:36:27.011855088 +0100 @@ -1,0 +2,11 @@ +Sat Dec 13 21:51:21 UTC 2025 - Aaron Puchert <[email protected]> + +- Update to version 21.1.7. + * This release contains bug-fixes for the LLVM 21.1.0 release. + This release is API and ABI compatible with 21.1.0. +- Rebase llvm-do-not-install-static-libraries.patch. +- Link with -z pack-relative-relocs to reduce size of relocations + and speed up their application. +- Run testsuite also in qemu emulation. (From Andreas Schwab.) + +------------------------------------------------------------------- Old: ---- clang-21.1.6.src.tar.xz clang-21.1.6.src.tar.xz.sig clang-docs-21.1.6.src.tar.xz clang-tools-extra-21.1.6.src.tar.xz clang-tools-extra-21.1.6.src.tar.xz.sig cmake-21.1.6.src.tar.xz cmake-21.1.6.src.tar.xz.sig compiler-rt-21.1.6.src.tar.xz compiler-rt-21.1.6.src.tar.xz.sig libc-21.1.6.src.tar.xz libcxx-21.1.6.src.tar.xz libcxx-21.1.6.src.tar.xz.sig libcxxabi-21.1.6.src.tar.xz libcxxabi-21.1.6.src.tar.xz.sig lld-21.1.6.src.tar.xz lld-21.1.6.src.tar.xz.sig lldb-21.1.6.src.tar.xz lldb-21.1.6.src.tar.xz.sig llvm-21.1.6.src.tar.xz llvm-21.1.6.src.tar.xz.sig llvm-docs-21.1.6.src.tar.xz openmp-21.1.6.src.tar.xz openmp-21.1.6.src.tar.xz.sig polly-21.1.6.src.tar.xz polly-21.1.6.src.tar.xz.sig runtimes-21.1.6.src.tar.xz runtimes-21.1.6.src.tar.xz.sig third-party-21.1.6.src.tar.xz third-party-21.1.6.src.tar.xz.sig New: ---- clang-21.1.7.src.tar.xz clang-21.1.7.src.tar.xz.sig clang-docs-21.1.7.src.tar.xz clang-tools-extra-21.1.7.src.tar.xz clang-tools-extra-21.1.7.src.tar.xz.sig cmake-21.1.7.src.tar.xz cmake-21.1.7.src.tar.xz.sig compiler-rt-21.1.7.src.tar.xz compiler-rt-21.1.7.src.tar.xz.sig libc-21.1.7.src.tar.xz libcxx-21.1.7.src.tar.xz libcxx-21.1.7.src.tar.xz.sig libcxxabi-21.1.7.src.tar.xz libcxxabi-21.1.7.src.tar.xz.sig lld-21.1.7.src.tar.xz lld-21.1.7.src.tar.xz.sig lldb-21.1.7.src.tar.xz lldb-21.1.7.src.tar.xz.sig llvm-21.1.7.src.tar.xz llvm-21.1.7.src.tar.xz.sig llvm-docs-21.1.7.src.tar.xz openmp-21.1.7.src.tar.xz openmp-21.1.7.src.tar.xz.sig polly-21.1.7.src.tar.xz polly-21.1.7.src.tar.xz.sig runtimes-21.1.7.src.tar.xz runtimes-21.1.7.src.tar.xz.sig third-party-21.1.7.src.tar.xz third-party-21.1.7.src.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm21.spec ++++++ --- /var/tmp/diff_new_pack.JARoiE/_old 2025-12-17 17:36:30.339994958 +0100 +++ /var/tmp/diff_new_pack.JARoiE/_new 2025-12-17 17:36:30.343995127 +0100 @@ -19,7 +19,7 @@ %global _sonum 21 %global _minor %{_sonum}.1 %global _soname %{_minor}%{?_rc:-rc%_rc} -%global _patch_level 6 +%global _patch_level 7 %global _relver %{_minor}.%{_patch_level} %global _version %_relver%{?_rc:-rc%_rc} %global _itsme21 1 @@ -1099,7 +1099,7 @@ fi %endif %endif -%define build_ldflags -Wl,--build-id=sha1 %{?lld_ldflag} ${lto_limit_threads} +%define build_ldflags -Wl,--build-id=sha1 %{?lld_ldflag} -Wl,-z,pack-relative-relocs ${lto_limit_threads} # The build occasionally uses tools linking against previously built # libraries (mostly libLLVM.so), but we don't want to set RUNPATHs. export LD_LIBRARY_PATH=%{sourcedir}/build/%{_lib} @@ -1435,8 +1435,6 @@ # NOTE: We're not running the tests via ninja, because we've removed object # files and static libraries already. pushd build -%if !0%{?qemu_user_space_build} -# we just do not have enough memory with qemu emulation # We don't build llvm-exegesis. rm -r ../test/tools/llvm-exegesis @@ -1498,7 +1496,6 @@ %{python_bin} bin/llvm-lit -sv projects/libcxxabi/test/ %endif %endif -%endif popd # Remove files that won't be needed anymore. ++++++ clang-21.1.6.src.tar.xz -> clang-21.1.7.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm21/clang-21.1.6.src.tar.xz /work/SRC/openSUSE:Factory/.llvm21.new.1939/clang-21.1.7.src.tar.xz differ: char 15, line 1 ++++++ clang-docs-21.1.6.src.tar.xz -> clang-docs-21.1.7.src.tar.xz ++++++ ++++ 3308 lines of diff (skipped) ++++++ clang-tools-extra-21.1.6.src.tar.xz -> clang-tools-extra-21.1.7.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-tools-extra-21.1.6.src/clangd/GlobalCompilationDatabase.cpp new/clang-tools-extra-21.1.7.src/clangd/GlobalCompilationDatabase.cpp --- old/clang-tools-extra-21.1.6.src/clangd/GlobalCompilationDatabase.cpp 2025-11-13 10:22:08.000000000 +0100 +++ new/clang-tools-extra-21.1.7.src/clangd/GlobalCompilationDatabase.cpp 2025-12-01 13:58:50.000000000 +0100 @@ -833,6 +833,10 @@ std::unique_ptr<ProjectModules> OverlayCDB::getProjectModules(PathRef File) const { auto MDB = DelegatingCDB::getProjectModules(File); + if (!MDB) { + log("Failed to get compilation Database for {0}", File); + return {}; + } MDB->setCommandMangler([&Mangler = Mangler](tooling::CompileCommand &Command, PathRef CommandPath) { Mangler(Command, CommandPath); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-tools-extra-21.1.6.src/clangd/test/modules_no_cdb.test new/clang-tools-extra-21.1.7.src/clangd/test/modules_no_cdb.test --- old/clang-tools-extra-21.1.6.src/clangd/test/modules_no_cdb.test 1970-01-01 01:00:00.000000000 +0100 +++ new/clang-tools-extra-21.1.7.src/clangd/test/modules_no_cdb.test 2025-12-01 13:58:50.000000000 +0100 @@ -0,0 +1,66 @@ +# A smoke test to check that clangd works without compilation database +# +# Windows have different escaping modes. +# FIXME: We should add one for windows. +# UNSUPPORTED: system-windows +# +# RUN: rm -fr %t +# RUN: mkdir -p %t +# RUN: split-file %s %t +# +# RUN: sed -e "s|DIR|%/t|g" %t/definition.jsonrpc.tmpl > %t/definition.jsonrpc +# +# RUN: clangd -experimental-modules-support -lit-test < %t/definition.jsonrpc \ +# RUN: | FileCheck -strict-whitespace %t/definition.jsonrpc + +#--- A.h +void printA(); + +#--- Use.cpp +#include "A.h" +void foo() { + print +} + +#--- definition.jsonrpc.tmpl +{ + "jsonrpc": "2.0", + "id": 0, + "method": "initialize", + "params": { + "processId": 123, + "rootPath": "clangd", + "capabilities": { + "textDocument": { + "completion": { + "completionItem": { + "snippetSupport": true + } + } + } + }, + "trace": "off" + } +} +--- +{ + "jsonrpc": "2.0", + "method": "textDocument/didOpen", + "params": { + "textDocument": { + "uri": "file://DIR/Use.cpp", + "languageId": "cpp", + "version": 1, + "text": "#include \"A.h\"\nvoid foo() {\n print\n}\n" + } + } +} + +# CHECK: "message"{{.*}}printA{{.*}}(fix available) + +--- +{"jsonrpc":"2.0","id":1,"method":"textDocument/completion","params":{"textDocument":{"uri":"file://DIR/Use.cpp"},"context":{"triggerKind":1},"position":{"line":2,"character":6}}} +--- +{"jsonrpc":"2.0","id":2,"method":"shutdown"} +--- +{"jsonrpc":"2.0","method":"exit"} ++++++ cmake-21.1.6.src.tar.xz -> cmake-21.1.7.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-21.1.6.src/Modules/LLVMVersion.cmake new/cmake-21.1.7.src/Modules/LLVMVersion.cmake --- old/cmake-21.1.6.src/Modules/LLVMVersion.cmake 2025-11-13 10:22:08.000000000 +0100 +++ new/cmake-21.1.7.src/Modules/LLVMVersion.cmake 2025-12-01 13:58:50.000000000 +0100 @@ -7,7 +7,7 @@ set(LLVM_VERSION_MINOR 1) endif() if(NOT DEFINED LLVM_VERSION_PATCH) - set(LLVM_VERSION_PATCH 6) + set(LLVM_VERSION_PATCH 7) endif() if(NOT DEFINED LLVM_VERSION_SUFFIX) set(LLVM_VERSION_SUFFIX) ++++++ compiler-rt-21.1.6.src.tar.xz -> compiler-rt-21.1.7.src.tar.xz ++++++ ++++++ libc-21.1.6.src.tar.xz -> libc-21.1.7.src.tar.xz ++++++ ++++++ libcxx-21.1.6.src.tar.xz -> libcxx-21.1.7.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-21.1.6.src/include/__config new/libcxx-21.1.7.src/include/__config --- old/libcxx-21.1.6.src/include/__config 2025-11-13 10:22:08.000000000 +0100 +++ new/libcxx-21.1.7.src/include/__config 2025-12-01 13:58:50.000000000 +0100 @@ -28,7 +28,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 17.0.1 == 17.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 210106 +# define _LIBCPP_VERSION 210107 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) ++++++ libcxxabi-21.1.6.src.tar.xz -> libcxxabi-21.1.7.src.tar.xz ++++++ ++++++ lld-21.1.6.src.tar.xz -> lld-21.1.7.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-21.1.6.src/COFF/Chunks.cpp new/lld-21.1.7.src/COFF/Chunks.cpp --- old/lld-21.1.6.src/COFF/Chunks.cpp 2025-11-13 10:22:08.000000000 +0100 +++ new/lld-21.1.7.src/COFF/Chunks.cpp 2025-12-01 13:58:50.000000000 +0100 @@ -939,7 +939,7 @@ auto table = reinterpret_cast<chpe_range_entry *>(buf); for (uint32_t i = 0; i < map.size(); i++) { const ECCodeMapEntry &entry = map[i]; - uint32_t start = entry.first->getRVA(); + uint32_t start = entry.first->getRVA() & ~0xfff; table[i].StartOffset = start | entry.type; table[i].Length = entry.last->getRVA() + entry.last->getSize() - start; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-21.1.6.src/test/COFF/arm64ec-codemap.test new/lld-21.1.7.src/test/COFF/arm64ec-codemap.test --- old/lld-21.1.6.src/test/COFF/arm64ec-codemap.test 2025-11-13 10:22:08.000000000 +0100 +++ new/lld-21.1.7.src/test/COFF/arm64ec-codemap.test 2025-12-01 13:58:50.000000000 +0100 @@ -7,6 +7,7 @@ RUN: llvm-mc -filetype=obj -triple=arm64ec-windows data-sec.s -o data-sec.obj RUN: llvm-mc -filetype=obj -triple=arm64ec-windows data-sec2.s -o data-sec2.obj RUN: llvm-mc -filetype=obj -triple=arm64ec-windows empty-sec.s -o arm64ec-empty-sec.obj +RUN: llvm-mc -filetype=obj -triple=arm64ec-windows entry-thunk.s -o entry-thunk.obj RUN: llvm-mc -filetype=obj -triple=x86_64-windows x86_64-func-sym.s -o x86_64-func-sym.obj RUN: llvm-mc -filetype=obj -triple=x86_64-windows empty-sec.s -o x86_64-empty-sec.obj RUN: llvm-mc -filetype=obj -triple=aarch64-windows %S/Inputs/loadconfig-arm64.s -o loadconfig-arm64.obj @@ -162,15 +163,17 @@ RUN: llvm-readobj --coff-load-config testcm.dll | FileCheck -check-prefix=CODEMAPCM %s CODEMAPCM: CodeMap [ -CODEMAPCM-NEXT: 0x4008 - 0x4016 X64 +CODEMAPCM-NEXT: 0x4000 - 0x4016 X64 CODEMAPCM-NEXT: ] RUN: llvm-objdump -d testcm.dll | FileCheck -check-prefix=DISASMCM %s DISASMCM: Disassembly of section .testdat: DISASMCM-EMPTY: DISASMCM-NEXT: 0000000180004000 <.testdat>: -DISASMCM-NEXT: 180004000: 00000001 udf #0x1 -DISASMCM-NEXT: 180004004: 00000000 udf #0x0 +DISASMCM-NEXT: 180004000: 01 00 addl %eax, (%rax) +DISASMCM-NEXT: 180004002: 00 00 addb %al, (%rax) +DISASMCM-NEXT: 180004004: 00 00 addb %al, (%rax) +DISASMCM-NEXT: 180004006: 00 00 addb %al, (%rax) DISASMCM-NEXT: 180004008: b8 03 00 00 00 movl $0x3, %eax DISASMCM-NEXT: 18000400d: c3 retq DISASMCM-NEXT: 18000400e: 00 00 addb %al, (%rax) @@ -207,6 +210,14 @@ DISASMMS-NEXT: 180006000: 528000a0 mov w0, #0x5 // =5 DISASMMS-NEXT: 180006004: d65f03c0 ret +Test the code map that includes an ARM64EC function padded by its entry-thunk offset. + +RUN: lld-link -out:testpad.dll -machine:arm64ec entry-thunk.obj loadconfig-arm64ec.obj -dll -noentry -include:func +RUN: llvm-readobj --coff-load-config testpad.dll | FileCheck -check-prefix=CODEMAPPAD %s +CODEMAPPAD: CodeMap [ +CODEMAPPAD: 0x1000 - 0x1010 ARM64EC +CODEMAPPAD-NEXT: ] + #--- arm64-func-sym.s .text @@ -266,3 +277,22 @@ .section .empty1, "xr" .section .empty2, "xr" .section .empty3, "xr" + +#--- entry-thunk.s + .section .text,"xr",discard,func + .globl func + .p2align 2, 0x0 +func: + mov w0, #1 + ret + + .section .wowthk$aa,"xr",discard,thunk + .globl thunk + .p2align 2 +thunk: + ret + + .section .hybmp$x,"yi" + .symidx func + .symidx thunk + .word 1 // entry thunk ++++++ lldb-21.1.6.src.tar.xz -> lldb-21.1.7.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm21/lldb-21.1.6.src.tar.xz /work/SRC/openSUSE:Factory/.llvm21.new.1939/lldb-21.1.7.src.tar.xz differ: char 15, line 1 ++++++ llvm-21.1.6.src.tar.xz -> llvm-21.1.7.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm21/llvm-21.1.6.src.tar.xz /work/SRC/openSUSE:Factory/.llvm21.new.1939/llvm-21.1.7.src.tar.xz differ: char 15, line 1 ++++++ llvm-do-not-install-static-libraries.patch ++++++ --- /var/tmp/diff_new_pack.JARoiE/_old 2025-12-17 17:37:06.621519752 +0100 +++ /var/tmp/diff_new_pack.JARoiE/_new 2025-12-17 17:37:06.633520256 +0100 @@ -2,10 +2,10 @@ want after installation. By not copying them in the first place we reduce the disk usage during installation. -Index: clang-21.1.6.src/cmake/modules/AddClang.cmake +Index: clang-21.1.7.src/cmake/modules/AddClang.cmake =================================================================== ---- a/clang-21.1.6.src/cmake/modules/AddClang.cmake -+++ b/clang-21.1.6.src/cmake/modules/AddClang.cmake +--- a/clang-21.1.7.src/cmake/modules/AddClang.cmake ++++ b/clang-21.1.7.src/cmake/modules/AddClang.cmake @@ -106,12 +106,15 @@ macro(add_clang_library name) if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN) @@ -73,10 +73,10 @@ endif() get_subproject_title(subproject_title) -Index: lld-21.1.6.src/cmake/modules/AddLLD.cmake +Index: lld-21.1.7.src/cmake/modules/AddLLD.cmake =================================================================== ---- a/lld-21.1.6.src/cmake/modules/AddLLD.cmake -+++ b/lld-21.1.6.src/cmake/modules/AddLLD.cmake +--- a/lld-21.1.7.src/cmake/modules/AddLLD.cmake ++++ b/lld-21.1.7.src/cmake/modules/AddLLD.cmake @@ -14,13 +14,6 @@ macro(add_lld_library name) if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) @@ -91,10 +91,10 @@ if (NOT CMAKE_CONFIGURATION_TYPES) add_llvm_install_targets(install-${name} DEPENDS ${name} -Index: polly-21.1.6.src/cmake/polly_macros.cmake +Index: polly-21.1.7.src/cmake/polly_macros.cmake =================================================================== ---- a/polly-21.1.6.src/cmake/polly_macros.cmake -+++ b/polly-21.1.6.src/cmake/polly_macros.cmake +--- a/polly-21.1.7.src/cmake/polly_macros.cmake ++++ b/polly-21.1.7.src/cmake/polly_macros.cmake @@ -43,16 +43,18 @@ if (LLVM_POLLY_LINK_INTO_TOOLS) set(exports EXPORT LLVMExports) @@ -125,10 +125,10 @@ endmacro(add_polly_library) macro(add_polly_loadable_module name) -Index: polly-21.1.6.src/lib/CMakeLists.txt +Index: polly-21.1.7.src/lib/CMakeLists.txt =================================================================== ---- a/polly-21.1.6.src/lib/CMakeLists.txt -+++ b/polly-21.1.6.src/lib/CMakeLists.txt +--- a/polly-21.1.7.src/lib/CMakeLists.txt ++++ b/polly-21.1.7.src/lib/CMakeLists.txt @@ -109,7 +109,7 @@ set_target_properties(PollyCore PROPERTI # It depends on all library it needs, such that with # LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as ++++++ llvm-docs-21.1.6.src.tar.xz -> llvm-docs-21.1.7.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm21/llvm-docs-21.1.6.src.tar.xz /work/SRC/openSUSE:Factory/.llvm21.new.1939/llvm-docs-21.1.7.src.tar.xz differ: char 15, line 1 ++++++ openmp-21.1.6.src.tar.xz -> openmp-21.1.7.src.tar.xz ++++++ ++++++ polly-21.1.6.src.tar.xz -> polly-21.1.7.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm21/polly-21.1.6.src.tar.xz /work/SRC/openSUSE:Factory/.llvm21.new.1939/polly-21.1.7.src.tar.xz differ: char 15, line 1 ++++++ runtimes-21.1.6.src.tar.xz -> runtimes-21.1.7.src.tar.xz ++++++ ++++++ third-party-21.1.6.src.tar.xz -> third-party-21.1.7.src.tar.xz ++++++
