From 24d7b6fa0410da2066ebe5161f9b65a9ad167009 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 4 Oct 2023 11:27:45 +0200 Subject: [PATCH] Update to LLVM 17.0.2 Resolves: RHEL-9028 --- .gitignore | 6 +- ...-funwind-tables-the-default-on-all-a.patch | 17 +- ...H-clang-Reorganize-gtest-integration.patch | 42 --- 0001-PowerPC-clang-Fix-triple.patch | 26 -- ...ch => 0001-Produce-DWARF4-by-default.patch | 54 ++-- 0001-Work-around-gcc-miscompile.patch | 33 --- 0001-Workaround-a-bug-in-ORC-on-ppc64le.patch | 30 ++ ...a-Make-test-dependency-on-LLVMHello-.patch | 18 +- ...ed-libraries-to-customize-the-soname.patch | 39 --- ...-funwind-tables-the-default-on-all-a.patch | 29 -- 0009-disable-recommonmark.patch | 26 ++ clang.spec | 258 +++++++++--------- clangd-tests.patch | 128 --------- disable-recommonmark.patch | 26 -- llvm-hello.patch | 61 ----- m-branch-protection.patch | 44 --- macros.clang | 7 +- release-keys.asc | 104 +++++++ remove-test.patch | 20 -- sources | 11 +- tstellar-gpg-key.asc | Bin 2222 -> 0 bytes 21 files changed, 346 insertions(+), 633 deletions(-) rename 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch => 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch (61%) delete mode 100644 0001-PATCH-clang-Reorganize-gtest-integration.patch delete mode 100644 0001-PowerPC-clang-Fix-triple.patch rename 0010-PATCH-clang-Produce-DWARF4-by-default.patch => 0001-Produce-DWARF4-by-default.patch (78%) delete mode 100644 0001-Work-around-gcc-miscompile.patch create mode 100644 0001-Workaround-a-bug-in-ORC-on-ppc64le.patch delete mode 100644 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch delete mode 100644 0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch create mode 100644 0009-disable-recommonmark.patch delete mode 100644 clangd-tests.patch delete mode 100644 disable-recommonmark.patch delete mode 100644 llvm-hello.patch delete mode 100644 m-branch-protection.patch create mode 100644 release-keys.asc delete mode 100644 remove-test.patch delete mode 100644 tstellar-gpg-key.asc diff --git a/.gitignore b/.gitignore index 37cce27..5af9211 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,7 @@ SOURCES/clang-15.0.7.src.tar.xz SOURCES/clang-tools-extra-15.0.7.src.tar.xz -SOURCES/release-keys.asc /clang-15.0.7.src.tar.xz /clang-tools-extra-15.0.7.src.tar.xz -/release-keys.asc /clang-16.0.0.src.tar.xz /clang-tools-extra-16.0.0.src.tar.xz /cmake-16.0.0.src.tar.xz @@ -16,3 +14,7 @@ SOURCES/release-keys.asc /clang-16.0.6.src.tar.xz.sig /cmake-16.0.6.src.tar.xz /cmake-16.0.6.src.tar.xz.sig +/clang-17.0.2.src.tar.xz +/clang-17.0.2.src.tar.xz.sig +/clang-tools-extra-17.0.2.src.tar.xz +/clang-tools-extra-17.0.2.src.tar.xz.sig diff --git a/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch b/0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch similarity index 61% rename from 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch rename to 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch index ce920f9..113f2a7 100644 --- a/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch +++ b/0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch @@ -1,21 +1,20 @@ -From d95d3fbff661c0390072ed0bb4544d5e2aae5c9a Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Thu, 25 Feb 2021 14:09:29 +0100 +From 49f827b09db549de62dcaf8b90b3fcb3e08c0ee5 Mon Sep 17 00:00:00 2001 +From: Serge Guelton +Date: Mon, 6 Mar 2023 12:37:48 +0100 Subject: [PATCH] Make -funwind-tables the default on all archs --- - clang/lib/Driver/ToolChains/Gnu.cpp | 5 +++++ - 1 file changed, 5 insertions(+) + clang/lib/Driver/ToolChains/Gnu.cpp | 4 ++++ + 1 file changed, 4 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index c8006f3d8412..6ed03adb7702 100644 +index 24fbdcffc07b..8fed46b49515 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2863,6 +2863,11 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const { - case llvm::Triple::ppc64le: +@@ -2904,6 +2904,10 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const { + case llvm::Triple::riscv64: case llvm::Triple::x86: case llvm::Triple::x86_64: -+ + // Enable -funwind-tables on all architectures supported by Fedora: + // rhbz#1655546 + case llvm::Triple::systemz: diff --git a/0001-PATCH-clang-Reorganize-gtest-integration.patch b/0001-PATCH-clang-Reorganize-gtest-integration.patch deleted file mode 100644 index e854f01..0000000 --- a/0001-PATCH-clang-Reorganize-gtest-integration.patch +++ /dev/null @@ -1,42 +0,0 @@ -From c6b921c8d833546946b70a8c2640032fd7c62461 Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Thu, 25 Feb 2021 14:04:52 +0100 -Subject: [PATCH 1/6] [PATCH][clang] Reorganize gtest integration - ---- - clang/CMakeLists.txt | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt -index 9e74014..0185276 100644 ---- a/clang/CMakeLists.txt -+++ b/clang/CMakeLists.txt -@@ -153,12 +153,6 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) - set(LLVM_UTILS_PROVIDED ON) - set(CLANG_TEST_DEPS FileCheck count not) - endif() -- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest) -- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h -- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX} -- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt) -- add_subdirectory(${UNITTEST_DIR} utils/unittest) -- endif() - else() - # Seek installed Lit. - find_program(LLVM_LIT -@@ -537,7 +531,11 @@ endif() - - - if( CLANG_INCLUDE_TESTS ) -- if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h) -+ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest) -+ if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h -+ AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX} -+ AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt) -+ add_subdirectory(${UNITTEST_DIR} utils/unittest) - add_subdirectory(unittests) - list(APPEND CLANG_TEST_DEPS ClangUnitTests) - list(APPEND CLANG_TEST_PARAMS --- -1.8.3.1 - diff --git a/0001-PowerPC-clang-Fix-triple.patch b/0001-PowerPC-clang-Fix-triple.patch deleted file mode 100644 index 6dd8060..0000000 --- a/0001-PowerPC-clang-Fix-triple.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 701750a896a08d5841a7bc0d187bcddaa6c0f616 Mon Sep 17 00:00:00 2001 -From: Tulio Magno Quites Machado Filho -Date: Thu, 16 Mar 2023 17:22:24 -0300 -Subject: [PATCH] [PowerPC][clang] Fix triple - -Some Linux distributions use ppc64le instead of powerpc. ---- - clang/test/CodeGenCoroutines/pr56329.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/clang/test/CodeGenCoroutines/pr56329.cpp b/clang/test/CodeGenCoroutines/pr56329.cpp -index 31d4849af4e7..69e0f1d337cf 100644 ---- a/clang/test/CodeGenCoroutines/pr56329.cpp -+++ b/clang/test/CodeGenCoroutines/pr56329.cpp -@@ -2,7 +2,7 @@ - // - // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %s -O3 -S -emit-llvm -o - | FileCheck %s - // This test is expected to fail on PowerPC. --// XFAIL: target=powerpc{{.*}} -+// XFAIL: target={{(ppc|powerpc).*}} - - #include "Inputs/coroutine.h" - --- -2.39.2 -- diff --git a/0010-PATCH-clang-Produce-DWARF4-by-default.patch b/0001-Produce-DWARF4-by-default.patch similarity index 78% rename from 0010-PATCH-clang-Produce-DWARF4-by-default.patch rename to 0001-Produce-DWARF4-by-default.patch index ea81f74..9b5b46b 100644 --- a/0010-PATCH-clang-Produce-DWARF4-by-default.patch +++ b/0001-Produce-DWARF4-by-default.patch @@ -1,36 +1,38 @@ -From 4ea62faaaac1aad0fe496cabe9674c809c91c49a Mon Sep 17 00:00:00 2001 +From adbe188f3b1e3a0dd5ec80d9409601ba7f5b0423 Mon Sep 17 00:00:00 2001 From: Konrad Kleine -Date: Mon, 13 Feb 2023 17:11:00 -0300 +Date: Thu, 24 Mar 2022 09:44:21 +0100 Subject: [PATCH] Produce DWARF4 by default Have a look at the following commit to see when the move from DWARF 4 to 5 first happened upstream: https://github.com/llvm/llvm-project/commit/d3b26dea16108c427b19b5480c9edc76edf8f5b4?diff=unified --- - clang/include/clang/Driver/ToolChain.h | 2 +- - clang/test/CodeGen/dwarf-version.c | 4 ++-- - clang/test/Driver/as-options.s | 4 ++-- - clang/test/Driver/cl-options.c | 2 +- - clang/test/Driver/clang-g-opts.c | 2 +- - clang/test/Driver/ve-toolchain.c | 2 +- - clang/test/Driver/ve-toolchain.cpp | 2 +- - 7 files changed, 9 insertions(+), 9 deletions(-) + clang/lib/Driver/ToolChain.cpp | 4 +--- + clang/test/CodeGen/dwarf-version.c | 4 ++-- + clang/test/Driver/as-options.s | 4 ++-- + clang/test/Driver/cl-options.c | 2 +- + clang/test/Driver/clang-g-opts.c | 2 +- + clang/test/Driver/ve-toolchain.c | 2 +- + clang/test/Driver/ve-toolchain.cpp | 2 +- + 7 files changed, 9 insertions(+), 11 deletions(-) -diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h -index f75f35dc9e65..a70ae2b17833 100644 ---- a/clang/include/clang/Driver/ToolChain.h -+++ b/clang/include/clang/Driver/ToolChain.h -@@ -547,7 +547,7 @@ public: +diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp +index 8dafc3d481c2..92bf26dc8ec6 100644 +--- a/clang/lib/Driver/ToolChain.cpp ++++ b/clang/lib/Driver/ToolChain.cpp +@@ -428,9 +428,7 @@ ToolChain::getDefaultUnwindTableLevel(const ArgList &Args) const { + } - // Return the DWARF version to emit, in the absence of arguments - // to the contrary. -- virtual unsigned GetDefaultDwarfVersion() const { return 5; } -+ virtual unsigned GetDefaultDwarfVersion() const { return 4; } + unsigned ToolChain::GetDefaultDwarfVersion() const { +- // TODO: Remove the RISC-V special case when R_RISCV_SET_ULEB128 linker +- // support becomes more widely available. +- return getTriple().isRISCV() ? 4 : 5; ++ return 4; + } - // Some toolchains may have different restrictions on the DWARF version and - // may need to adjust it. E.g. NVPTX may need to enforce DWARF2 even when host + Tool *ToolChain::getClang() const { diff --git a/clang/test/CodeGen/dwarf-version.c b/clang/test/CodeGen/dwarf-version.c -index 0a6fa4768026..96f01749d0d8 100644 +index d307eb3f101f..e7e93bf6688c 100644 --- a/clang/test/CodeGen/dwarf-version.c +++ b/clang/test/CodeGen/dwarf-version.c @@ -2,8 +2,8 @@ @@ -67,10 +69,10 @@ index 73d002c7ef7e..71d55f7fd537 100644 // RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf-5 %s -### 2>&1 | \ // RUN: FileCheck --check-prefix=GDWARF5 %s diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c -index 1d588bdfc1b0..1ad57aedc3a4 100644 +index 6d929b19e7e2..373905c2e0fc 100644 --- a/clang/test/Driver/cl-options.c +++ b/clang/test/Driver/cl-options.c -@@ -575,7 +575,7 @@ +@@ -569,7 +569,7 @@ // RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s // Z7_gdwarf: "-gcodeview" // Z7_gdwarf: "-debug-info-kind=constructor" @@ -80,7 +82,7 @@ index 1d588bdfc1b0..1ad57aedc3a4 100644 // RUN: %clang_cl /ZH:MD5 /c -### -- %s 2>&1 | FileCheck -check-prefix=ZH_MD5 %s // ZH_MD5: "-gsrc-hash=md5" diff --git a/clang/test/Driver/clang-g-opts.c b/clang/test/Driver/clang-g-opts.c -index d982b1070cae..bb129e75769c 100644 +index 5ee0fe64fe48..985158746137 100644 --- a/clang/test/Driver/clang-g-opts.c +++ b/clang/test/Driver/clang-g-opts.c @@ -32,7 +32,7 @@ @@ -119,5 +121,5 @@ index 5a33d5eceb61..cedf895b36dc 100644 ///----------------------------------------------------------------------------- /// Checking include-path -- -2.39.1 +2.41.0 diff --git a/0001-Work-around-gcc-miscompile.patch b/0001-Work-around-gcc-miscompile.patch deleted file mode 100644 index 16c1467..0000000 --- a/0001-Work-around-gcc-miscompile.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0f97b7209eed4a428171af6044fe7e0aaf81ee2a Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Thu, 3 Feb 2022 10:34:44 +0100 -Subject: [PATCH] Work around gcc miscompile - -This works around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104334, -which miscompiles clang on s390x and ppc64le. The issue is already -fixed on the gcc side, but including this as a temporary workaround -to get a working build. ---- - clang/lib/Sema/DeclSpec.cpp | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/clang/lib/Sema/DeclSpec.cpp b/clang/lib/Sema/DeclSpec.cpp -index d4dc790c008a..77a1e6c32c6f 100644 ---- a/clang/lib/Sema/DeclSpec.cpp -+++ b/clang/lib/Sema/DeclSpec.cpp -@@ -1203,8 +1203,9 @@ void DeclSpec::Finish(Sema &S, const PrintingPolicy &Policy) { - } else if (TypeSpecType == TST_double) { - // vector long double and vector long long double are never allowed. - // vector double is OK for Power7 and later, and ZVector. -- if (getTypeSpecWidth() == TypeSpecifierWidth::Long || -- getTypeSpecWidth() == TypeSpecifierWidth::LongLong) -+ TypeSpecifierWidth TypeSpecWidth = getTypeSpecWidth(); -+ if (TypeSpecWidth == TypeSpecifierWidth::Long || -+ TypeSpecWidth == TypeSpecifierWidth::LongLong) - S.Diag(TSWRange.getBegin(), - diag::err_invalid_vector_long_double_decl_spec); - else if (!S.Context.getTargetInfo().hasFeature("vsx") && --- -2.34.1 - - diff --git a/0001-Workaround-a-bug-in-ORC-on-ppc64le.patch b/0001-Workaround-a-bug-in-ORC-on-ppc64le.patch new file mode 100644 index 0000000..af236a1 --- /dev/null +++ b/0001-Workaround-a-bug-in-ORC-on-ppc64le.patch @@ -0,0 +1,30 @@ +From a2449cee8c995b56f1892502aab3dfad3d6f3ca1 Mon Sep 17 00:00:00 2001 +From: Tulio Magno Quites Machado Filho +Date: Fri, 8 Sep 2023 11:45:34 -0300 +Subject: [PATCH] Workaround a bug in ORC on ppc64le + +The Jit code appears to be returning the wrong printf symbol on ppc64le +after the transition of the default long double to IEEE 128-bit floating +point. +--- + clang/unittests/Interpreter/InterpreterTest.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/clang/unittests/Interpreter/InterpreterTest.cpp b/clang/unittests/Interpreter/InterpreterTest.cpp +index abb8e6377aab..7b6697ebc6ed 100644 +--- a/clang/unittests/Interpreter/InterpreterTest.cpp ++++ b/clang/unittests/Interpreter/InterpreterTest.cpp +@@ -243,7 +243,9 @@ TEST(IncrementalProcessing, FindMangledNameSymbol) { + EXPECT_FALSE(!Addr); + + // FIXME: Re-enable when we investigate the way we handle dllimports on Win. +-#ifndef _WIN32 ++ // FIXME: The printf symbol returned from the Jit may not be correct on ++ // ppc64le when the default long double is IEEE 128-bit fp. ++#if !defined _WIN32 && !(defined __PPC64__ && defined __LITTLE_ENDIAN__) + EXPECT_EQ((uintptr_t)&printf, Addr->getValue()); + #endif // _WIN32 + } +-- +2.41.0 + diff --git a/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch index a0b8cb0..b69c7e7 100644 --- a/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch +++ b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch @@ -1,6 +1,6 @@ -From 581300e447602b9b7a505b0f07e8461d58d041ca Mon Sep 17 00:00:00 2001 +From 22d62b32cd3be5fb0ae10723b35a781e0f862b71 Mon Sep 17 00:00:00 2001 From: Tom Stellard -Date: Fri, 1 Jul 2022 21:24:17 -0700 +Date: Tue, 24 Jan 2023 22:46:25 +0000 Subject: [PATCH] clang-tools-extra: Make test dependency on LLVMHello optional This fixes clang + clang-tools-extra standalone build after @@ -55,19 +55,19 @@ index c66a94f458cf..b4e7a5d691e5 100644 // CHECK-LIST: Enabled checks: // CHECK-LIST-NEXT: mytest1 diff --git a/clang-tools-extra/test/lit.cfg.py b/clang-tools-extra/test/lit.cfg.py -index 9b99bfd93440..3fca9f25fb48 100644 +index 9f64fd3d2ffa..1b258a00ddf9 100644 --- a/clang-tools-extra/test/lit.cfg.py +++ b/clang-tools-extra/test/lit.cfg.py -@@ -59,6 +59,9 @@ config.substitutions.append( - # Plugins (loadable modules) +@@ -75,6 +75,9 @@ config.substitutions.append(("%clang_tidy_headers", clang_tidy_headers)) if config.has_plugins and config.llvm_plugin_ext: - config.available_features.add('plugins') -+ + config.available_features.add("plugins") + +if config.has_llvm_hello: + config.available_features.add("llvm-hello") - ++ # It is not realistically possible to account for all options that could # possibly be present in system and user configuration files, so disable + # default configs for the test runs. diff --git a/clang-tools-extra/test/lit.site.cfg.py.in b/clang-tools-extra/test/lit.site.cfg.py.in index 4eb830a1baf1..6e5559348454 100644 --- a/clang-tools-extra/test/lit.site.cfg.py.in @@ -81,5 +81,5 @@ index 4eb830a1baf1..6e5559348454 100644 # used when we can't determine the tool dir at configuration time. config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@") -- -2.27.0 +2.40.1 diff --git a/0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch b/0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch deleted file mode 100644 index e425475..0000000 --- a/0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 3dc5722d5c7673a879f2b4680369d3ac8b6b64b6 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Wed, 4 Aug 2021 14:05:38 -0700 -Subject: [PATCH] cmake: Allow shared libraries to customize the soname using - LLVM_ABI_REVISION - -The LLVM_ABI_REVISION variable is intended to be used for release -candidates which introduce an ABI change to a shared library. This -variable can be specified per library, so there is not one global value -for all of LLVM. - -For example, if we LLVM X.0.0-rc2 introduces an ABI change for a library -compared with LLVM X.0.0-rc1, then the LLVM_ABI_REVISION number for -library will be incremented by 1. - -In the main branch, LLVM_ABI_REVISION should always be 0, it is only -meant to be used in the release branch. - -Differential Revision: https://reviews.llvm.org/D105594 ---- - clang/tools/clang-shlib/CMakeLists.txt | 5 +++++ - 3 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/clang/tools/clang-shlib/CMakeLists.txt b/clang/tools/clang-shlib/CMakeLists.txt -index 9c1f8ea452b3..4d785924e4bb 100644 ---- a/clang/tools/clang-shlib/CMakeLists.txt -+++ b/clang/tools/clang-shlib/CMakeLists.txt -@@ -1,3 +1,8 @@ -+# In the main branch, LLVM_ABI_REVISION should always be 0. In the release -+# branches, this should be incremented before each release candidate every -+# time the ABI of libclang-cpp.so changes. -+set(LLVM_ABI_REVISION 0) -+ - # Building libclang-cpp.so fails if LLVM_ENABLE_PIC=Off - if (NOT LLVM_ENABLE_PIC) - return() --- -2.27.0 - diff --git a/0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch b/0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch deleted file mode 100644 index e6671f9..0000000 --- a/0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c87abee7356b8fde81512ffceadd520776c465d2 Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Thu, 25 Feb 2021 14:09:29 +0100 -Subject: [PATCH] [PATCH][clang] Make -funwind-tables the default on all archs - ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp -b/clang/lib/Driver/ToolChains/Gnu.cpp -index d0808d061c82..de9c9743cd38 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2701,6 +2701,11 @@ bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const { - case llvm::Triple::ppc64le: - case llvm::Triple::x86: - case llvm::Triple::x86_64: -+ -+ // Enable -funwind-tables on all architectures supported by Fedora: -+ // rhbz#1655546 -+ case llvm::Triple::systemz: -+ case llvm::Triple::arm: - return true; - default: - return false; --- -2.27.0 - diff --git a/0009-disable-recommonmark.patch b/0009-disable-recommonmark.patch new file mode 100644 index 0000000..f6db5da --- /dev/null +++ b/0009-disable-recommonmark.patch @@ -0,0 +1,26 @@ +diff -Naur a/clang/docs/conf.py b/clang/docs/conf.py +--- a/clang/docs/conf.py 2020-09-15 09:12:24.318287611 +0000 ++++ b/clang/docs/conf.py 2020-09-15 15:01:00.025893199 +0000 +@@ -37,21 +37,7 @@ + ".rst": "restructuredtext", + } + +-try: +- import recommonmark +-except ImportError: +- # manpages do not use any .md sources +- if not tags.has("builder-man"): +- raise +-else: +- import sphinx +- +- if sphinx.version_info >= (3, 0): +- # This requires 0.5 or later. +- extensions.append("recommonmark") +- else: +- source_parsers = {".md": "recommonmark.parser.CommonMarkParser"} +- source_suffix[".md"] = "markdown" ++import sphinx + + # The encoding of source files. + # source_encoding = 'utf-8-sig' diff --git a/clang.spec b/clang.spec index f073e86..ad88322 100644 --- a/clang.spec +++ b/clang.spec @@ -1,10 +1,28 @@ +%bcond_with snapshot_build + +%if %{with snapshot_build} +%{llvm_sb} +%endif + +# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer +# https://bugzilla.redhat.com/show_bug.cgi?id=2158587 +%undefine _include_frame_pointers + %bcond_with compat_build %bcond_without check -%global maj_ver 16 +%global maj_ver 17 %global min_ver 0 -%global patch_ver 6 +%global patch_ver 2 #global rc_ver 4 + +%if %{with snapshot_build} +%undefine rc_ver +%global maj_ver %{llvm_snapshot_version_major} +%global min_ver %{llvm_snapshot_version_minor} +%global patch_ver %{llvm_snapshot_version_patch} +%endif + %global clang_version %{maj_ver}.%{min_ver}.%{patch_ver} %if %{with compat_build} @@ -15,94 +33,88 @@ %global install_bindir %{install_prefix}/bin %global install_includedir %{install_prefix}/include %global install_libdir %{install_prefix}/lib +%global install_datadir %{install_prefix}/share -%global pkg_bindir %{install_bindir} %global pkg_includedir %{install_includedir} -%global pkg_libdir %{install_libdir} %else %global pkg_name clang %global install_prefix /usr -%global pkg_libdir %{_libdir} +%global install_datadir %{_datadir} +%global install_libdir %{_libdir} %endif -%global build_install_prefix %{buildroot}%{install_prefix} - %ifarch ppc64le aarch64 # Too many threads on some systems causes OOM errors. %global _smp_mflags -j8 %endif %global clang_srcdir clang-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src -%global cmake_srcdir cmake-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src %global clang_tools_srcdir clang-tools-extra-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src -%if !%{maj_ver} && 0%{?rc_ver} -%global abi_revision 2 -%endif - Name: %pkg_name -Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}} -Release: 2%{?dist} +Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}} +Release: 1%{?dist} Summary: A C language family front-end for LLVM License: NCSA URL: http://llvm.org +%if %{with snapshot_build} +Source0: %{llvm_snapshot_source_prefix}clang-%{llvm_snapshot_yyyymmdd}.src.tar.xz +Source1: %{llvm_snapshot_source_prefix}clang-tools-extra-%{llvm_snapshot_yyyymmdd}.src.tar.xz +%{llvm_snapshot_extra_source_tags} + +%else Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz.sig %if %{without compat_build} Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_tools_srcdir}.tar.xz Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_tools_srcdir}.tar.xz.sig %endif -Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz -Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig -Source6: release-keys.asc +Source4: release-keys.asc +%endif %if %{without compat_build} -Source7: macros.%{name} +Source5: macros.%{name} %endif # Patches for clang -Patch1: 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch +Patch1: 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch Patch2: 0003-PATCH-clang-Don-t-install-static-libraries.patch Patch3: 0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch # Drop the following patch after debugedit adds support to DWARF-5: # https://sourceware.org/bugzilla/show_bug.cgi?id=28728 -Patch5: 0010-PATCH-clang-Produce-DWARF4-by-default.patch -# Fix a test based on the triple used on RHEL-based systems. -Patch6: 0001-PowerPC-clang-Fix-triple.patch -# Make clangBasic and clangDriver depend on LLVMTargetParser -# See https://reviews.llvm.org/D141581 -Patch7: D141581.diff -# clang/cmake: Use installed gtest libraries for stand-alone builds -# See https://reviews.llvm.org/D138472 -Patch8: D138472.diff +Patch4: 0001-Produce-DWARF4-by-default.patch +# Workaround a bug in ORC on ppc64le. +# More info is available here: https://reviews.llvm.org/D159115#4641826 +Patch5: 0001-Workaround-a-bug-in-ORC-on-ppc64le.patch -Patch10: fix-ieee128-cross.diff +# RHEL specific patches +# Avoid unwanted dependency on python-recommonmark +Patch101: 0009-disable-recommonmark.patch - - -Patch100: disable-recommonmark.patch - - -# Patches for clang-tools-extra %if %{without compat_build} -Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch +# Patches for clang-tools-extra +# See https://reviews.llvm.org/D120301 +Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch %endif BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: ninja-build + %if %{with compat_build} -BuildRequires: llvm%{maj_ver}-devel = %{version} -BuildRequires: llvm%{maj_ver}-static = %{version} +%global llvm_pkg_name llvm%{maj_ver} %else -BuildRequires: llvm-devel = %{version} -BuildRequires: llvm-test = %{version} +%global llvm_pkg_name llvm +BuildRequires: llvm-test = %{version} +BuildRequires: llvm-googletest = %{version} +%endif + +BuildRequires: %{llvm_pkg_name}-devel = %{version} # llvm-static is required, because clang-tablegen needs libLLVMTableGen, which # is not included in libLLVM.so. -BuildRequires: llvm-static = %{version} -BuildRequires: llvm-googletest = %{version} -%endif +BuildRequires: %{llvm_pkg_name}-static = %{version} +BuildRequires: %{llvm_pkg_name}-cmake-utils = %{version} BuildRequires: libxml2-devel BuildRequires: perl-generators @@ -176,7 +188,7 @@ libomp-devel to enable -fopenmp. %package libs Summary: Runtime library for clang -Requires: %{name}-resource-filesystem%{?_isa} = %{version} +Requires: %{name}-resource-filesystem = %{version} # RHEL specific: Use libstdc++ from gcc13 by default. rhbz#2178804 Requires: gcc-toolset-13-gcc-c++ Recommends: compiler-rt%{?_isa} = %{version} @@ -185,21 +197,16 @@ Recommends: compiler-rt%{?_isa} = %{version} Recommends: libomp-devel%{_isa} = %{version} Recommends: libomp%{_isa} = %{version} -# Use lld as the default linker on ARM due to rhbz#1918924 -%ifarch %{arm} -Requires: lld -%endif - %description libs Runtime library for clang. %package devel Summary: Development header files for clang +Requires: %{name}-libs = %{version}-%{release} %if %{without compat_build} Requires: %{name}%{?_isa} = %{version}-%{release} # The clang CMake files reference tools from clang-tools-extra. Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} %endif %description devel @@ -208,9 +215,10 @@ Development header files for clang. %package resource-filesystem Summary: Filesystem package that owns the clang resource directory Provides: %{name}-resource-filesystem(major) = %{maj_ver} +BuildArch: noarch %description resource-filesystem -This package owns the clang resouce directory: $libdir/clang/$version/ +This package owns the clang resouce directory: lib/clang/$version/ %if %{without compat_build} %package analyzer @@ -233,6 +241,13 @@ Requires: emacs-filesystem %description tools-extra A set of extra tools built using Clang's tooling API. +%package tools-extra-devel +Summary: Development header files for clang tools +Requires: %{name}-tools-extra = %{version}-%{release} + +%description tools-extra-devel +Development header files for clang tools. + # Put git-clang-format in its own package, because it Requires git # and we don't want to force users to install all those dependenices if they # just want clang. @@ -248,7 +263,7 @@ clang-format integration for git. %package -n python3-clang Summary: Python3 bindings for clang -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: python3 %description -n python3-clang %{summary}. @@ -258,20 +273,18 @@ Requires: python3 %prep -%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE0}' -%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}' - -%setup -T -q -b 4 -n %{cmake_srcdir} -# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir}, -# but this is not a CACHED variable, so we can't actually set it externally :( -cd .. -mv %{cmake_srcdir} cmake +%if %{without snapshot_build} +%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}' +%endif %if %{with compat_build} %autosetup -n %{clang_srcdir} -p2 %else -%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE2}' --data='%{SOURCE1}' +%if %{without snapshot_build} +%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}' +%endif + %setup -T -q -b 1 -n %{clang_tools_srcdir} %autopatch -m200 -p2 @@ -279,13 +292,12 @@ mv %{cmake_srcdir} cmake rm test/clang-tidy/checkers/altera/struct-pack-align.cpp %py3_shebang_fix \ - clang-tidy/tool/run-clang-tidy.py \ - clang-tidy/tool/clang-tidy-diff.py \ + clang-tidy/tool/ \ clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py %setup -q -n %{clang_srcdir} -%autopatch -M200 -p2 +%autopatch -M%{?!rhel:100}%{?rhel:200} -p2 # failing test case rm test/CodeGen/profile-filter.c @@ -307,66 +319,72 @@ find -name '*.md' | while read md; do sed -r -e 's/^( )*\* /\n\1\* /' ${md} | pa %endif %build -# We run the builders out of memory on armv7 and i686 when LTO is enabled -%ifarch %{arm} i686 + +%undefine __cmake_in_source_build + +# And disable LTO on AArch64 entirely. +%ifarch aarch64 %define _lto_cflags %{nil} -%else -# This package does not ship any object files or static libraries, so we -# don't need -ffat-lto-objects. -%global _lto_cflags %(echo %{_lto_cflags} | sed 's/-ffat-lto-objects//') %endif -# lto builds with gcc 11 fail while running the lit tests. -%define _lto_cflags %{nil} - -%if 0%{?__isa_bits} == 64 -sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py -%else -sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py +# Disable LTO to speed up builds +%if %{with snapshot_build} +%global _lto_cflags %nil %endif -mkdir -p %{_vpath_builddir} -cd %{_vpath_builddir} - -%ifarch s390 s390x %{arm} %ix86 ppc64le aarch64 +%ifarch s390 s390x aarch64 %ix86 ppc64le # Decrease debuginfo verbosity to reduce memory consumption during final library linking %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif +# Disable dwz on aarch64, because it takes a huge amount of time to decide not to optimize things. +%ifarch aarch64 +%define _find_debuginfo_dwz_opts %{nil} +%endif + %set_build_flags CXXFLAGS="$CXXFLAGS -Wno-address -Wno-nonnull -Wno-maybe-uninitialized" CFLAGS="$CFLAGS -Wno-address -Wno-nonnull -Wno-maybe-uninitialized" -# -DLLVM_ENABLE_NEW_PASS_MANAGER=ON can be removed once this patch is committed: -# https://reviews.llvm.org/D107628 -# We set CLANG_DEFAULT_PIE_ON_LINUX=OFF to match the default used by Fedora's GCC. -%cmake .. -G Ninja \ +# We set CLANG_DEFAULT_PIE_ON_LINUX=OFF and PPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON to match the +# defaults used by Fedora's GCC. +%cmake -G Ninja \ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF \ +%if 0%{?fedora} || 0%{?rhel} > 9 + -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON \ +%endif -DLLVM_PARALLEL_LINK_JOBS=1 \ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DPYTHON_EXECUTABLE=%{__python3} \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -%ifarch s390 s390x %{arm} %ix86 ppc64le aarch64 +%ifarch s390 s390x %ix86 ppc64le aarch64 -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ %endif %if %{with compat_build} -DCLANG_BUILD_TOOLS:BOOL=OFF \ - -DLLVM_CONFIG:FILEPATH=%{pkg_bindir}/llvm-config-%{maj_ver}-%{__isa_bits} \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ -DCLANG_INCLUDE_TESTS:BOOL=OFF \ + -DLLVM_INCLUDE_TESTS:BOOL=OFF \ + -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ %else -DCLANG_INCLUDE_TESTS:BOOL=ON \ - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../../%{clang_tools_srcdir} \ + -DLLVM_BUILD_UTILS:BOOL=ON \ + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../%{clang_tools_srcdir} \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ + -DLLVM_LIT_ARGS="-vv" \ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \ %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else -DLLVM_LIBDIR_SUFFIX= \ %endif +%endif + \ +%if %{with snapshot_build} + -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \ %endif \ %if %{with compat_build} @@ -374,6 +392,7 @@ CFLAGS="$CFLAGS -Wno-address -Wno-nonnull -Wno-maybe-uninitialized" %else -DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \ %endif + -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \ -DCLANG_ENABLE_ARCMT:BOOL=ON \ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \ -DCLANG_INCLUDE_DOCS:BOOL=ON \ @@ -382,28 +401,22 @@ CFLAGS="$CFLAGS -Wno-address -Wno-nonnull -Wno-maybe-uninitialized" -DLLVM_ENABLE_EH=ON \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_BUILD_DOCS=ON \ - -DLLVM_ENABLE_NEW_PASS_MANAGER=ON \ -DLLVM_ENABLE_SPHINX=ON \ -DCLANG_LINK_CLANG_DYLIB=ON \ - %{?abi_revision:-DLLVM_ABI_REVISION=%{abi_revision}} \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ \ -DCLANG_BUILD_EXAMPLES:BOOL=OFF \ -DBUILD_SHARED_LIBS=OFF \ -DCLANG_REPOSITORY_STRING="%{?fedora:Fedora}%{?rhel:Red Hat} %{version}-%{release}" \ -%ifarch %{arm} - -DCLANG_DEFAULT_LINKER=lld \ -%endif - -DCLANG_DEFAULT_UNWINDLIB=libgcc \ -DGCC_INSTALL_PREFIX=/opt/rh/gcc-toolset-13/root/usr + -DCLANG_RESOURCE_DIR=../lib/clang/%{maj_ver} \ + -DCLANG_DEFAULT_UNWINDLIB=libgcc %cmake_build %install -pushd %{_vpath_builddir} %cmake_install -popd %if %{with compat_build} @@ -419,7 +432,7 @@ rm -Rf %{buildroot}%{install_prefix}/lib/{libear,libscanbuild} # File in the macros file for other packages to use. We are not doing this # in the compat package, because the version macros would # conflict with # eachother if both clang and the clang compat package were installed together. -install -p -m0644 -D %{SOURCE7} %{buildroot}%{_rpmmacrodir}/macros.%{name} +install -p -m0644 -D %{SOURCE5} %{buildroot}%{_rpmmacrodir}/macros.%{name} sed -i -e "s|@@CLANG_MAJOR_VERSION@@|%{maj_ver}|" \ -e "s|@@CLANG_MINOR_VERSION@@|%{min_ver}|" \ -e "s|@@CLANG_PATCH_VERSION@@|%{patch_ver}|" \ @@ -474,12 +487,9 @@ chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1* # Create sub-directories in the clang resource directory that will be # populated by other packages -mkdir -p %{buildroot}%{pkg_libdir}/clang/%{maj_ver}/{include,lib,share}/ +mkdir -p %{buildroot}%{install_prefix}/lib/clang/%{maj_ver}/{bin,include,lib,share}/ -# Remove clang-tidy headers. We don't ship the libraries for these. -rm -Rvf %{buildroot}%{_includedir}/clang-tidy/ - %if %{without compat_build} # Add a symlink in /usr/bin to clang-format-diff ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff @@ -490,18 +500,10 @@ ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format %if %{with check} # Build test dependencies separately, to prevent invocations of host clang from being affected # by LD_LIBRARY_PATH below. -pushd %{_vpath_builddir} %cmake_build --target clang-test-depends \ ExtraToolsUnitTests ClangdUnitTests ClangIncludeCleanerUnitTests ClangPseudoUnitTests -popd # requires lit.py from LLVM utilities -# FIXME: Fix failing ARM tests -LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} %{_smp_mflags} check-all -C %{_vpath_builddir} || \ -%ifarch %{arm} -: -%else -false -%endif +LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} %{_smp_mflags} check-all -C %{_vpath_builddir} %endif %endif @@ -522,13 +524,8 @@ false %endif %files libs -%if %{without compat_build} -%{_libdir}/clang/%{maj_ver}/include/* -%{_libdir}/*.so.* -%else -%{pkg_libdir}/*.so.* -%{pkg_libdir}/clang/%{maj_ver}/include/* -%endif +%{install_prefix}/lib/clang/%{maj_ver}/include/* +%{install_libdir}/*.so.* %files devel %if %{without compat_build} @@ -536,23 +533,26 @@ false %{_includedir}/clang/ %{_includedir}/clang-c/ %{_libdir}/cmake/* +%{_bindir}/clang-tblgen %dir %{_datadir}/clang/ -%{_rpmmacrodir}/macros.%{name} %else -%{pkg_libdir}/*.so +%{install_libdir}/*.so %{pkg_includedir}/clang/ %{pkg_includedir}/clang-c/ -%{pkg_libdir}/cmake/ +%{install_libdir}/cmake/ %endif %files resource-filesystem -%dir %{pkg_libdir}/clang/ -%dir %{pkg_libdir}/clang/%{maj_ver}/ -%dir %{pkg_libdir}/clang/%{maj_ver}/include/ -%dir %{pkg_libdir}/clang/%{maj_ver}/lib/ -%dir %{pkg_libdir}/clang/%{maj_ver}/share/ - +%dir %{install_prefix}/lib/clang/ +%dir %{install_prefix}/lib/clang/%{maj_ver}/ +%dir %{install_prefix}/lib/clang/%{maj_ver}/bin/ +%dir %{install_prefix}/lib/clang/%{maj_ver}/include/ +%dir %{install_prefix}/lib/clang/%{maj_ver}/lib/ +%dir %{install_prefix}/lib/clang/%{maj_ver}/share/ %if %{without compat_build} +%{_rpmmacrodir}/macros.%{name} + + %files analyzer %{_bindir}/scan-view %{_bindir}/scan-build @@ -615,6 +615,9 @@ false %{_datadir}/clang/run-find-all-symbols.py* %{_datadir}/clang/clang-rename.py* +%files tools-extra-devel +%{_includedir}/clang-tidy/ + %files -n git-clang-format %{_bindir}/git-clang-format @@ -624,6 +627,9 @@ false %endif %changelog +* Wed Oct 04 2023 Nikita Popov - 17.0.2-1 +- Update to LLVM 17.0.2 + * Thu Jun 29 2023 Tom Stellard - 16.0.6-2 - Use gcc-toolset-13 by default diff --git a/clangd-tests.patch b/clangd-tests.patch deleted file mode 100644 index eee0014..0000000 --- a/clangd-tests.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff --git a/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp b/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp -index 0c9455f..22638ee 100644 ---- a/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp -+++ b/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp -@@ -451,123 +451,6 @@ TEST_F(TUSchedulerTests, InvalidationUnchanged) { - EXPECT_EQ(1, Actions.load()) << "All actions should run"; - } - --TEST_F(TUSchedulerTests, ManyUpdates) { -- const int FilesCount = 3; -- const int UpdatesPerFile = 10; -- -- std::mutex Mut; -- int TotalASTReads = 0; -- int TotalPreambleReads = 0; -- int TotalUpdates = 0; -- llvm::StringMap LatestDiagVersion; -- -- // Run TUScheduler and collect some stats. -- { -- auto Opts = optsForTest(); -- Opts.UpdateDebounce = DebouncePolicy::fixed(std::chrono::milliseconds(50)); -- TUScheduler S(CDB, Opts, captureDiags()); -- -- std::vector Files; -- for (int I = 0; I < FilesCount; ++I) { -- std::string Name = "foo" + std::to_string(I) + ".cpp"; -- Files.push_back(testPath(Name)); -- this->FS.Files[Files.back()] = ""; -- } -- -- StringRef Contents1 = R"cpp(int a;)cpp"; -- StringRef Contents2 = R"cpp(int main() { return 1; })cpp"; -- StringRef Contents3 = R"cpp(int a; int b; int sum() { return a + b; })cpp"; -- -- StringRef AllContents[] = {Contents1, Contents2, Contents3}; -- const int AllContentsSize = 3; -- -- // Scheduler may run tasks asynchronously, but should propagate the -- // context. We stash a nonce in the context, and verify it in the task. -- static Key NonceKey; -- int Nonce = 0; -- -- for (int FileI = 0; FileI < FilesCount; ++FileI) { -- for (int UpdateI = 0; UpdateI < UpdatesPerFile; ++UpdateI) { -- auto Contents = AllContents[(FileI + UpdateI) % AllContentsSize]; -- -- auto File = Files[FileI]; -- auto Inputs = getInputs(File, Contents.str()); -- { -- WithContextValue WithNonce(NonceKey, ++Nonce); -- Inputs.Version = std::to_string(UpdateI); -- updateWithDiags( -- S, File, Inputs, WantDiagnostics::Auto, -- [File, Nonce, Version(Inputs.Version), &Mut, &TotalUpdates, -- &LatestDiagVersion](std::vector) { -- EXPECT_THAT(Context::current().get(NonceKey), Pointee(Nonce)); -- EXPECT_EQ(File, boundPath()); -- -- std::lock_guard Lock(Mut); -- ++TotalUpdates; -- EXPECT_EQ(File, *TUScheduler::getFileBeingProcessedInContext()); -- // Make sure Diags are for a newer version. -- auto It = LatestDiagVersion.try_emplace(File, -1); -- const int PrevVersion = It.first->second; -- int CurVersion; -- ASSERT_TRUE(llvm::to_integer(Version, CurVersion, 10)); -- EXPECT_LT(PrevVersion, CurVersion); -- It.first->getValue() = CurVersion; -- }); -- } -- { -- WithContextValue WithNonce(NonceKey, ++Nonce); -- S.runWithAST( -- "CheckAST", File, -- [File, Inputs, Nonce, &Mut, -- &TotalASTReads](Expected AST) { -- EXPECT_THAT(Context::current().get(NonceKey), Pointee(Nonce)); -- EXPECT_EQ(File, boundPath()); -- -- ASSERT_TRUE((bool)AST); -- EXPECT_EQ(AST->Inputs.Contents, Inputs.Contents); -- EXPECT_EQ(AST->Inputs.Version, Inputs.Version); -- EXPECT_EQ(AST->AST.version(), Inputs.Version); -- -- std::lock_guard Lock(Mut); -- ++TotalASTReads; -- EXPECT_EQ(File, *TUScheduler::getFileBeingProcessedInContext()); -- }); -- } -- -- { -- WithContextValue WithNonce(NonceKey, ++Nonce); -- S.runWithPreamble( -- "CheckPreamble", File, TUScheduler::Stale, -- [File, Inputs, Nonce, &Mut, -- &TotalPreambleReads](Expected Preamble) { -- EXPECT_THAT(Context::current().get(NonceKey), Pointee(Nonce)); -- EXPECT_EQ(File, boundPath()); -- -- ASSERT_TRUE((bool)Preamble); -- EXPECT_EQ(Preamble->Contents, Inputs.Contents); -- -- std::lock_guard Lock(Mut); -- ++TotalPreambleReads; -- EXPECT_EQ(File, *TUScheduler::getFileBeingProcessedInContext()); -- }); -- } -- } -- } -- ASSERT_TRUE(S.blockUntilIdle(timeoutSeconds(10))); -- } // TUScheduler destructor waits for all operations to finish. -- -- std::lock_guard Lock(Mut); -- // Updates might get coalesced in preamble thread and result in dropping -- // diagnostics for intermediate snapshots. -- EXPECT_GE(TotalUpdates, FilesCount); -- EXPECT_LE(TotalUpdates, FilesCount * UpdatesPerFile); -- // We should receive diags for last update. -- for (const auto &Entry : LatestDiagVersion) -- EXPECT_EQ(Entry.second, UpdatesPerFile - 1); -- EXPECT_EQ(TotalASTReads, FilesCount * UpdatesPerFile); -- EXPECT_EQ(TotalPreambleReads, FilesCount * UpdatesPerFile); --} -- - TEST_F(TUSchedulerTests, EvictedAST) { - std::atomic BuiltASTCounter(0); - auto Opts = optsForTest(); diff --git a/disable-recommonmark.patch b/disable-recommonmark.patch deleted file mode 100644 index 3df4ddb..0000000 --- a/disable-recommonmark.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -ruN clang-14.0.0.src.orig/docs/conf.py clang-14.0.0.src/docs/conf.py ---- a/clang-14.0.0.src.orig/docs/conf.py 2022-03-14 10:44:55.000000000 +0100 -+++ b/clang-14.0.0.src/docs/conf.py 2022-04-11 11:13:44.483641113 +0200 -@@ -37,20 +37,7 @@ - '.rst': 'restructuredtext', - } - --try: -- import recommonmark --except ImportError: -- # manpages do not use any .md sources -- if not tags.has('builder-man'): -- raise --else: -- import sphinx -- if sphinx.version_info >= (3, 0): -- # This requires 0.5 or later. -- extensions.append('recommonmark') -- else: -- source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'} -- source_suffix['.md'] = 'markdown' -+import sphinx - - # The encoding of source files. - #source_encoding = 'utf-8-sig' - diff --git a/llvm-hello.patch b/llvm-hello.patch deleted file mode 100644 index d28e349..0000000 --- a/llvm-hello.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -ruN a/clang-tools-extra-14.0.0rc2.src.orig/test/clang-tidy/CTTestTidyModule.cpp a/clang-tools-extra-14.0.0rc2.src/test/clang-tidy/CTTestTidyModule.cpp ---- a/clang-tools-extra-14.0.0rc2.src.orig/test/clang-tidy/CTTestTidyModule.cpp 2022-03-02 01:46:37.000000000 +0100 -+++ a/clang-tools-extra-14.0.0rc2.src/test/clang-tidy/CTTestTidyModule.cpp 2022-03-07 08:52:20.009112976 +0100 -@@ -1,4 +1,4 @@ --// REQUIRES: plugins -+// REQUIRES: plugins, llvm-hello - // RUN: clang-tidy -checks='-*,mytest*' --list-checks -load %llvmshlibdir/CTTestTidyModule%pluginext -load %llvmshlibdir/LLVMHello%pluginext | FileCheck --check-prefix=CHECK-LIST %s - // CHECK-LIST: Enabled checks: - // CHECK-LIST-NEXT: mytest1 -diff -ruN a/clang-tools-extra-14.0.0rc2.src.orig/test/CMakeLists.txt a/clang-tools-extra-14.0.0rc2.src/test/CMakeLists.txt ---- a/clang-tools-extra-14.0.0rc2.src.orig/test/CMakeLists.txt 2022-03-02 01:46:37.000000000 +0100 -+++ a/clang-tools-extra-14.0.0rc2.src/test/CMakeLists.txt 2022-03-07 10:58:56.172490672 +0100 -@@ -15,10 +15,15 @@ - - string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) - -+if (TARGET LLVMHello) -+ set (LLVM_HAS_LLVM_HELLO 1) -+endif() -+ - llvm_canonicalize_cmake_booleans( - CLANG_TIDY_ENABLE_STATIC_ANALYZER - CLANG_PLUGIN_SUPPORT - LLVM_INSTALL_TOOLCHAIN_ONLY -+ LLVM_HAS_LLVM_HELLO - ) - - configure_lit_site_cfg( -@@ -97,7 +102,10 @@ - endif() - - if(TARGET CTTestTidyModule) -- list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule LLVMHello) -+ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule) -+ if (TARGET LLVMHello) -+ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule) # Should be LLVMHello? -+ endif() - target_include_directories(CTTestTidyModule PUBLIC BEFORE "${CLANG_TOOLS_SOURCE_DIR}") - if(CLANG_PLUGIN_SUPPORT AND (WIN32 OR CYGWIN)) - set(LLVM_LINK_COMPONENTS -diff -ruN a/clang-tools-extra-14.0.0rc2.src.orig/test/lit.cfg.py a/clang-tools-extra-14.0.0rc2.src/test/lit.cfg.py ---- a/clang-tools-extra-14.0.0rc2.src.orig/test/lit.cfg.py 2022-03-02 01:46:37.000000000 +0100 -+++ a/clang-tools-extra-14.0.0rc2.src/test/lit.cfg.py 2022-03-07 08:52:20.010112983 +0100 -@@ -155,3 +155,6 @@ - # Plugins (loadable modules) - if config.has_plugins and config.llvm_plugin_ext: - config.available_features.add('plugins') -+ -+if config.has_llvm_hello: -+ config.available_features.add('llvm-hello') -diff -ruN a/clang-tools-extra-14.0.0rc2.src.orig/test/lit.site.cfg.py.in a/clang-tools-extra-14.0.0rc2.src/test/lit.site.cfg.py.in ---- a/clang-tools-extra-14.0.0rc2.src.orig/test/lit.site.cfg.py.in 2022-03-02 01:46:37.000000000 +0100 -+++ a/clang-tools-extra-14.0.0rc2.src/test/lit.site.cfg.py.in 2022-03-07 10:59:17.202663983 +0100 -@@ -13,6 +13,7 @@ - config.target_triple = "@TARGET_TRIPLE@" - config.clang_tidy_staticanalyzer = @CLANG_TIDY_ENABLE_STATIC_ANALYZER@ - config.has_plugins = @CLANG_PLUGIN_SUPPORT@ & ~@LLVM_INSTALL_TOOLCHAIN_ONLY@ -+config.has_llvm_hello = @LLVM_HAS_LLVM_HELLO@ - - # Support substitution of the tools and libs dirs with user parameters. This is - # used when we can't determine the tool dir at configuration time. diff --git a/m-branch-protection.patch b/m-branch-protection.patch deleted file mode 100644 index 7586c7d..0000000 --- a/m-branch-protection.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit fed96f31bb5b68f77dd617ee8e698dd8171ee71b -Author: Tom Stellard -Date: Tue Mar 22 23:17:39 2022 -0700 - - Re-commit: Driver: Don't warn on -mbranch-protection when linking - - This is a re-commit of 98fd3b359866f474ab1c097c22fb5c3be356b996. The - newly added test was failing on the bots, and I've fixed the test now so - that it doesn't actually invoke the linker. - -diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td -index d37d3a31fe07..6ed87f9a464d 100644 ---- a/clang/include/clang/Driver/Options.td -+++ b/clang/include/clang/Driver/Options.td -@@ -3444,6 +3444,7 @@ def msign_return_address_EQ : Joined<["-"], "msign-return-address=">, - Flags<[CC1Option]>, Group, Values<"none,all,non-leaf">, - HelpText<"Select return address signing scope">; - def mbranch_protection_EQ : Joined<["-"], "mbranch-protection=">, -+ Group, - HelpText<"Enforce targets of indirect branches and function returns">; - - def mharden_sls_EQ : Joined<["-"], "mharden-sls=">, -diff --git a/clang/test/Driver/aarch64-security-options.c b/clang/test/Driver/aarch64-security-options.c -index 6ea4b8ae5838..4bd73e06d255 100644 ---- a/clang/test/Driver/aarch64-security-options.c -+++ b/clang/test/Driver/aarch64-security-options.c -@@ -27,6 +27,9 @@ - // RUN: %clang -target aarch64--none-eabi -c %s -### -mbranch-protection=bar 2>&1 | \ - // RUN: FileCheck %s --check-prefix=BAD-BP-PROTECTION --check-prefix=WARN - -+// RUN: %clang -target aarch64--none-eabi -### -o /dev/null -mbranch-protection=standard /dev/null 2>&1 | \ -+// RUN: FileCheck --allow-empty %s --check-prefix=LINKER-DRIVER -+ - // WARN-NOT: warning: ignoring '-mbranch-protection=' option because the 'aarch64' architecture does not support it [-Wbranch-protection] - - // RA-OFF: "-msign-return-address=none" -@@ -46,3 +49,7 @@ - - // BAD-B-KEY-COMBINATION: invalid branch protection option 'b-key' in '-mbranch-protection={{.*}}' - // BAD-LEAF-COMBINATION: invalid branch protection option 'leaf' in '-mbranch-protection={{.*}}' -+ -+// Check that the linker driver doesn't warn about -mbranch-protection=standard -+// as an unused option. -+// LINKER-DRIVER-NOT: warning: diff --git a/macros.clang b/macros.clang index 6f35452..88f259d 100644 --- a/macros.clang +++ b/macros.clang @@ -8,9 +8,4 @@ # headers and libraries. This path should be used by packages that need to # install files into this directory. This macro's value changes every time # clang's version changes. -%clang_resource_dir %{_libdir}/clang/%{clang_major_version} - -# This is the path to the clang resource directory that should be used -# by packages that need to read files from this directory at runtime. -# This macro only changes when clang's major version changes. -%clang_resource_dir_readonly %{_libdir}/clang/%{clang_major_version} +%clang_resource_dir %{_prefix}/lib/clang/%{clang_major_version} diff --git a/release-keys.asc b/release-keys.asc new file mode 100644 index 0000000..0d3789a --- /dev/null +++ b/release-keys.asc @@ -0,0 +1,104 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +9RmlwZlOTFGcWBYl/cfRONn9qi9a6w== +=Lvw+ +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=tMzl +-----END PGP PUBLIC KEY BLOCK----- diff --git a/remove-test.patch b/remove-test.patch deleted file mode 100644 index ba43de9..0000000 --- a/remove-test.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/clang-tools-extra/unittests/clang-tidy/CMakeLists.txt b/clang-tools-extra/unittests/clang-tidy/CMakeLists.txt -index 253f78eb36ea..1199da3e4cfd 100644 ---- a/clang-tools-extra/unittests/clang-tidy/CMakeLists.txt -+++ b/clang-tools-extra/unittests/clang-tidy/CMakeLists.txt -@@ -30,7 +30,6 @@ add_extra_unittest(ClangTidyTests - OptionsProviderTest.cpp - OverlappingReplacementsTest.cpp - UsingInserterTest.cpp -- ReadabilityModuleTest.cpp - TransformerClangTidyCheckTest.cpp - ) - -@@ -54,7 +53,6 @@ target_link_libraries(ClangTidyTests - clangTidyGoogleModule - clangTidyLLVMModule - clangTidyObjCModule -- clangTidyReadabilityModule - clangTidyUtils - LLVMTestingSupport - ) diff --git a/sources b/sources index 540af3b..ae96380 100644 --- a/sources +++ b/sources @@ -1,7 +1,4 @@ -SHA512 (clang-16.0.6.src.tar.xz) = 92c65b882e1504f4a9b8a3f6b8a24061505987aaacc8bb835115b4e4d74ac3a8c98343a308567b07c6b42bb99877c300bce3c4a5a25ada77abe65606aa25188d -SHA512 (clang-tools-extra-16.0.6.src.tar.xz) = ec1a0834f223e393d24c11586b744167a41cea6c39d1bb18c433d2fb736501950fdff42f1eb0caa13c75bcb8ef9ac309eb0687644307698ec0420ff8a769c710 -SHA512 (clang-tools-extra-16.0.6.src.tar.xz.sig) = ff94fe024399bb72da10752ad1c41d57dcf5094b11ef5abdb82189026db0d7016c7ede0f47b7841aaa823de75bd927f8a1ffdbc112c5a0f61dec878790b5e7e3 -SHA512 (clang-16.0.6.src.tar.xz.sig) = a3e68c07d61ce62dfe406464f1afce352f36480966ceaa3171889ac1f02441d9df48e938b3e81d6b73b5957dd6623171323a9915281dc052be0c5c7014e75f24 -SHA512 (cmake-16.0.6.src.tar.xz) = 52ecd941d2d85a5b668caa5d0d40480cb6a97b3bf1174e634c2a93e9ef6d03670ca7e96abb0a60cb33ba537b93d5788754dab1f2f45c1f623f788162717d088b -SHA512 (cmake-16.0.6.src.tar.xz.sig) = d20c5e51315aa476775e6ce886684b9f882ce283fc40aa6c1b8f03964c77a1e745e2e1fb00b3488dddfe1a04378e2bfd090350de28e58088525a5305ecb1bea6 -SHA512 (release-keys.asc) = 08eab15cd40116bb1eea5ddcdd2822d248d6d7f5dce37868aa7152377aa0062567fe571909a1c9d3c3f8978ebcf5e0f6b0ab8fff13e3578c0548e21be3026462 +SHA512 (clang-17.0.2.src.tar.xz) = d86933c0e5c441088596feba47d4834b299e09594c30192e653c80debf2a8807665e2bf29c51bc2eb9e014326a8e811ade654f73df4fca9a0ffa88b647e35f2b +SHA512 (clang-17.0.2.src.tar.xz.sig) = 10eab520241c7c943814377326e90e78832c254c25b42411f338406e62c2c2d1a7780e14be7840d31d09cef3eddc82ac59c482b81d2e4cf240a09aa706d89494 +SHA512 (clang-tools-extra-17.0.2.src.tar.xz) = 40126831ae1ea492afe98603d86ed8df4a735734eb2cf0b9e650b56d78ef525492ed3c924003561564f308586ff0cd53b956164cf795f66fe26434b24b9fb608 +SHA512 (clang-tools-extra-17.0.2.src.tar.xz.sig) = 9ffa1f2a233a5a88f5c408a0ce6b9cb8df406b71a9e3a9b54c618ac353ef221fe34dfc663367806fdd8eb766aab94b0a3a1660320098a420439e2112d58cca10 diff --git a/tstellar-gpg-key.asc b/tstellar-gpg-key.asc deleted file mode 100644 index eba625c41a5fb1646d8b087acb97a6f079901712..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2222 zcmV;f2vPT$0u2OO>VZ805CFTzjTRs0jjXv;pGugCr`4v#a%GKo$r!Jd->PCt z$y%rpj==vUV}Ir+*R8b>IVmXk+p1pb?8#X&nu=A^mMLf^hWzyKgNi2>hyWLVh=fxY z2uQphyka|M&B_iX7`4E;@VIVye4j+?(eh_~`%yu#&d z*V9fM6W6bny8d9hd1I{mwtG%>CC@J*juZpAErTo`!5xcYL1Aj+mdQryB5UR$E%yF6 z*!s!u));Q?P+9N#0Q6S0jli^^Y40t$(uybAR^$1y6%VyNeBeQ!@oTFdcu?K8u$-I` zKDUMj7UGg4A}({Q;YHV$l=+&0cGG3Hh4_R+d%{rZxYsm$HE!9TA$H#_hM3|NNT^K> zZQU8HH=}vu#c;-9-Jyy=nkH&Ih5=&vyyTF3Oa0+QyQp|o8>g~GALwBu0JFctO)F4By^oR|Q&^+ok_ahpz* zx2{4_^~smFohQB{Cn}OKl!M)6h-Sp7pTRPF)8{xDQnsT*2KBVqzLp^_b}_%Gi3#{7 zPmKinsRK(isAm8X0RRECB2;f}AX9W@Y;0k2WFS0rb97~FY+-Uha%E&_VRSBIZ*4w_ z0zU*30RjLi1p->?fjt5n0|f~I;WK~-3ke7Z0|EgC6$kC|{ ztfg+f-L$-*LG&Y8rEs>Pk0kY2M!#d(HZRxiE0ipTCeAm7F|v6IH9B7Vlm=s3u!P6x zukC3z;PJmJ)xh$MIj*i=cG31 zsr(;uWSlOsz%_4Yz*UkKLqI0&M?pa@7vLxT7E~NOMQpRmC;};m26SlTQ+yR!^FSkd z5X@jE=BH4}c|41ZEr0imr|M~OJc6e@^UU(IF|W<>p1aTajeew-gHXQNys755V(S?e zy&C%siGryJ(2hm;uw^%r#}(W7xEi6^+X#Ec26;Q4R?Bq8H1hLh#VmX*+=kLh#l)OH zuC2P$?)S;hs*FQk8?PUuG{npPBS~7t;@#%(02I5L`it-=nvT%hwBu9Vylt?Rx_WO8 zn;xz3>aTq41Kx`}**s6A$49Kf_AikxBYjpmen!2RxlOtbF<6izL<4CJepUil@?zwT z9--9FX0i_jVtyY+6GeUXY{C6s&jp=gZVLvg0K<2!X;=PL%?gW_4bZMVYaV0@NJs-G zR53P~&$$8(1X}8WJpm8^!P@Z0GUu_8r6%69;^`~$FlQ_sXC1gfPE!ZD7nWV}F8ra9JxN4Hc;rg@5`G`UmNK zQK2H?OT@C(8zIO}kZRe0_IN@oCg4<+qQMIIQ9BTzli>7{__%>7EJKyOXMQt~d~dO#*vR-UpkDf2!SqwMz3;vEnk@ z?=o=Jt#mt#&qQ5T^Djs9 z^4k@B1GCy801*KI0f_=71Q-DV01pKMTIzv40vikk2?60VfB*^!5TeJFsfIzFiUFe# z0I}kKVKh7v)wfS?mcAnLFf2mw>&+IUnN!`^A5o?AROoVE|1Wn*mv*_@{l7RSech<$ z?RLGlpeWdkMhbOTAw|NxrZVM!5o8(5NV^UY>QiIQrC87nWDTTnJfN`ajL|@# zl)Qnlzy(_cGgW866I0m2oMj27)0bsK>19i)o*dAxPI!tSpuQR`^kJnT+%gR}_vkiWGx zBRSn>o||dsUIz{u>`KQ`n~m24dqQqPaip8qJ@%<^y5X6+qY7;4MB$!YUu}^Vz&|fAyIM wpX0lD!)BYGzJZL|-kImy^XM9ph5)K0`p3zNu2XNcRC)Y~P3B_BHh)~2!0gUKHvj+t