Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llvm17 for openSUSE:Factory checked in at 2023-10-08 12:17:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm17 (Old) and /work/SRC/openSUSE:Factory/.llvm17.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm17" Sun Oct 8 12:17:24 2023 rev:2 rq:1116228 version:17.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm17/llvm17.changes 2023-09-28 00:37:59.547793300 +0200 +++ /work/SRC/openSUSE:Factory/.llvm17.new.28202/llvm17.changes 2023-10-08 12:20:09.762135970 +0200 @@ -1,0 +2,8 @@ +Sat Oct 7 14:19:01 UTC 2023 - Aaron Puchert <aaronpuch...@alice-dsl.net> + +- Update to version 17.0.2. + * This release contains bug-fixes for the LLVM 17.0.0 release. + This release is API and ABI compatible with 17.0.0. +- Rebase llvm-do-not-install-static-libraries.patch. + +------------------------------------------------------------------- Old: ---- clang-17.0.1.src.tar.xz clang-17.0.1.src.tar.xz.sig clang-docs-17.0.1.src.tar.xz clang-tools-extra-17.0.1.src.tar.xz clang-tools-extra-17.0.1.src.tar.xz.sig cmake-17.0.1.src.tar.xz cmake-17.0.1.src.tar.xz.sig compiler-rt-17.0.1.src.tar.xz compiler-rt-17.0.1.src.tar.xz.sig libcxx-17.0.1.src.tar.xz libcxx-17.0.1.src.tar.xz.sig libcxxabi-17.0.1.src.tar.xz libcxxabi-17.0.1.src.tar.xz.sig lld-17.0.1.src.tar.xz lld-17.0.1.src.tar.xz.sig lldb-17.0.1.src.tar.xz lldb-17.0.1.src.tar.xz.sig llvm-17.0.1.src.tar.xz llvm-17.0.1.src.tar.xz.sig llvm-docs-17.0.1.src.tar.xz openmp-17.0.1.src.tar.xz openmp-17.0.1.src.tar.xz.sig polly-17.0.1.src.tar.xz polly-17.0.1.src.tar.xz.sig runtimes-17.0.1.src.tar.xz third-party-17.0.1.src.tar.xz third-party-17.0.1.src.tar.xz.sig New: ---- clang-17.0.2.src.tar.xz clang-17.0.2.src.tar.xz.sig clang-docs-17.0.2.src.tar.xz clang-tools-extra-17.0.2.src.tar.xz clang-tools-extra-17.0.2.src.tar.xz.sig cmake-17.0.2.src.tar.xz cmake-17.0.2.src.tar.xz.sig compiler-rt-17.0.2.src.tar.xz compiler-rt-17.0.2.src.tar.xz.sig libcxx-17.0.2.src.tar.xz libcxx-17.0.2.src.tar.xz.sig libcxxabi-17.0.2.src.tar.xz libcxxabi-17.0.2.src.tar.xz.sig lld-17.0.2.src.tar.xz lld-17.0.2.src.tar.xz.sig lldb-17.0.2.src.tar.xz lldb-17.0.2.src.tar.xz.sig llvm-17.0.2.src.tar.xz llvm-17.0.2.src.tar.xz.sig llvm-docs-17.0.2.src.tar.xz openmp-17.0.2.src.tar.xz openmp-17.0.2.src.tar.xz.sig polly-17.0.2.src.tar.xz polly-17.0.2.src.tar.xz.sig runtimes-17.0.2.src.tar.xz runtimes-17.0.2.src.tar.xz.sig third-party-17.0.2.src.tar.xz third-party-17.0.2.src.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm17.spec ++++++ --- /var/tmp/diff_new_pack.0I8sC4/_old 2023-10-08 12:20:15.126328833 +0200 +++ /var/tmp/diff_new_pack.0I8sC4/_new 2023-10-08 12:20:15.126328833 +0200 @@ -16,7 +16,7 @@ # -%global _relver 17.0.1 +%global _relver 17.0.2 %global _version %_relver%{?_rc:rc%_rc} %global _tagver %_relver%{?_rc:-rc%_rc} %global _sonum 17 @@ -24,7 +24,7 @@ %global _soname %{_sonum}%{?_sosuffix} %global _itsme17 1 # Integer version used by update-alternatives -%global _uaver 1701 +%global _uaver 1702 %global _soclang 13 %global _socxx 1 @@ -352,9 +352,7 @@ Source8: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/lld-%{_version}.src.tar.xz Source9: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/lldb-%{_version}.src.tar.xz Source10: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/polly-%{_version}.src.tar.xz -# Currently not available from GitHub, so built manually from the git repository: -# cd runtimes; git archive --prefix=runtimes-%{_version}.src/ llvmorg-%{_tagver} . | xz -T0 >../runtimes-%{_version}.src.tar.xz -Source11: runtimes-%{_version}.src.tar.xz +Source11: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/runtimes-%{_version}.src.tar.xz # We shouldn't actually use this, but it's hard to untangle from the build. Source12: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/third-party-%{_version}.src.tar.xz Source13: https://github.com/llvm/llvm-project/raw/llvmorg-%{_tagver}/libunwind/include/mach-o/compact_unwind_encoding.h @@ -370,6 +368,7 @@ Source38: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/lld-%{_version}.src.tar.xz.sig Source39: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/lldb-%{_version}.src.tar.xz.sig Source40: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/polly-%{_version}.src.tar.xz.sig +Source41: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/runtimes-%{_version}.src.tar.xz.sig Source42: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/third-party-%{_version}.src.tar.xz.sig # Docs are created manually, see below Source50: llvm-docs-%{_version}.src.tar.xz ++++++ clang-17.0.1.src.tar.xz -> clang-17.0.2.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm17/clang-17.0.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.28202/clang-17.0.2.src.tar.xz differ: char 15, line 1 ++++++ clang-docs-17.0.1.src.tar.xz -> clang-docs-17.0.2.src.tar.xz ++++++ ++++ 3574 lines of diff (skipped) ++++++ clang-tools-extra-17.0.1.src.tar.xz -> clang-tools-extra-17.0.2.src.tar.xz ++++++ ++++++ cmake-17.0.1.src.tar.xz -> cmake-17.0.2.src.tar.xz ++++++ ++++++ compiler-rt-17.0.1.src.tar.xz -> compiler-rt-17.0.2.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compiler-rt-17.0.1.src/CMakeLists.txt new/compiler-rt-17.0.2.src/CMakeLists.txt --- old/compiler-rt-17.0.1.src/CMakeLists.txt 2023-09-19 11:05:13.000000000 +0200 +++ new/compiler-rt-17.0.2.src/CMakeLists.txt 2023-10-03 08:37:35.000000000 +0200 @@ -389,6 +389,25 @@ if(MSVC) # FIXME: In fact, sanitizers should support both /MT and /MD, see PR20214. set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded) + + # Remove any /M[DT][d] flags, and strip any definitions of _DEBUG. + # Since we're using CMAKE_MSVC_RUNTIME_LIBRARY (CMP0091 set to NEW), + # these options shouldn't be included in these flags variables. However, + # package managers that don't know which mechanism is used for passing + # CRT choice flags might be passing them both ways - which leads to + # duplicate CRT choice options. Thus make sure to strip out these flags + # from these variables, when we're forcing a CRT choice other than what + # the user requested here. + foreach(flag_var + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + string(REGEX REPLACE "[/-]M[DT]d" "" ${flag_var} "${${flag_var}}") + string(REGEX REPLACE "[/-]MD" "" ${flag_var} "${${flag_var}}") + string(REGEX REPLACE "[/-]D_DEBUG" "" ${flag_var} "${${flag_var}}") + endforeach() + append_list_if(COMPILER_RT_HAS_Oy_FLAG /Oy- SANITIZER_COMMON_CFLAGS) append_list_if(COMPILER_RT_HAS_GS_FLAG /GS- SANITIZER_COMMON_CFLAGS) ++++++ libcxx-17.0.1.src.tar.xz -> libcxx-17.0.2.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.1.src/include/__config new/libcxx-17.0.2.src/include/__config --- old/libcxx-17.0.1.src/include/__config 2023-09-19 11:05:13.000000000 +0200 +++ new/libcxx-17.0.2.src/include/__config 2023-10-03 08:37:35.000000000 +0200 @@ -40,7 +40,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 170001 +# define _LIBCPP_VERSION 170002 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.1.src/include/__utility/pair.h new/libcxx-17.0.2.src/include/__utility/pair.h --- old/libcxx-17.0.1.src/include/__utility/pair.h 2023-09-19 11:05:13.000000000 +0200 +++ new/libcxx-17.0.2.src/include/__utility/pair.h 2023-10-03 08:37:35.000000000 +0200 @@ -288,9 +288,9 @@ # if _LIBCPP_STD_VER >= 23 // This is a workaround for http://llvm.org/PR60710. We should be able to remove it once Clang is fixed. - template <class _PairLike, bool _Enable = tuple_size<remove_cvref_t<_PairLike>>::value == 2> + template <class _PairLike> _LIBCPP_HIDE_FROM_ABI static constexpr bool __pair_like_explicit_wknd() { - if constexpr (tuple_size<remove_cvref_t<_PairLike>>::value == 2) { + if constexpr (__pair_like<_PairLike>) { return !is_convertible_v<decltype(std::get<0>(std::declval<_PairLike&&>())), first_type> || !is_convertible_v<decltype(std::get<1>(std::declval<_PairLike&&>())), second_type>; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.1.src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp new/libcxx-17.0.2.src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp --- old/libcxx-17.0.1.src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp 2023-09-19 11:05:13.000000000 +0200 +++ new/libcxx-17.0.2.src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp 2023-10-03 08:37:35.000000000 +0200 @@ -23,6 +23,37 @@ #include <type_traits> #include <utility> +namespace my_ns{ + +struct MyPairLike { + +template <std::size_t N> +friend int get(MyPairLike const&) +{ + return 0; +} + +}; + +} // namespace my_ns + +namespace std { + +template <> +struct tuple_size<my_ns::MyPairLike> : std::integral_constant<std::size_t, 2> {}; + +template <std::size_t N> +struct tuple_element<N, my_ns::MyPairLike> { + using type = int; +}; + +} // namespace std + +// https://github.com/llvm/llvm-project/issues/65620 +// This used to be a hard error +static_assert(!std::is_constructible_v<std::pair<int,int>, my_ns::MyPairLike const&>); + + constexpr bool test() { // Make sure construction works from array, tuple, and ranges::subrange { ++++++ libcxxabi-17.0.1.src.tar.xz -> libcxxabi-17.0.2.src.tar.xz ++++++ ++++++ lld-17.0.1.src.tar.xz -> lld-17.0.2.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-17.0.1.src/COFF/Driver.cpp new/lld-17.0.2.src/COFF/Driver.cpp --- old/lld-17.0.1.src/COFF/Driver.cpp 2023-09-19 11:05:13.000000000 +0200 +++ new/lld-17.0.2.src/COFF/Driver.cpp 2023-10-03 08:37:35.000000000 +0200 @@ -342,8 +342,8 @@ CHECK(c.getFullName(), "could not get the filename for the member defining symbol " + toCOFFString(ctx, sym)); - auto future = std::make_shared<std::future<MBErrPair>>( - createFutureForFile(childName)); + auto future = + std::make_shared<std::future<MBErrPair>>(createFutureForFile(childName)); enqueueTask([=]() { auto mbOrErr = future->get(); if (mbOrErr.second) @@ -640,26 +640,24 @@ void LinkerDriver::addClangLibSearchPaths(const std::string &argv0) { std::string lldBinary = sys::fs::getMainExecutable(argv0.c_str(), nullptr); SmallString<128> binDir(lldBinary); - sys::path::remove_filename(binDir); // remove lld-link.exe + sys::path::remove_filename(binDir); // remove lld-link.exe StringRef rootDir = sys::path::parent_path(binDir); // remove 'bin' SmallString<128> libDir(rootDir); sys::path::append(libDir, "lib"); - // We need to prepend the paths here in order to make sure that we always - // try to link the clang versions of the builtins over the ones supplied by MSVC. - searchPaths.insert(searchPaths.begin(), saver().save(libDir.str())); // Add the resource dir library path SmallString<128> runtimeLibDir(rootDir); - sys::path::append(runtimeLibDir, "lib", "clang", std::to_string(LLVM_VERSION_MAJOR), "lib"); - searchPaths.insert(searchPaths.begin(), saver().save(runtimeLibDir.str())); - + sys::path::append(runtimeLibDir, "lib", "clang", + std::to_string(LLVM_VERSION_MAJOR), "lib"); // Resource dir + osname, which is hardcoded to windows since we are in the // COFF driver. SmallString<128> runtimeLibDirWithOS(runtimeLibDir); sys::path::append(runtimeLibDirWithOS, "windows"); - searchPaths.insert(searchPaths.begin(), saver().save(runtimeLibDirWithOS.str())); + searchPaths.push_back(saver().save(runtimeLibDirWithOS.str())); + searchPaths.push_back(saver().save(runtimeLibDir.str())); + searchPaths.push_back(saver().save(libDir.str())); } void LinkerDriver::addWinSysRootLibSearchPaths() { @@ -1145,8 +1143,7 @@ if (set.count(s) == 0) { if (ctx.config.warnMissingOrderSymbol) warn("/order:" + arg + ": missing symbol: " + s + " [LNK4037]"); - } - else + } else ctx.config.order[s] = INT_MIN + ctx.config.order.size(); } @@ -1313,8 +1310,8 @@ else if (var.equals_insensitive("%_ext%")) buf.append(binaryExtension); else { - warn("only %_PDB% and %_EXT% supported in /pdbaltpath:, keeping " + - var + " as literal"); + warn("only %_PDB% and %_EXT% supported in /pdbaltpath:, keeping " + var + + " as literal"); buf.append(var); } @@ -1448,8 +1445,8 @@ return nullptr; } - if (auto ret = vfs::getVFSFromYAML(std::move(*bufOrErr), /*DiagHandler*/ nullptr, - arg->getValue())) + if (auto ret = vfs::getVFSFromYAML(std::move(*bufOrErr), + /*DiagHandler*/ nullptr, arg->getValue())) return ret; error("Invalid vfs overlay"); @@ -1563,12 +1560,13 @@ // Construct search path list. searchPaths.emplace_back(""); + // Prefer the Clang provided builtins over the ones bundled with MSVC. + addClangLibSearchPaths(argsArr[0]); for (auto *arg : args.filtered(OPT_libpath)) searchPaths.push_back(arg->getValue()); detectWinSysRoot(args); if (!args.hasArg(OPT_lldignoreenv) && !args.hasArg(OPT_winsysroot)) addLibSearchPaths(); - addClangLibSearchPaths(argsArr[0]); // Handle /ignore for (auto *arg : args.filtered(OPT_ignore)) { @@ -2083,8 +2081,11 @@ raw_svector_ostream stream(buffer); stream << "Library search paths:\n"; - for (StringRef path : searchPaths) + for (StringRef path : searchPaths) { + if (path == "") + path = "(cwd)"; stream << " " << path << "\n"; + } message(buffer); } @@ -2101,7 +2102,7 @@ // Handle /RELEASE if (args.hasArg(OPT_release)) config->writeCheckSum = true; - + // Handle /safeseh, x86 only, on by default, except for mingw. if (config->machine == I386) { config->safeSEH = args.hasFlag(OPT_safeseh, OPT_safeseh_no, !config->mingw); @@ -2342,7 +2343,8 @@ std::vector<WrappedSymbol> wrapped = addWrappedSymbols(ctx, args); // Load more object files that might be needed for wrapped symbols. if (!wrapped.empty()) - while (run()); + while (run()) + ; if (config->autoImport || config->stdcallFixup) { // MinGW specific. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-17.0.1.src/COFF/Writer.cpp new/lld-17.0.2.src/COFF/Writer.cpp --- old/lld-17.0.1.src/COFF/Writer.cpp 2023-09-19 11:05:13.000000000 +0200 +++ new/lld-17.0.2.src/COFF/Writer.cpp 2023-10-03 08:37:35.000000000 +0200 @@ -1796,7 +1796,7 @@ // Add the ehcont target table unless the user told us not to. if (config->guardCF & GuardCFLevel::EHCont) maybeAddRVATable(std::move(ehContTargets), "__guard_eh_cont_table", - "__guard_eh_cont_count", true); + "__guard_eh_cont_count"); // Set __guard_flags, which will be used in the load config to indicate that // /guard:cf was enabled. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-17.0.1.src/Common/Filesystem.cpp new/lld-17.0.2.src/Common/Filesystem.cpp --- old/lld-17.0.1.src/Common/Filesystem.cpp 2023-09-19 11:05:13.000000000 +0200 +++ new/lld-17.0.2.src/Common/Filesystem.cpp 2023-10-03 08:37:35.000000000 +0200 @@ -57,7 +57,7 @@ // // The code here allows LLD to work on all versions of Windows. // However, at Windows 10 1903 it seems that the behavior of - // Windows has changed, so that we could simply delete the output + // Windows has changed, so that we could simply delete the output // file. This code should be simplified once support for older // versions of Windows is dropped. // diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-17.0.1.src/test/COFF/guard-ehcont.s new/lld-17.0.2.src/test/COFF/guard-ehcont.s --- old/lld-17.0.1.src/test/COFF/guard-ehcont.s 2023-09-19 11:05:13.000000000 +0200 +++ new/lld-17.0.2.src/test/COFF/guard-ehcont.s 2023-10-03 08:37:35.000000000 +0200 @@ -10,7 +10,7 @@ # CHECK: GuardCFCheckFunction: 0x0 # CHECK: GuardCFCheckDispatch: 0x0 # CHECK: GuardCFFunctionTable: 0x14000{{.*}} -# CHECK: GuardCFFunctionCount: 4 +# CHECK: GuardCFFunctionCount: 1 # CHECK: GuardFlags [ (0x400500) # CHECK: CF_FUNCTION_TABLE_PRESENT (0x400) # CHECK: CF_INSTRUMENTED (0x100) @@ -19,25 +19,13 @@ # CHECK: GuardAddressTakenIatEntryTable: 0x0 # CHECK: GuardAddressTakenIatEntryCount: 0 # CHECK: GuardEHContinuationTable: 0x14000{{.*}} -# CHECK: GuardEHContinuationCount: 1 +# CHECK: GuardEHContinuationCount: 2 # CHECK: ] # CHECK: GuardEHContTable [ # CHECK-NEXT: 0x14000{{.*}} +# CHECK-NEXT: 0x14000{{.*}} # CHECK-NEXT: ] - -# This assembly is reduced from C code like: -# int main() -# { -# try { -# throw 3; -# } -# catch (int e) { -# return e != 3; -# } -# return 2; -# } - # We need @feat.00 to have 0x4000 to indicate /guard:ehcont. .def @feat.00; .scl 3; @@ -48,168 +36,50 @@ .def main; .scl 2; .type 32; .endef .globl main # -- Begin function main .p2align 4, 0x90 -main: # @main -.Lfunc_begin0: +main: .seh_proc main -.intel_syntax - .seh_handler __CxxFrameHandler3, @unwind, @except -# %bb.0: # %entry - push rbp - .seh_pushreg rbp - sub rsp, 64 - .seh_stackalloc 64 - lea rbp, [rsp + 64] - .seh_setframe rbp, 64 - .seh_endprologue - mov qword ptr [rbp - 16], -2 - mov dword ptr [rbp - 20], 0 - mov dword ptr [rbp - 24], 3 -.Ltmp0: - lea rdx, [rip + _TI1H] - lea rcx, [rbp - 24] - call _CxxThrowException -.Ltmp1: - jmp .LBB0_3 -.LBB0_2: # Block address taken - # %catchret.dest -$ehgcr_0_2: - mov eax, dword ptr [rbp - 20] - add rsp, 64 - pop rbp - ret -.LBB0_3: # %unreachable - int3 + .seh_handler __C_specific_handler, @unwind, @except .seh_handlerdata - .long ($cppxdata$main)@IMGREL + .long 2 + .long (seh_begin)@IMGREL + .long (seh_end)@IMGREL + .long 1 + .long (seh_except)@IMGREL + .long (seh2_begin)@IMGREL + .long (seh2_end)@IMGREL + .long 1 + .long (seh2_except)@IMGREL .text - .seh_endproc - .def "?catch$1@?0?main@4HA"; - .scl 3; - .type 32; - .endef - .p2align 4, 0x90 -"?catch$1@?0?main@4HA": -.seh_proc "?catch$1@?0?main@4HA" - .seh_handler __CxxFrameHandler3, @unwind, @except -.LBB0_1: # %catch - mov qword ptr [rsp + 16], rdx - push rbp - .seh_pushreg rbp - sub rsp, 32 - .seh_stackalloc 32 - lea rbp, [rdx + 64] - .seh_endprologue - mov eax, dword ptr [rbp - 4] - sub eax, 3 - setne al - movzx eax, al - mov dword ptr [rbp - 20], eax - lea rax, [rip + .LBB0_2] - add rsp, 32 - pop rbp - ret # CATCHRET - .def free; .scl 2; .type 32; .endef - .globl free -free: - ret - .def __CxxFrameHandler3; .scl 2; .type 32; .endef - .globl __CxxFrameHandler3 -__CxxFrameHandler3: + seh_begin: + nop + int3 + nop + seh_end: + nop + seh_except: + nop + + seh2_begin: + nop + int3 + nop + seh2_end: + nop + seh2_except: + nop + + xor %eax, %eax ret - .def _CxxThrowException; .scl 2; .type 32; .endef - .globl _CxxThrowException -_CxxThrowException: +.seh_endproc + +__C_specific_handler: ret -.Lfunc_end0: - .seh_handlerdata - .long ($cppxdata$main)@IMGREL - .text - .seh_endproc - .section .xdata,"dr" - .p2align 2 -$cppxdata$main: - .long 429065506 # MagicNumber - .long 2 # MaxState - .long ($stateUnwindMap$main)@IMGREL # UnwindMap - .long 1 # NumTryBlocks - .long ($tryMap$main)@IMGREL # TryBlockMap - .long 4 # IPMapEntries - .long ($ip2state$main)@IMGREL # IPToStateXData - .long 48 # UnwindHelp - .long 0 # ESTypeList - .long 1 # EHFlags -$stateUnwindMap$main: - .long -1 # ToState - .long 0 # Action - .long -1 # ToState - .long 0 # Action -$tryMap$main: - .long 0 # TryLow - .long 0 # TryHigh - .long 1 # CatchHigh - .long 1 # NumCatches - .long ($handlerMap$0$main)@IMGREL # HandlerArray -$handlerMap$0$main: - .long 0 # Adjectives - .long "??_R0H@8"@IMGREL # Type - .long 60 # CatchObjOffset - .long "?catch$1@?0?main@4HA"@IMGREL # Handler - .long 56 # ParentFrameOffset -$ip2state$main: - .long .Lfunc_begin0@IMGREL # IP - .long -1 # ToState - .long .Ltmp0@IMGREL+1 # IP - .long 0 # ToState - .long .Ltmp1@IMGREL+1 # IP - .long -1 # ToState - .long "?catch$1@?0?main@4HA"@IMGREL # IP - .long 1 # ToState - .text - # -- End function - .section .data,"dw",discard,"??_R0H@8" - .globl "??_R0H@8" # @"??_R0H@8" - .p2align 4 -"??_R0H@8": - .quad 0 - .quad 0 - .asciz ".H" - .zero 5 - - .section .xdata,"dr",discard,"_CT??_R0H@84" - .globl "_CT??_R0H@84" # @"_CT??_R0H@84" - .p2align 4 -"_CT??_R0H@84": - .long 1 # 0x1 - .long "??_R0H@8"@IMGREL - .long 0 # 0x0 - .long 4294967295 # 0xffffffff - .long 0 # 0x0 - .long 4 # 0x4 - .long 0 # 0x0 - - .section .xdata,"dr",discard,_CTA1H - .globl _CTA1H # @_CTA1H - .p2align 3 -_CTA1H: - .long 1 # 0x1 - .long "_CT??_R0H@84"@IMGREL - - .section .xdata,"dr",discard,_TI1H - .globl _TI1H # @_TI1H - .p2align 3 -_TI1H: - .long 0 # 0x0 - .long 0 # 0x0 - .long 0 # 0x0 - .long _CTA1H@IMGREL - - .section .gehcont$y,"dr" - .symidx $ehgcr_0_2 - .addrsig_sym _CxxThrowException - .addrsig_sym __CxxFrameHandler3 - .addrsig_sym "??_R0H@8" - .addrsig_sym __ImageBase - .section .rdata,"dr" + +.section .gehcont$y,"dr" +.symidx seh_except +.symidx seh2_except + +.section .rdata,"dr" .globl _load_config_used _load_config_used: .long 312 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-17.0.1.src/test/COFF/print-search-paths.s new/lld-17.0.2.src/test/COFF/print-search-paths.s --- old/lld-17.0.1.src/test/COFF/print-search-paths.s 2023-09-19 11:05:13.000000000 +0200 +++ new/lld-17.0.2.src/test/COFF/print-search-paths.s 2023-10-03 08:37:35.000000000 +0200 @@ -4,21 +4,25 @@ # RUN: llvm-mc -triple i686-windows-msvc %s -filetype=obj -o %t_32.obj # RUN: lld-link -safeseh:no /dll /noentry /winsysroot:%t.dir/sysroot /vctoolsversion:1.1.1.1 /winsdkversion:10.0.1 %t_32.obj -print-search-paths | FileCheck -DSYSROOT=%t.dir -check-prefix=X86 %s # CHECK: Library search paths: -# CHECK: [[CPATH:.*]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib{{[/\\]}}windows -# CHECK: [[CPATH]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib -# CHECK: [[CPATH]]lib -# CHECK: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}lib{{[/\\]}}x64 -# CHECK: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}atlmfc{{[/\\]}}lib{{[/\\]}}x64 -# CHECK: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}ucrt{{[/\\]}}x64 -# CHECK: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}um{{[/\\]}}x64 +# CHECK-NEXT: (cwd) +# CHECK-NEXT: [[CPATH:.*]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib{{[/\\]}}windows +# CHECK-NEXT: [[CPATH]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib +# CHECK-NEXT: [[CPATH]]lib +# CHECK-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}DIA SDK{{[/\\]}}lib{{[/\\]}}amd64 +# CHECK-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}lib{{[/\\]}}x64 +# CHECK-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}atlmfc{{[/\\]}}lib{{[/\\]}}x64 +# CHECK-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}ucrt{{[/\\]}}x64 +# CHECK-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}um{{[/\\]}}x64 # X86: Library search paths: -# X86: [[CPATH:.*]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib{{[/\\]}}windows -# X86: [[CPATH]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib -# X86: [[CPATH]]lib -# X86: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}lib{{[/\\]}}x86 -# X86: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}atlmfc{{[/\\]}}lib{{[/\\]}}x86 -# X86: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}ucrt{{[/\\]}}x86 -# X86: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}um{{[/\\]}}x86 +# X86-NEXT: (cwd) +# X86-NEXT: [[CPATH:.*]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib{{[/\\]}}windows +# X86-NEXT: [[CPATH]]lib{{[/\\]}}clang{{[/\\]}}{{[0-9]+}}{{[/\\]}}lib +# X86-NEXT: [[CPATH]]lib +# X86-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}DIA SDK{{[/\\]}}lib +# X86-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}lib{{[/\\]}}x86 +# X86-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}VC{{[/\\]}}Tools{{[/\\]}}MSVC{{[/\\]}}1.1.1.1{{[/\\]}}atlmfc{{[/\\]}}lib{{[/\\]}}x86 +# X86-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}ucrt{{[/\\]}}x86 +# X86-NEXT: [[SYSROOT]]{{[/\\]}}sysroot{{[/\\]}}Windows Kits{{[/\\]}}10{{[/\\]}}Lib{{[/\\]}}10.0.1{{[/\\]}}um{{[/\\]}}x86 .text ++++++ lldb-17.0.1.src.tar.xz -> lldb-17.0.2.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm17/lldb-17.0.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.28202/lldb-17.0.2.src.tar.xz differ: char 15, line 1 ++++++ llvm-17.0.1.src.tar.xz -> llvm-17.0.2.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm17/llvm-17.0.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.28202/llvm-17.0.2.src.tar.xz differ: char 15, line 1 ++++++ llvm-do-not-install-static-libraries.patch ++++++ --- /var/tmp/diff_new_pack.0I8sC4/_old 2023-10-08 12:20:22.534595189 +0200 +++ /var/tmp/diff_new_pack.0I8sC4/_new 2023-10-08 12:20:22.538595333 +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-17.0.1.src/cmake/modules/AddClang.cmake +Index: clang-17.0.2.src/cmake/modules/AddClang.cmake =================================================================== ---- a/clang-17.0.1.src/cmake/modules/AddClang.cmake -+++ b/clang-17.0.1.src/cmake/modules/AddClang.cmake +--- a/clang-17.0.2.src/cmake/modules/AddClang.cmake ++++ b/clang-17.0.2.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-17.0.1.src/cmake/modules/AddLLD.cmake +Index: lld-17.0.2.src/cmake/modules/AddLLD.cmake =================================================================== ---- a/lld-17.0.1.src/cmake/modules/AddLLD.cmake -+++ b/lld-17.0.1.src/cmake/modules/AddLLD.cmake +--- a/lld-17.0.2.src/cmake/modules/AddLLD.cmake ++++ b/lld-17.0.2.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-17.0.1.src/cmake/polly_macros.cmake +Index: polly-17.0.2.src/cmake/polly_macros.cmake =================================================================== ---- a/polly-17.0.1.src/cmake/polly_macros.cmake -+++ b/polly-17.0.1.src/cmake/polly_macros.cmake +--- a/polly-17.0.2.src/cmake/polly_macros.cmake ++++ b/polly-17.0.2.src/cmake/polly_macros.cmake @@ -42,12 +42,14 @@ macro(add_polly_library name) llvm_config(${name} ${LLVM_LINK_COMPONENTS}) endif( LLVM_LINK_COMPONENTS ) @@ -110,10 +110,10 @@ endmacro(add_polly_library) macro(add_polly_loadable_module name) -Index: polly-17.0.1.src/lib/CMakeLists.txt +Index: polly-17.0.2.src/lib/CMakeLists.txt =================================================================== ---- a/polly-17.0.1.src/lib/CMakeLists.txt -+++ b/polly-17.0.1.src/lib/CMakeLists.txt +--- a/polly-17.0.2.src/lib/CMakeLists.txt ++++ b/polly-17.0.2.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-17.0.1.src.tar.xz -> llvm-docs-17.0.2.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm17/llvm-docs-17.0.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.28202/llvm-docs-17.0.2.src.tar.xz differ: char 27, line 1 ++++++ openmp-17.0.1.src.tar.xz -> openmp-17.0.2.src.tar.xz ++++++ ++++++ polly-17.0.1.src.tar.xz -> polly-17.0.2.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm17/polly-17.0.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.28202/polly-17.0.2.src.tar.xz differ: char 15, line 1 ++++++ runtimes-17.0.1.src.tar.xz -> runtimes-17.0.2.src.tar.xz ++++++ ++++++ third-party-17.0.1.src.tar.xz -> third-party-17.0.2.src.tar.xz ++++++