Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llvm18 for openSUSE:Factory checked in at 2024-04-21 20:24:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm18 (Old) and /work/SRC/openSUSE:Factory/.llvm18.new.26366 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm18" Sun Apr 21 20:24:21 2024 rev:4 rq:1169036 version:18.1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm18/llvm18.changes 2024-04-05 20:24:38.663561421 +0200 +++ /work/SRC/openSUSE:Factory/.llvm18.new.26366/llvm18.changes 2024-04-21 20:24:46.172392067 +0200 @@ -1,0 +2,17 @@ +Thu Apr 18 21:22:11 UTC 2024 - Aaron Puchert <aaronpuch...@alice-dsl.net> + +- Update to version 18.1.4. + * Fixes an issue with Arm64EC code generation where calls to some + intrinsics implemented in compiler-rt used the wrong name + mangling, eventually resulting in unresolved symbol errors + during linking. + * Fixed an incorrect poison-generating flag preservation in + `InstSimplify`. It will fix a miscompilation on RISCV, which + turns the incorrect `or disjoint` into an `add`. + * Save/restore routines for RV32E/RV64E are added to compiler-rt. + * Fix regressions introduced in LLVM 18.1.3 in MIPS atomicrmw + min/max codegen. +- Include module files for libc++ in libc++-devel. +- Rebase llvm-do-not-install-static-libraries.patch. + +------------------------------------------------------------------- Old: ---- clang-18.1.3.src.tar.xz clang-18.1.3.src.tar.xz.sig clang-docs-18.1.3.src.tar.xz clang-tools-extra-18.1.3.src.tar.xz clang-tools-extra-18.1.3.src.tar.xz.sig cmake-18.1.3.src.tar.xz cmake-18.1.3.src.tar.xz.sig compiler-rt-18.1.3.src.tar.xz compiler-rt-18.1.3.src.tar.xz.sig libcxx-18.1.3.src.tar.xz libcxx-18.1.3.src.tar.xz.sig libcxxabi-18.1.3.src.tar.xz libcxxabi-18.1.3.src.tar.xz.sig lld-18.1.3.src.tar.xz lld-18.1.3.src.tar.xz.sig lldb-18.1.3.src.tar.xz lldb-18.1.3.src.tar.xz.sig llvm-18.1.3.src.tar.xz llvm-18.1.3.src.tar.xz.sig llvm-docs-18.1.3.src.tar.xz openmp-18.1.3.src.tar.xz openmp-18.1.3.src.tar.xz.sig polly-18.1.3.src.tar.xz polly-18.1.3.src.tar.xz.sig runtimes-18.1.3.src.tar.xz runtimes-18.1.3.src.tar.xz.sig third-party-18.1.3.src.tar.xz third-party-18.1.3.src.tar.xz.sig New: ---- clang-18.1.4.src.tar.xz clang-18.1.4.src.tar.xz.sig clang-docs-18.1.4.src.tar.xz clang-tools-extra-18.1.4.src.tar.xz clang-tools-extra-18.1.4.src.tar.xz.sig cmake-18.1.4.src.tar.xz cmake-18.1.4.src.tar.xz.sig compiler-rt-18.1.4.src.tar.xz compiler-rt-18.1.4.src.tar.xz.sig libcxx-18.1.4.src.tar.xz libcxx-18.1.4.src.tar.xz.sig libcxxabi-18.1.4.src.tar.xz libcxxabi-18.1.4.src.tar.xz.sig lld-18.1.4.src.tar.xz lld-18.1.4.src.tar.xz.sig lldb-18.1.4.src.tar.xz lldb-18.1.4.src.tar.xz.sig llvm-18.1.4.src.tar.xz llvm-18.1.4.src.tar.xz.sig llvm-docs-18.1.4.src.tar.xz openmp-18.1.4.src.tar.xz openmp-18.1.4.src.tar.xz.sig polly-18.1.4.src.tar.xz polly-18.1.4.src.tar.xz.sig runtimes-18.1.4.src.tar.xz runtimes-18.1.4.src.tar.xz.sig third-party-18.1.4.src.tar.xz third-party-18.1.4.src.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm18.spec ++++++ --- /var/tmp/diff_new_pack.Safrj3/_old 2024-04-21 20:24:49.056497893 +0200 +++ /var/tmp/diff_new_pack.Safrj3/_new 2024-04-21 20:24:49.060498040 +0200 @@ -19,7 +19,7 @@ %global _sonum 18 %global _minor %{_sonum}.1 %global _soname %{_minor}%{?_sosuffix} -%global _patch_level 3 +%global _patch_level 4 %global _relver %{_minor}.%{_patch_level} %global _version %_relver%{?_rc:rc%_rc} %global _tagver %_relver%{?_rc:-rc%_rc} @@ -1117,6 +1117,7 @@ %if %{with libcxx} -DLIBCXX_ENABLE_SHARED=YES \ -DLIBCXX_ENABLE_STATIC=NO \ + -DLIBCXX_INSTALL_MODULES=ON \ -DLIBCXXABI_ENABLE_SHARED=YES \ -DLIBCXXABI_ENABLE_STATIC=NO \ -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF \ @@ -1730,10 +1731,13 @@ %files %{multisource libcxx_devel} libc++-devel %license CREDITS.TXT LICENSE.TXT +%{_libdir}/libc++.modules.json %{_libdir}/libc++.so %{_libdir}/libc++experimental.a %dir %{_includedir}/c++/ %{_includedir}/c++/v%{_socxx} +%dir %{_datadir}/libc++/ +%{_datadir}/libc++/v%{_socxx} %files %{multisource libcxx_devel} libc++abi-devel %license CREDITS.TXT LICENSE.TXT ++++++ clang-18.1.3.src.tar.xz -> clang-18.1.4.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm18/clang-18.1.3.src.tar.xz /work/SRC/openSUSE:Factory/.llvm18.new.26366/clang-18.1.4.src.tar.xz differ: char 27, line 1 ++++++ clang-docs-18.1.3.src.tar.xz -> clang-docs-18.1.4.src.tar.xz ++++++ ++++ 2797 lines of diff (skipped) ++++++ clang-tools-extra-18.1.3.src.tar.xz -> clang-tools-extra-18.1.4.src.tar.xz ++++++ ++++++ cmake-18.1.3.src.tar.xz -> cmake-18.1.4.src.tar.xz ++++++ ++++++ compiler-rt-18.1.3.src.tar.xz -> compiler-rt-18.1.4.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compiler-rt-18.1.3.src/lib/builtins/riscv/restore.S new/compiler-rt-18.1.4.src/lib/builtins/riscv/restore.S --- old/compiler-rt-18.1.3.src/lib/builtins/riscv/restore.S 2024-04-03 00:10:59.000000000 +0200 +++ new/compiler-rt-18.1.4.src/lib/builtins/riscv/restore.S 2024-04-17 02:21:15.000000000 +0200 @@ -22,6 +22,8 @@ #if __riscv_xlen == 32 +#ifndef __riscv_32e + .globl __riscv_restore_12 .type __riscv_restore_12,@function __riscv_restore_12: @@ -86,8 +88,29 @@ addi sp, sp, 16 ret +#else + + .globl __riscv_restore_2 + .type __riscv_restore_2,@function + .globl __riscv_restore_1 + .type __riscv_restore_1,@function + .globl __riscv_restore_0 + .type __riscv_restore_0,@function +__riscv_restore_2: +__riscv_restore_1: +__riscv_restore_0: + lw s1, 0(sp) + lw s0, 4(sp) + lw ra, 8(sp) + addi sp, sp, 12 + ret + +#endif + #elif __riscv_xlen == 64 +#ifndef __riscv_64e + .globl __riscv_restore_12 .type __riscv_restore_12,@function __riscv_restore_12: @@ -162,5 +185,24 @@ ret #else + + .globl __riscv_restore_2 + .type __riscv_restore_2,@function + .globl __riscv_restore_1 + .type __riscv_restore_1,@function + .globl __riscv_restore_0 + .type __riscv_restore_0,@function +__riscv_restore_2: +__riscv_restore_1: +__riscv_restore_0: + ld s1, 0(sp) + ld s0, 8(sp) + ld ra, 16(sp) + addi sp, sp, 24 + ret + +#endif + +#else # error "xlen must be 32 or 64 for save-restore implementation #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compiler-rt-18.1.3.src/lib/builtins/riscv/save.S new/compiler-rt-18.1.4.src/lib/builtins/riscv/save.S --- old/compiler-rt-18.1.3.src/lib/builtins/riscv/save.S 2024-04-03 00:10:59.000000000 +0200 +++ new/compiler-rt-18.1.4.src/lib/builtins/riscv/save.S 2024-04-17 02:21:15.000000000 +0200 @@ -18,6 +18,8 @@ #if __riscv_xlen == 32 +#ifndef __riscv_32e + .globl __riscv_save_12 .type __riscv_save_12,@function __riscv_save_12: @@ -92,8 +94,29 @@ sw ra, 12(sp) jr t0 +#else + + .globl __riscv_save_2 + .type __riscv_save_2,@function + .globl __riscv_save_1 + .type __riscv_save_1,@function + .globl __riscv_save_0 + .type __riscv_save_0,@function +__riscv_save_2: +__riscv_save_1: +__riscv_save_0: + addi sp, sp, -12 + sw s1, 0(sp) + sw s0, 4(sp) + sw ra, 8(sp) + jr t0 + +#endif + #elif __riscv_xlen == 64 +#ifndef __riscv_64e + .globl __riscv_save_12 .type __riscv_save_12,@function __riscv_save_12: @@ -182,5 +205,24 @@ jr t0 #else + + .globl __riscv_save_2 + .type __riscv_save_2,@function + .globl __riscv_save_1 + .type __riscv_save_1,@function + .globl __riscv_save_0 + .type __riscv_save_0,@function +__riscv_save_2: +__riscv_save_1: +__riscv_save_0: + addi sp, sp, -24 + sd s1, 0(sp) + sd s0, 8(sp) + sd ra, 16(sp) + jr t0 + +#endif + +#else # error "xlen must be 32 or 64 for save-restore implementation #endif ++++++ libcxx-18.1.3.src.tar.xz -> libcxx-18.1.4.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-18.1.3.src/include/__format/formatter_floating_point.h new/libcxx-18.1.4.src/include/__format/formatter_floating_point.h --- old/libcxx-18.1.3.src/include/__format/formatter_floating_point.h 2024-04-03 00:10:59.000000000 +0200 +++ new/libcxx-18.1.4.src/include/__format/formatter_floating_point.h 2024-04-17 02:21:15.000000000 +0200 @@ -689,7 +689,7 @@ // Let P equal the precision if nonzero, 6 if the precision is not // specified, or 1 if the precision is 0. Then, if a conversion with // style E would have an exponent of X: - int __p = std::max(1, (__specs.__has_precision() ? __specs.__precision_ : 6)); + int __p = std::max<int>(1, (__specs.__has_precision() ? __specs.__precision_ : 6)); if (__result.__exponent == __result.__last) // if P > X >= -4, the conversion is with style f or F and precision P - 1 - X. // By including the radix point it calculates P - (1 + X) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-18.1.3.src/include/stddef.h new/libcxx-18.1.4.src/include/stddef.h --- old/libcxx-18.1.3.src/include/stddef.h 2024-04-03 00:10:59.000000000 +0200 +++ new/libcxx-18.1.4.src/include/stddef.h 2024-04-17 02:21:15.000000000 +0200 @@ -7,18 +7,6 @@ // //===----------------------------------------------------------------------===// -#if defined(__need_ptrdiff_t) || defined(__need_size_t) || defined(__need_wchar_t) || defined(__need_NULL) || \ - defined(__need_wint_t) - -# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -# endif - -# include_next <stddef.h> - -#elif !defined(_LIBCPP_STDDEF_H) -# define _LIBCPP_STDDEF_H - /* stddef.h synopsis @@ -36,15 +24,18 @@ */ -# include <__config> +#include <__config> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif -# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -# endif - -# if __has_include_next(<stddef.h>) -# include_next <stddef.h> -# endif +// Note: This include is outside of header guards because we sometimes get included multiple times +// with different defines and the underlying <stddef.h> will know how to deal with that. +#include_next <stddef.h> + +#ifndef _LIBCPP_STDDEF_H +# define _LIBCPP_STDDEF_H # ifdef __cplusplus typedef decltype(nullptr) nullptr_t; ++++++ libcxxabi-18.1.3.src.tar.xz -> libcxxabi-18.1.4.src.tar.xz ++++++ ++++++ lld-18.1.3.src.tar.xz -> lld-18.1.4.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-18.1.3.src/COFF/Chunks.cpp new/lld-18.1.4.src/COFF/Chunks.cpp --- old/lld-18.1.3.src/COFF/Chunks.cpp 2024-04-03 00:10:59.000000000 +0200 +++ new/lld-18.1.4.src/COFF/Chunks.cpp 2024-04-17 02:21:15.000000000 +0200 @@ -652,6 +652,13 @@ dyn_cast_or_null<Defined>(file->getSymbol(rel.SymbolTableIndex)); if (!target || !target->isRuntimePseudoReloc) continue; + // If the target doesn't have a chunk allocated, it may be a + // DefinedImportData symbol which ended up unnecessary after GC. + // Normally we wouldn't eliminate section chunks that are referenced, but + // references within DWARF sections don't count for keeping section chunks + // alive. Thus such dangling references in DWARF sections are expected. + if (!target->getChunk()) + continue; int sizeInBits = getRuntimePseudoRelocSize(rel.Type, file->ctx.config.machine); if (sizeInBits == 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-18.1.3.src/test/COFF/autoimport-gc.s new/lld-18.1.4.src/test/COFF/autoimport-gc.s --- old/lld-18.1.3.src/test/COFF/autoimport-gc.s 1970-01-01 01:00:00.000000000 +0100 +++ new/lld-18.1.4.src/test/COFF/autoimport-gc.s 2024-04-17 02:21:15.000000000 +0200 @@ -0,0 +1,41 @@ +# REQUIRES: x86 +# RUN: split-file %s %t.dir + +# RUN: llvm-mc -triple=x86_64-windows-gnu %t.dir/lib.s -filetype=obj -o %t.dir/lib.obj +# RUN: lld-link -out:%t.dir/lib.dll -dll -entry:DllMainCRTStartup %t.dir/lib.obj -lldmingw -implib:%t.dir/lib.lib + +# RUN: llvm-mc -triple=x86_64-windows-gnu %t.dir/main.s -filetype=obj -o %t.dir/main.obj +# RUN: lld-link -lldmingw -out:%t.dir/main.exe -entry:main %t.dir/main.obj %t.dir/lib.lib -opt:ref -debug:dwarf + +#--- main.s + .global main + .section .text$main,"xr",one_only,main +main: + ret + + .global other + .section .text$other,"xr",one_only,other +other: + movq .refptr.variable(%rip), %rax + movl (%rax), %eax + ret + + .section .rdata$.refptr.variable,"dr",discard,.refptr.variable + .global .refptr.variable +.refptr.variable: + .quad variable + + .section .debug_info + .long 1 + .quad variable + .long 2 + +#--- lib.s + .global variable + .global DllMainCRTStartup + .text +DllMainCRTStartup: + ret + .data +variable: + .long 42 ++++++ lldb-18.1.3.src.tar.xz -> lldb-18.1.4.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm18/lldb-18.1.3.src.tar.xz /work/SRC/openSUSE:Factory/.llvm18.new.26366/lldb-18.1.4.src.tar.xz differ: char 27, line 1 ++++++ llvm-18.1.3.src.tar.xz -> llvm-18.1.4.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm18/llvm-18.1.3.src.tar.xz /work/SRC/openSUSE:Factory/.llvm18.new.26366/llvm-18.1.4.src.tar.xz differ: char 27, line 1 ++++++ llvm-do-not-install-static-libraries.patch ++++++ --- /var/tmp/diff_new_pack.Safrj3/_old 2024-04-21 20:24:56.404767521 +0200 +++ /var/tmp/diff_new_pack.Safrj3/_new 2024-04-21 20:24:56.404767521 +0200 @@ -2,10 +2,10 @@ want after installation. By not copying them in the first place we reduce the disk usage during installation. -Index: clang-18.1.3.src/cmake/modules/AddClang.cmake +Index: clang-18.1.4.src/cmake/modules/AddClang.cmake =================================================================== ---- a/clang-18.1.3.src/cmake/modules/AddClang.cmake -+++ b/clang-18.1.3.src/cmake/modules/AddClang.cmake +--- a/clang-18.1.4.src/cmake/modules/AddClang.cmake ++++ b/clang-18.1.4.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) @@ -68,10 +68,10 @@ endif() if (ARG_MODULE) set_target_properties(${name} PROPERTIES FOLDER "Loadable modules") -Index: lld-18.1.3.src/cmake/modules/AddLLD.cmake +Index: lld-18.1.4.src/cmake/modules/AddLLD.cmake =================================================================== ---- a/lld-18.1.3.src/cmake/modules/AddLLD.cmake -+++ b/lld-18.1.3.src/cmake/modules/AddLLD.cmake +--- a/lld-18.1.4.src/cmake/modules/AddLLD.cmake ++++ b/lld-18.1.4.src/cmake/modules/AddLLD.cmake @@ -17,13 +17,6 @@ macro(add_lld_library name) if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) @@ -86,10 +86,10 @@ if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) add_llvm_install_targets(install-${name} DEPENDS ${name} -Index: polly-18.1.3.src/cmake/polly_macros.cmake +Index: polly-18.1.4.src/cmake/polly_macros.cmake =================================================================== ---- a/polly-18.1.3.src/cmake/polly_macros.cmake -+++ b/polly-18.1.3.src/cmake/polly_macros.cmake +--- a/polly-18.1.4.src/cmake/polly_macros.cmake ++++ b/polly-18.1.4.src/cmake/polly_macros.cmake @@ -42,15 +42,17 @@ macro(add_polly_library name) llvm_config(${name} ${LLVM_LINK_COMPONENTS}) endif( LLVM_LINK_COMPONENTS ) @@ -116,10 +116,10 @@ endmacro(add_polly_library) macro(add_polly_loadable_module name) -Index: polly-18.1.3.src/lib/CMakeLists.txt +Index: polly-18.1.4.src/lib/CMakeLists.txt =================================================================== ---- a/polly-18.1.3.src/lib/CMakeLists.txt -+++ b/polly-18.1.3.src/lib/CMakeLists.txt +--- a/polly-18.1.4.src/lib/CMakeLists.txt ++++ b/polly-18.1.4.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-18.1.3.src.tar.xz -> llvm-docs-18.1.4.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm18/llvm-docs-18.1.3.src.tar.xz /work/SRC/openSUSE:Factory/.llvm18.new.26366/llvm-docs-18.1.4.src.tar.xz differ: char 27, line 1 ++++++ openmp-18.1.3.src.tar.xz -> openmp-18.1.4.src.tar.xz ++++++ ++++++ polly-18.1.3.src.tar.xz -> polly-18.1.4.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm18/polly-18.1.3.src.tar.xz /work/SRC/openSUSE:Factory/.llvm18.new.26366/polly-18.1.4.src.tar.xz differ: char 27, line 1 ++++++ runtimes-18.1.3.src.tar.xz -> runtimes-18.1.4.src.tar.xz ++++++ ++++++ third-party-18.1.3.src.tar.xz -> third-party-18.1.4.src.tar.xz ++++++