diff --git a/0001-Driver-Prefer-gcc-toolchains-with-libgcc_s.so-when-n.patch b/0001-Driver-Prefer-gcc-toolchains-with-libgcc_s.so-when-n.patch deleted file mode 100644 index 0050b40484235078ceb3b478b5864ed0ce14a58a..0000000000000000000000000000000000000000 --- a/0001-Driver-Prefer-gcc-toolchains-with-libgcc_s.so-when-n.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 67013ee5feecca0c1e1dd8a149b20779a9b6c12a Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Wed, 23 Sep 2020 12:47:30 +0000 -Subject: [PATCH] Driver: Prefer gcc toolchains with libgcc_s.so when not - static linking libgcc - -Fedora ships cross-compilers on all platforms, so a user could end up -with a gcc x86_64 cross-compiler installed on an x86_64 system. clang -maintains a list of supported triples for each target and when all -else is equal will prefer toolchains with triples that appear earlier -in the list. - -The cross-compiler triple on Fedora is x86_64-linux-gnu and this comes -before the Fedora system compiler's triple: x86_64-redhat-linux in -the triples list, so the cross compiler is always preferred. This -is a problem, because the cross compiler is missing libraries, like -libgcc_s.so, that clang expects to be there so linker invocations -will fail. - -This patch fixes this by checking for the existence of libgcc_s.so -when it is required and taking that into account when selecting a -toolchain. ---- - lib/Driver/ToolChains/Gnu.cpp | 16 ++++++++++++++-- - lib/Driver/ToolChains/Gnu.h | 4 +++- - .../usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o | 0 - .../usr/lib/gcc/x86_64-redhat-linux/7/crtbegin.o | 0 - .../lib/gcc/x86_64-redhat-linux/7/libgcc_s.so | 0 - test/Driver/linux-ld.c | 12 ++++++++++++ - 6 files changed, 29 insertions(+), 3 deletions(-) - create mode 100644 test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o - create mode 100644 test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-redhat-linux/7/crtbegin.o - create mode 100644 test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-redhat-linux/7/libgcc_s.so - -diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp -index c8a7fce0..f28792b7 100644 ---- a/lib/Driver/ToolChains/Gnu.cpp -+++ b/lib/Driver/ToolChains/Gnu.cpp -@@ -2500,6 +2500,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( - (TargetArch == llvm::Triple::x86 && - TargetTriple.getOS() != llvm::Triple::Solaris)}}; - -+ bool NeedLibgccShared = !Args.hasArg(options::OPT_static_libgcc) && -+ !Args.hasArg(options::OPT_static); - for (auto &Suffix : Suffixes) { - if (!Suffix.Active) - continue; -@@ -2517,8 +2519,17 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( - continue; // Saw this path before; no need to look at it again. - if (CandidateVersion.isOlderThan(4, 1, 1)) - continue; -- if (CandidateVersion <= Version) -- continue; -+ -+ bool CandidateHasLibGccShared = false; -+ if (CandidateVersion <= Version) { -+ if (NeedLibgccShared && !HasLibGccShared) { -+ CandidateHasLibGccShared = -+ D.getVFS().exists(LI->path() + "/libgcc_s.so"); -+ -+ } -+ if (HasLibGccShared || !CandidateHasLibGccShared) -+ continue; -+ } - - if (!ScanGCCForMultilibs(TargetTriple, Args, LI->path(), - NeedsBiarchSuffix)) -@@ -2532,6 +2543,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( - GCCInstallPath = (LibDir + "/" + LibSuffix + "/" + VersionText).str(); - GCCParentLibPath = (GCCInstallPath + "/../" + Suffix.ReversePath).str(); - IsValid = true; -+ HasLibGccShared = CandidateHasLibGccShared; - } - } - } -diff --git a/lib/Driver/ToolChains/Gnu.h b/lib/Driver/ToolChains/Gnu.h -index 52690ab4..2a4452d9 100644 ---- a/lib/Driver/ToolChains/Gnu.h -+++ b/lib/Driver/ToolChains/Gnu.h -@@ -190,6 +190,7 @@ public: - /// Driver, and has logic for fuzzing that where appropriate. - class GCCInstallationDetector { - bool IsValid; -+ bool HasLibGccShared; - llvm::Triple GCCTriple; - const Driver &D; - -@@ -213,7 +214,8 @@ public: - MultilibSet Multilibs; - - public: -- explicit GCCInstallationDetector(const Driver &D) : IsValid(false), D(D) {} -+ explicit GCCInstallationDetector(const Driver &D) -+ : IsValid(false), HasLibGccShared(false), D(D) {} - void init(const llvm::Triple &TargetTriple, const llvm::opt::ArgList &Args, - ArrayRef ExtraTripleAliases = None); - -diff --git a/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o b/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o -new file mode 100644 -index 00000000..e69de29b -diff --git a/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-redhat-linux/7/crtbegin.o b/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-redhat-linux/7/crtbegin.o -new file mode 100644 -index 00000000..e69de29b -diff --git a/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-redhat-linux/7/libgcc_s.so b/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-redhat-linux/7/libgcc_s.so -new file mode 100644 -index 00000000..e69de29b -diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c -index ec539522..95725d5c 100644 ---- a/test/Driver/linux-ld.c -+++ b/test/Driver/linux-ld.c -@@ -784,6 +784,18 @@ - // CHECK-FEDORA-31-RISCV64: "{{.*}}/usr/lib/gcc/riscv64-redhat-linux/9{{/|\\\\}}crtend.o" - // CHECK-FEDORA-31-RISCV64: "{{.*}}/usr/lib/gcc/riscv64-redhat-linux/9{{/|\\\\}}crtn.o" - // -+// Check that clang does not select the cross compiler by default on Fedora 28. -+// -+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -+// RUN: --target=x86_64-unknown-linux-gnu \ -+// RUN: --gcc-toolchain="" \ -+// RUN: --sysroot=%S/Inputs/fedora_28_tree \ -+// RUN: | FileCheck --check-prefix=CHECK-FEDORA-28-X86_64 %s -+// -+// CHECK-FEDORA-28-X86_64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" -+// CHECK-FEDORA-28-X86_64: "[[SYSROOT]]/usr/lib/gcc/x86_64-redhat-linux/7/crtbegin.o" -+// CHECK-FEDORA-28-X86_64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-redhat-linux/7" -+// - // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ - // RUN: --target=arm-unknown-linux-gnueabi -rtlib=platform \ - // RUN: --gcc-toolchain="" \ --- -2.25.2 - diff --git a/0001-Make-funwind-tables-the-default-for-all-archs.patch b/0001-Make-funwind-tables-the-default-for-all-archs.patch deleted file mode 100644 index d9e912539203dea54b64e024461e3e9a49627953..0000000000000000000000000000000000000000 --- a/0001-Make-funwind-tables-the-default-for-all-archs.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 690373af5a5d50cf115ed6e4d2849bb786f9dc8e Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Tue, 10 Dec 2019 09:18:03 +0000 -Subject: [PATCH] Make -funwind-tables the default for all archs - ---- - clang/lib/Driver/ToolChain.cpp | 2 +- - clang/lib/Driver/ToolChains/Gnu.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp -index b1fddb0af55..43af40ed0e8 100644 ---- a/clang/lib/Driver/ToolChain.cpp -+++ b/clang/lib/Driver/ToolChain.cpp -@@ -244,7 +244,7 @@ std::string ToolChain::getInputFilename(const InputInfo &Input) const { - } - - bool ToolChain::IsUnwindTablesDefault(const ArgList &Args) const { -- return false; -+ return true; - } - - Tool *ToolChain::getClang() const { -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 33cdd3585c2..15e82be8f3a 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2535,7 +2535,7 @@ void Generic_GCC::printVerboseInfo(raw_ostream &OS) const { - } - - bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const { -- return getArch() == llvm::Triple::x86_64; -+ return true; - } - - bool Generic_GCC::isPICDefault() const { --- -2.20.1 - diff --git a/0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch b/0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch deleted file mode 100644 index f4f0fa3d9430c3afd895dcb128b205525d504612..0000000000000000000000000000000000000000 --- a/0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 09ae3ef5710a89505318ec721c65b6c838147276 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 7 Feb 2019 21:05:37 -0800 -Subject: [PATCH] ToolChain: Add -lgcc_s to the linker flags when using libc++ - -The libc++ build for Fedora does not include an implementation of -libunwind, so we need to explicitly link against something that -provides this implementation. ---- - clang/lib/Driver/ToolChain.cpp | 1 + - clang/test/Driver/netbsd.cpp | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp -index 88a627e..cb99844 100644 ---- a/lib/Driver/ToolChain.cpp -+++ b/lib/Driver/ToolChain.cpp -@@ -767,6 +767,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args, - switch (Type) { - case ToolChain::CST_Libcxx: - CmdArgs.push_back("-lc++"); -+ CmdArgs.push_back("-lgcc_s"); - break; - - case ToolChain::CST_Libstdcxx: -diff --git a/test/Driver/netbsd.cpp b/test/Driver/netbsd.cpp -index 4af7d83..ff18c62 100644 ---- a/test/Driver/netbsd.cpp -+++ b/test/Driver/netbsd.cpp -@@ -131,7 +131,7 @@ - // ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi" - // ARM-7: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" - // ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" --// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc" -+// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc" - // ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" - - // AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd" -@@ -250,7 +250,7 @@ - // S-ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi" - // S-ARM-7: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" - // S-ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" --// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc" -+// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc" - // S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" - - // S-AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd" --- -1.8.3.1 - diff --git a/0001-clang-Don-t-install-static-libraries.patch b/0001-clang-Don-t-install-static-libraries.patch deleted file mode 100644 index 8c80dd3dea40c0d29745a2c474d95e07b4130035..0000000000000000000000000000000000000000 --- a/0001-clang-Don-t-install-static-libraries.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8097a9d4295dbc39cbd541ccace7bc5884852366 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Fri, 31 Jan 2020 11:04:57 -0800 -Subject: [PATCH] clang: Don't install static libraries - ---- - clang/cmake/modules/AddClang.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake -index 704278a0e93..1737b24a2bc 100644 ---- a/clang/cmake/modules/AddClang.cmake -+++ b/clang/cmake/modules/AddClang.cmake -@@ -111,7 +111,7 @@ macro(add_clang_library name) - if(TARGET ${lib}) - target_link_libraries(${lib} INTERFACE ${LLVM_COMMON_LIBS}) - -- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN) -+ if (ARG_SHARED AND (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)) - set(export_to_clangtargets) - if(${lib} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR - "clang-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR --- -2.18.1 - diff --git a/0001-clang-Fix-spurious-test-failure.patch b/0001-clang-Fix-spurious-test-failure.patch deleted file mode 100644 index 07c45b60f13e5bfe22bf45875032d19bbbf72433..0000000000000000000000000000000000000000 --- a/0001-clang-Fix-spurious-test-failure.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5bfce60443b1c3f4066f506e47cbdc7c4263bb10 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Tue, 11 Aug 2020 18:32:08 -0700 -Subject: [PATCH] clang: Fix spurious test failure - ---- - clang/test/Driver/crash-report-modules.m | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/clang/test/Driver/crash-report-modules.m b/clang/test/Driver/crash-report-modules.m -index e6d03353379..9519adf6f4b 100644 ---- a/clang/test/Driver/crash-report-modules.m -+++ b/clang/test/Driver/crash-report-modules.m -@@ -19,7 +19,7 @@ - @import simple; - const int x = MODULE_MACRO; - --// CHECK: PLEASE submit a bug report to {{.*}} and include the crash backtrace, preprocessed source, and associated run script. -+// CHECK: PLEASE submit a bug report to {{.*}}and include the crash backtrace, preprocessed source, and associated run script. - // CHECK: Preprocessed source(s) and associated run script(s) are located at: - // CHECK-NEXT: note: diagnostic msg: {{.*}}.m - // CHECK-NEXT: note: diagnostic msg: {{.*}}.cache --- -2.18.1 - diff --git a/0002-gtest-reorg.patch b/0002-gtest-reorg.patch deleted file mode 100644 index 121ac4667c4185ac911d5701ac48fa1fbe5766a0..0000000000000000000000000000000000000000 --- a/0002-gtest-reorg.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1f26a0284925859b72ee520ce74452d77d822409 Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Mon, 28 Jan 2019 19:12:27 +0000 -Subject: [PATCH 2/2] [PATCH] gtest reorg - ---- - CMakeLists.txt | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c2016a45ca..48ea3c3bb9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -157,12 +157,6 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.") - 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 -@@ -507,7 +501,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 --- -2.19.2 - diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..2de3e41700ab35644f61f3afc812ac462c5e58ac --- /dev/null +++ b/README.en.md @@ -0,0 +1,36 @@ +# clang + +#### Description +{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} + +#### Software Architecture +Software architecture description + +#### Installation + +1. xxxx +2. xxxx +3. xxxx + +#### Instructions + +1. xxxx +2. xxxx +3. xxxx + +#### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request + + +#### Gitee Feature + +1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) +6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..f5b5b7f00208741f453e43e3d8888be0d7727a20 --- /dev/null +++ b/README.md @@ -0,0 +1,39 @@ +# clang + +#### 介绍 +{**以下是码云平台说明,您可以替换此简介** +码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 +无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} + +#### 软件架构 +软件架构说明 + + +#### 安装教程 + +1. xxxx +2. xxxx +3. xxxx + +#### 使用说明 + +1. xxxx +2. xxxx +3. xxxx + +#### 参与贡献 + +1. Fork 本仓库 +2. 新建 Feat_xxx 分支 +3. 提交代码 +4. 新建 Pull Request + + +#### 码云特技 + +1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md +2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) +3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 +4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 +5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) +6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/clang-11.0.0.src.tar.xz b/clang-12.0.1.src.tar.xz similarity index 62% rename from clang-11.0.0.src.tar.xz rename to clang-12.0.1.src.tar.xz index b92731ef246f556cda4e4d6d5f6de641bbf05cc2..6eaa7e3aca193f2dd2d8afcb6ffc6282aacfc7c6 100644 Binary files a/clang-11.0.0.src.tar.xz and b/clang-12.0.1.src.tar.xz differ diff --git a/clang-config.h b/clang-config.h new file mode 100644 index 0000000000000000000000000000000000000000..c369b4551f785da6e2c586417caa36591a9eaee2 --- /dev/null +++ b/clang-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "config-32.h" +#elif __WORDSIZE == 64 +#include "config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/clang-tools-extra-11.0.0.src.tar.xz b/clang-tools-extra-11.0.0.src.tar.xz deleted file mode 100644 index 464ff6045a4207bdccdfa35c6dc764128ced4d69..0000000000000000000000000000000000000000 Binary files a/clang-tools-extra-11.0.0.src.tar.xz and /dev/null differ diff --git a/clang-tools-extra-12.0.1.src.tar.xz b/clang-tools-extra-12.0.1.src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..4fe27ad89b32eec9a0bf3a5abb90826388047e9b Binary files /dev/null and b/clang-tools-extra-12.0.1.src.tar.xz differ diff --git a/clang.spec b/clang.spec index 029be8d8f17b5c41cdc8a99a72270f2bb14c106f..89a4cdee9ee8e3d51adbfec1133f0698781e4f6a 100644 --- a/clang.spec +++ b/clang.spec @@ -1,199 +1,71 @@ -%global compat_build 0 - -%global maj_ver 11 +%global maj_ver 12 %global min_ver 0 -%global patch_ver 0 -#%%global rc_ver 6 -%global baserelease 2 - -%global clang_tools_binaries \ - %{_bindir}/clang-apply-replacements \ - %{_bindir}/clang-change-namespace \ - %{_bindir}/clang-check \ - %{_bindir}/clang-doc \ - %{_bindir}/clang-extdef-mapping \ - %{_bindir}/clang-format \ - %{_bindir}/clang-include-fixer \ - %{_bindir}/clang-move \ - %{_bindir}/clang-offload-bundler \ - %{_bindir}/clang-offload-wrapper \ - %{_bindir}/clang-query \ - %{_bindir}/clang-refactor \ - %{_bindir}/clang-rename \ - %{_bindir}/clang-reorder-fields \ - %{_bindir}/clang-scan-deps \ - %{_bindir}/clang-tidy \ - %{_bindir}/clangd \ - %{_bindir}/diagtool \ - %{_bindir}/hmaptool \ - %{_bindir}/pp-trace - -%global clang_binaries \ - %{_bindir}/clang \ - %{_bindir}/clang++ \ - %{_bindir}/clang-%{maj_ver} \ - %{_bindir}/clang++-%{maj_ver} \ - %{_bindir}/clang-cl \ - %{_bindir}/clang-cpp \ - -%if 0%{?compat_build} -%global pkg_name clang%{maj_ver}.%{min_ver} -# Install clang to same prefix as llvm, so that apps that use llvm-config -# will also be able to find clang libs. -%global install_prefix %{_libdir}/llvm%{maj_ver}.%{min_ver} -%global install_bindir %{install_prefix}/bin -%global install_includedir %{install_prefix}/include -%global install_libdir %{install_prefix}/lib - -%global pkg_bindir %{install_bindir} -%global pkg_includedir %{_includedir}/llvm%{maj_ver}.%{min_ver} -%global pkg_libdir %{install_libdir} -%else -%global pkg_name clang -%global install_prefix /usr -%endif - -%if 0%{?fedora} || 0%{?rhel} > 7 -%bcond_without python3 -%else -%bcond_with python3 -%endif - -%global build_install_prefix %{buildroot}%{install_prefix} - -# Too many threads causes OOM errors. -%global _smp_mflags -j8 - -%global clang_srcdir clang-%{version}%{?rc_ver:rc%{rc_ver}}.src -%global clang_tools_srcdir clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src - -Name: %pkg_name -Version: %{maj_ver}.%{min_ver}.%{patch_ver} -Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist} -Summary: A C language family front-end for LLVM - -License: NCSA +%global patch_ver 1 +%global clang_srcdir clang-%{version}.src +%global clang_tools_srcdir clang-tools-extra-%{version}.src + +Name: clang +Version: 12.0.1 +Release: 1 +License: GPL-2.0-only and Apache-2.0 and MIT +Summary: An "LLVM native" C/C++/Objective-C compiler URL: http://llvm.org -Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz -%if !0%{?compat_build} -Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{clang_tools_srcdir}.tar.xz -%endif +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_srcdir}.tar.xz +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_tools_srcdir}.tar.xz +Source2: clang-config.h -Patch4: 0002-gtest-reorg.patch -Patch11: 0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch -Patch13: 0001-Make-funwind-tables-the-default-for-all-archs.patch - -# Not Upstream -Patch15: 0001-clang-Don-t-install-static-libraries.patch -Patch16: 0001-clang-Fix-spurious-test-failure.patch -Patch17: 0001-Driver-Prefer-gcc-toolchains-with-libgcc_s.so-when-n.patch - -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: cmake -BuildRequires: ninja-build -%if 0%{?compat_build} -BuildRequires: llvm%{maj_ver}.%{min_ver}-devel = %{version} -BuildRequires: llvm%{maj_ver}.%{min_ver}-static = %{version} -%else +BuildRequires: cmake gcc-c++ python-sphinx git BuildRequires: llvm-devel = %{version} -%if 0%{?enable_test_pkg} -BuildRequires: llvm-test = %{version} +BuildRequires: llvm-static = %{version} BuildRequires: llvm-googletest = %{version} -%endif -# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which -# is not included in libLLVM.so. -BuildRequires: llvm-static = %{version} -%endif +BuildRequires: libxml2-devel perl-generators ncurses-devel emacs libatomic +BuildRequires: python3-lit python3-sphinx python3-devel -BuildRequires: libxml2-devel -BuildRequires: perl-generators -BuildRequires: ncurses-devel -# According to https://fedoraproject.org/wiki/Packaging:Emacs a package -# should BuildRequires: emacs if it packages emacs integration files. -BuildRequires: emacs - -# These build dependencies are required for the test suite. -%if %with python3 -# The testsuite uses /usr/bin/lit which is part of the python3-lit package. -BuildRequires: python3-lit -%endif - -BuildRequires: python3-sphinx -BuildRequires: libatomic - -# We need python3-devel for pathfix.py. -BuildRequires: python3-devel - -# Needed for %%multilib_fix_c_header -BuildRequires: multilib-rpm-config - -# scan-build uses these perl modules so they need to be installed in order -# to run the tests. -BuildRequires: perl(Digest::MD5) -BuildRequires: perl(File::Copy) -BuildRequires: perl(File::Find) -BuildRequires: perl(File::Path) -BuildRequires: perl(File::Temp) -BuildRequires: perl(FindBin) -BuildRequires: perl(Hash::Util) -BuildRequires: perl(lib) -BuildRequires: perl(Term::ANSIColor) -BuildRequires: perl(Text::ParseWords) -BuildRequires: perl(Sys::Hostname) - -Requires: %{name}-libs%{?_isa} = %{version}-%{release} - -# clang requires gcc, clang++ requires libstdc++-devel -# - https://bugzilla.redhat.com/show_bug.cgi?id=1021645 -# - https://bugzilla.redhat.com/show_bug.cgi?id=1158594 -Requires: libstdc++-devel -Requires: gcc-c++ +Requires: libstdc++-devel gcc-c++ emacs-filesystem +Requires: %{name}-resource-filesystem = %{version} Provides: clang(major) = %{maj_ver} +Provides: %{name}-libs = %{version}-%{release} +Obsoletes: %{name}-libs < %{version}-%{release} +Recommends: libomp = %{version} +Recommends: compiler-rt = %{version} -Conflicts: compiler-rt < %{version} -Conflicts: compiler-rt > %{version} +Conflicts: compiler-rt < %{version} +Conflicts: compiler-rt > %{version} %description -clang: noun - 1. A loud, resonant, metallic sound. - 2. The strident call of a crane or goose. - 3. C-language family front-end toolkit. - -The goal of the Clang project is to create a new C, C++, Objective C -and Objective C++ front-end for the LLVM compiler. Its tools are built -as libraries and designed to be loosely-coupled and extensible. - -%package libs -Summary: Runtime library for clang -Recommends: compiler-rt%{?_isa} = %{version} -# libomp-devel is required, so clang can find the omp.h header when compiling -# with -fopenmp. -Recommends: libomp-devel%{_isa} = %{version} -Recommends: libomp%{_isa} = %{version} - -%description libs -Runtime library for clang. +The Clang project provides a language front-end and tooling infrastructure for\ +languages in the C language family (C, C++, Objective C/C++, OpenCL, CUDA, and\ +RenderScript) for the LLVM project. Both a GCC-compatible compiler driver (clang)\ +and an MSVC-compatible compiler driver (clang-cl.exe) are provided.\ %package devel -Summary: Development header files for clang -%if !0%{?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 +Summary: Development header files for clang. +Requires: %{name} = %{version}-%{release} +Requires: %{name}-tools-extra = %{version}-%{release} %description devel Development header files for clang. -%if !0%{?compat_build} +%package resource-filesystem +Summary: Filesystem package that owns the clang resource directory +Provides: %{name}-resource-filesystem(major) = %{maj_ver} + +%description resource-filesystem +This package owns the clang resouce directory: $libdir/clang/$version/ + +%package help +Summary: Help manual for %{name} + +%description help +The %{name}-help package conatins man manual etc + %package analyzer Summary: A source code analysis framework License: NCSA and MIT BuildArch: noarch Requires: %{name} = %{version}-%{release} +Requires: python3 %description analyzer The Clang Static Analyzer consists of both a source code analysis @@ -203,115 +75,58 @@ intended to run in tandem with a build of a project or code base. %package tools-extra Summary: Extra tools for clang -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} Requires: emacs-filesystem %description tools-extra A set of extra tools built using Clang's tooling API. -# 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. %package -n git-clang-format -Summary: Integration of clang-format for git -Requires: %{name}-tools-extra = %{version}-%{release} +Summary: clang-format integration for git +Requires: %{name} = %{version}-%{release} Requires: git -Requires: python3 %description -n git-clang-format clang-format integration for git. - -%package -n python3-clang -Summary: Python3 bindings for clang -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: python3 -%description -n python3-clang -%{summary}. - - -%endif - - %prep -%if 0%{?compat_build} -%autosetup -n %{clang_srcdir} -p1 -%else %setup -T -q -b 1 -n %{clang_tools_srcdir} - - pathfix.py -i %{__python3} -pn \ - clang-tidy/tool/*.py \ - clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py - -%setup -q -n %{clang_srcdir} - -%patch4 -p1 -b .gtest -%patch11 -p1 -b .libcxx-fix -%patch13 -p2 -b .unwind-all -%patch15 -p2 -b .no-install-static -%patch16 -p2 -b .test-fix2 -%patch17 -p1 -b .check-gcc_s - -mv ../%{clang_tools_srcdir} tools/extra + clang-tidy/tool/*.py +%autosetup -n %{clang_srcdir} -p1 -Sgit pathfix.py -i %{__python3} -pn \ tools/clang-format/*.py \ tools/clang-format/git-clang-format \ utils/hmaptool/hmaptool \ tools/scan-view/bin/scan-view -%endif +mv ../%{clang_tools_srcdir} tools/extra %build -%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 -%endif - mkdir -p _build cd _build -%ifarch s390 s390x %{arm} %ix86 ppc64le -# Decrease debuginfo verbosity to reduce memory consumption during final library linking + %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif -# -DCMAKE_INSTALL_RPATH=";" is a workaround for llvm manually setting the -# rpath of libraries and binaries. llvm will skip the manual setting -# if CAMKE_INSTALL_RPATH is set to a value, but cmake interprets this value -# as nothing, so it sets the rpath to "" when installing. -%cmake .. -G Ninja \ - -DLLVM_PARALLEL_LINK_JOBS=1 \ + +%cmake .. \ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DPYTHON_EXECUTABLE=%{__python3} \ -DCMAKE_INSTALL_RPATH:BOOL=";" \ -%ifarch s390 s390x %{arm} %ix86 ppc64le -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ -%endif -%if 0%{?compat_build} - -DLLVM_CONFIG:FILEPATH=%{_bindir}/llvm-config-%{maj_ver}.%{min_ver}-%{__isa_bits} \ - -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ - -DCLANG_INCLUDE_TESTS:BOOL=OFF \ -%else + -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ -DCLANG_INCLUDE_TESTS:BOOL=ON \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \ %if 0%{?__isa_bits} == 64 - -DLLVM_LIBDIR_SUFFIX=64 \ + -DLLVM_LIBDIR_SUFFIX=64 \ %else - -DLLVM_LIBDIR_SUFFIX= \ -%endif + -DLLVM_LIBDIR_SUFFIX= \ %endif \ -%if !0%{compat_build} - -DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \ -%else - -DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen-%{maj_ver}.%{min_ver} \ -%endif -DCLANG_ENABLE_ARCMT:BOOL=ON \ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \ -DCLANG_INCLUDE_DOCS:BOOL=ON \ @@ -321,135 +136,101 @@ cd _build -DLLVM_ENABLE_RTTI=ON \ -DLLVM_BUILD_DOCS=ON \ -DLLVM_ENABLE_SPHINX=ON \ - -DCLANG_LINK_CLANG_DYLIB=ON \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ \ -DCLANG_BUILD_EXAMPLES:BOOL=OFF \ - -DBUILD_SHARED_LIBS=OFF \ - -DCLANG_REPOSITORY_STRING="%{?fedora:Fedora}%{?rhel:Red Hat} %{version}-%{release}" + -DCLANG_REPOSITORY_STRING="%{_vendor} %{version}-%{release}" \ + -DLIB_SUFFIX= -%ninja_build -l 8 +%make_build %install -%ninja_install -C _build - -%if 0%{?compat_build} - -# Remove binaries/other files -rm -Rf %{buildroot}%{install_bindir} -rm -Rf %{buildroot}%{install_prefix}/share -rm -Rf %{buildroot}%{install_prefix}/libexec - -# Move include files -mkdir -p %{buildroot}%{pkg_includedir} -mv %{buildroot}/%{install_includedir}/clang %{buildroot}/%{pkg_includedir}/ -mv %{buildroot}/%{install_includedir}/clang-c %{buildroot}/%{pkg_includedir}/ - -%else +%make_install -C _build -# install clang python bindings -mkdir -p %{buildroot}%{python3_sitelib}/clang/ -install -p -m644 bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/ -%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/clang +mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h +install -m 0644 %{SOURCE2} %{buildroot}%{_includedir}/clang/Config/config.h -# multilib fix -%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h - -# Move emacs integration files to the correct directory mkdir -p %{buildroot}%{_emacs_sitestartdir} for f in clang-format.el clang-rename.el clang-include-fixer.el; do mv %{buildroot}{%{_datadir}/clang,%{_emacs_sitestartdir}}/$f done -# remove editor integrations (bbedit, sublime, emacs, vim) rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py* -# TODO: Package html docs rm -Rvf %{buildroot}%{_pkgdocdir} -rm -Rvf %{buildroot}%{install_prefix}/share/clang/clang-doc-default-stylesheet.css -rm -Rvf %{buildroot}%{install_prefix}/share/clang/index.js -# TODO: What are the Fedora guidelines for packaging bash autocomplete files? rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh -# Create Manpage symlinks -ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++.1.gz -ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang-%{maj_ver}.1.gz -ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++-%{maj_ver}.1.gz - -# Add clang++-{version} symlink -ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver} - - -# Fix permission -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}%{_libdir}/clang/%{version}/{include,lib,share}/ -# create a link to clang's resource directory that is "constant" across minor -# version bumps -# this is required for packages like ccls that hardcode the link to clang's -# resource directory to not require rebuilds on minor version bumps -# Fix for bugs like rhbz#1807574 -pushd %{buildroot}%{_libdir}/clang/ -ln -s %{version} %{maj_ver} -popd - -%endif - -# Remove clang-tidy headers. We don't ship the libraries for these. +# Remove clang-tidy headers. rm -Rvf %{buildroot}%{_includedir}/clang-tidy/ +ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver} + %check -%if !0%{?compat_build} -# requires lit.py from LLVM utilities -# FIXME: Fix failing ARM tests, s390x i686 and ppc64le tests -# FIXME: Ignore test failures until rhbz#1715016 is fixed. -%if 0%{?enable_test_pkg} -LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \ -%endif -%ifarch s390x i686 ppc64le %{arm} -: -%else -: -%endif +# Checking is disabled because we don't pack libLLVMTestingSupport.a, which makes +# standalone build of clang impossible. -%endif +#cd _build +#PATH=%{_libdir}/llvm:$PATH make %{?_smp_mflags} check-clang || \ +#%ifarch %{arm} +#: +#%else +#false +#%endif +%post +/sbin/ldconfig -%if !0%{?compat_build} -%files -%license LICENSE.TXT -%{clang_binaries} -%{_mandir}/man1/clang.1.gz -%{_mandir}/man1/clang++.1.gz -%{_mandir}/man1/clang-%{maj_ver}.1.gz -%{_mandir}/man1/clang++-%{maj_ver}.1.gz -%endif +%postun +/sbin/ldconfig -%files libs -%if !0%{?compat_build} +%files +%{_bindir}/clang +%{_bindir}/clang++ +%{_bindir}/clang-%{maj_ver} +%{_bindir}/clang++-%{maj_ver} +%{_bindir}/clang-check +%{_bindir}/clang-cl +%{_bindir}/clang-cpp +%{_bindir}/clang-format +%{_bindir}/clang-doc +%{_bindir}/clang-extdef-mapping +%{_bindir}/clang-move +%{_bindir}/clang-offload-wrapper +%{_bindir}/clang-scan-deps +%{_bindir}/pp-trace +%{_bindir}/clang-offload-bundler +%{_bindir}/diagtool +%{_bindir}/hmaptool +%{_bindir}/c-index-test +%{_emacs_sitestartdir}/clang-format.el +%{_datadir}/clang/clang-format.py* +%{_datadir}/clang/clang-format-diff.py* %{_libdir}/clang/ %{_libdir}/*.so.* -%else -%{pkg_libdir}/*.so.* -%{pkg_libdir}/clang/%{version} -%endif %files devel -%if !0%{?compat_build} %{_libdir}/*.so %{_includedir}/clang/ %{_includedir}/clang-c/ %{_libdir}/cmake/* %dir %{_datadir}/clang/ -%else -%{pkg_libdir}/*.so -%{pkg_includedir}/clang/ -%{pkg_includedir}/clang-c/ -%{pkg_libdir}/cmake/ -%endif -%if !0%{?compat_build} +%files resource-filesystem +%dir %{_libdir}/clang/%{version}/ +%dir %{_libdir}/clang/%{version}/include/ +%dir %{_libdir}/clang/%{version}/lib/ +%dir %{_libdir}/clang/%{version}/share/ + +%files help +%{_mandir}/man1/clang.1.gz +%{_mandir}/man1/diagtool.1.gz + %files analyzer %{_bindir}/scan-view %{_bindir}/scan-build @@ -460,245 +241,64 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \ %{_mandir}/man1/scan-build.1.* %files tools-extra -%{clang_tools_binaries} -%{_bindir}/c-index-test +%{_bindir}/clangd +%{_bindir}/clang-apply-replacements +%{_bindir}/clang-change-namespace +%{_bindir}/clang-include-fixer +%{_bindir}/clang-query +%{_bindir}/clang-refactor +%{_bindir}/clang-reorder-fields +%{_bindir}/clang-rename +%{_bindir}/clang-tidy %{_bindir}/find-all-symbols %{_bindir}/modularize -%{_mandir}/man1/diagtool.1.gz -%{_emacs_sitestartdir}/clang-format.el %{_emacs_sitestartdir}/clang-rename.el %{_emacs_sitestartdir}/clang-include-fixer.el -%{_datadir}/clang/clang-format.py* -%{_datadir}/clang/clang-format-diff.py* %{_datadir}/clang/clang-include-fixer.py* %{_datadir}/clang/clang-tidy-diff.py* %{_datadir}/clang/run-clang-tidy.py* %{_datadir}/clang/run-find-all-symbols.py* %{_datadir}/clang/clang-rename.py* +%{_datadir}/clang/index.js +%{_datadir}/clang/clang-doc-default-stylesheet.css %files -n git-clang-format %{_bindir}/git-clang-format -%files -n python3-clang -%{python3_sitelib}/clang/ - - -%endif %changelog -* Fri Mar 25 2022 - 11.0.0-2 -- 11.0.0 loongarch64 - -* Thu Oct 29 2020 sguelton@redhat.com - 11.0.0-1 -- 11.0.0 final release - -* Thu Sep 17 2020 sguelton@redhat.com - 11.0.0-0.1.rc2 -- 11.0.0-rc2 Release - -* Fri Jul 24 2020 sguelton@redhat.com - 10.0.1-1 -- 10.0.1 release - -* Thu Apr 9 2020 sguelton@redhat.com - 10.0.0-1 -- 10.0.0 final - -* Fri Jan 10 2020 Tom Stellard - 9.0.1-2 -- Fix crash with kernel bpf self-tests - -* Thu Dec 19 2019 Tom Stellard - 9.0.1-1 -- 9.0.1 Release - -* Fri Nov 15 2019 Tom Stellard - 9.0.0-5 -- Fix typo from previous patch: move clang-libs dep to correct sub-package - -* Thu Nov 14 2019 Tom Stellard - 9.0.0-4 -- Add explicit requires for clang-libs to fix rpmdiff errors - -* Wed Oct 02 2019 Tom Stellard - 9.0.0-3 -- Limit build to 8 threads to avoid OOM on x86_64 - -* Wed Oct 02 2019 Tom Stellard - 9.0.0-2 -- Disable CLANG_LINK_CLANG_DYLIB - -* Fri Sep 27 2019 Tom Stellard - 9.0.0-1 -- 9.0.0 Release - -* Thu Aug 1 2019 sguelton@redhat.com - 8.0.1-1 -- 8.0.1 Release - -* Thu Jun 13 2019 sguelton@redhat.com - 8.0.1-0.1.rc2 -- 8.0.1rc2 Release - -* Thu Apr 11 2019 sguelton@redhat.com - 8.0.0-1 -- 8.0.0 Release - -* Fri Dec 14 2018 Tom Stellard - 7.0.1-1 -- 7.0.1-1 Release - -* Mon Dec 10 2018 Tom Stellard - 7.0.1-0.1.rc3 -- 7.0.1-rc3 Release - -* Mon Nov 05 2018 Tom Stellard - 6.0.1-12 -- User helper macro to fixup config.h for multilib - -* Sat Oct 27 2018 Tom Stellard - 6.0.1-11 -- Enable make check - -* Mon Oct 15 2018 Tom Stellard - 6.0.1-10 -- Remove Provides: llvm-toolset-6.0-clang-libs - -* Fri Oct 12 2018 Tom Stellard - 6.0.1-9 -- Add Provides: llvm-toolset-6.0-clang-libs - -* Tue Oct 02 2018 Tom Stellard - 6.0.1-8 -- Don't use python2 for the build - -* Mon Oct 01 2018 Tom Stellard - 6.0.1-7 -- Drop scl macros - -* Tue Sep 25 2018 Tomas Orsava - 6.0.1-6 -- Change Requires from python3 to platform-python -- The python3 package was renamed to platform-python -- Related: rhbz#1619153 - -* Fri Sep 14 2018 Tom Stellard - 6.0.1-5 -- Use python3 for git-clang-format - -* Thu Sep 13 2018 Tom Stellard - 6.0.1-4 -- Fix python dependencies - -* Tue Aug 07 2018 Tom Stellard - 6.0.1-3 -- Install ld.so.conf file in the root filesystem - -* Thu Aug 02 2018 Tom Stellard - 6.0.1-2 -- Remove annobin work-around - -* Wed Jul 11 2018 Tom Stellard - 6.0.1-1 -- 6.0.1 Release - -* Wed Apr 11 2018 Tom Stellard - 5.0.1-7 -- Add conditionals to enable building only the clang-libs package - -* Fri Apr 06 2018 Tom Stellard - 5.0.1-6 -- Use cmake from base RHEL - -* Mon Mar 19 2018 Tom Stellard - 5.0.1-5 -- Backport r310435 from clang trunk. rhbz#1558223 - -* Mon Mar 19 2018 Tom Stellard - 5.0.1-4 -- Use system gcc instead of dts. - -* Tue Feb 06 2018 Tom Stellard - 5.0.1-3 -- Backport retpoline support - -* Sat Jan 20 2018 Tom Stellard - 5.0.1-2 -- Limit number of build threads on ppc64le to avoid OOM errors - -* Tue Jan 09 2018 Tom Stellard - 5.0.1-1 -- 5.0.1 Release - -* Wed Jun 21 2017 Tom Stellard - 4.0.1-1 -- 4.0.1 Release. - -* Wed Jun 21 2017 Tom Stellard - 4.0.0-15 -- Fix Requires for clang-tools-extra - -* Wed Jun 21 2017 Tom Stellard - 4.0.0-13 -- Drop libomp dependency on s390x - -* Thu Jun 15 2017 Tom Stellard - 4.0.0-12 -- Use libstdc++ from devtoolset-7 - -* Wed Jun 07 2017 Tom Stellard - 4.0.0-11 -- Fix libomp requires - -* Wed Jun 07 2017 Tom Stellard - 4.0.0-10 -- Build for llvm-toolset-7 rename - -* Tue May 30 2017 Tom Stellard - 4.0.0-9 -- Use ld from devtoolset in clang toolchain - -* Mon May 29 2017 Tom Stellard - 4.0.0-8 -- Add dependency on libopenmp - -* Thu May 25 2017 Tom Stellard - 4.0.0-7 -- Fix check for gcc install - -* Wed May 24 2017 Tom Stellard - 4.0.0-6 -- Add devtoolset-6 dependency for newer libstdc++ - -* Fri May 12 2017 Tom Stellard - 4.0.0-5 -- Add dependency on compiler-rt - -* Tue May 02 2017 Tom Stellard -- Fix dependencies with scl - -* Mon May 01 2017 Tom Stellard - 4.0.0-4 -- Build with llvm-toolset-4 - -* Mon Mar 27 2017 Tom Stellard - 4.0.0-3 -- Enable eh/rtti, which are required by lldb. - -* Fri Mar 24 2017 Tom Stellard - 4.0.0-2 -- Fix clang-tools-extra build -- Fix install - -* Thu Mar 23 2017 Tom Stellard - 4.0.0-1 -- clang 4.0.0 final release - -* Mon Mar 20 2017 David Goerger - 3.9.1-3 -- add clang-tools-extra rhbz#1328091 - -* Thu Mar 16 2017 Tom Stellard - 3.9.1-2 -- Enable build-id by default rhbz#1432403 - -* Thu Mar 02 2017 Dave Airlie - 3.9.1-1 -- clang 3.9.1 final release - -* Fri Feb 10 2017 Fedora Release Engineering - 3.9.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Nov 14 2016 Nathaniel McCallum - 3.9.0-3 -- Add Requires: compiler-rt to clang-libs. -- Without this, compiling with certain CFLAGS breaks. - -* Tue Nov 1 2016 Peter Robinson 3.9.0-2 -- Rebuild for new arches - -* Fri Oct 14 2016 Dave Airlie - 3.9.0-1 -- clang 3.9.0 final release +* Wed Dec 29 2021 panxiaohe - 12.0.1-1 +- update to 12.0.1 +- add clang-resource-filesystem sub-package -* Fri Jul 01 2016 Stephan Bergmann - 3.8.0-2 -- Resolves: rhbz#1282645 add GCC abi_tag support +* Tue Sep 07 2021 chenchen - 10.0.1-5 +- del rpath from some binaries and bin -* Thu Mar 10 2016 Dave Airlie 3.8.0-1 -- clang 3.8.0 final release +* Fri Apr 30 2021 licihua - 10.0.1-4 +- Reduce build time. -* Thu Mar 03 2016 Dave Airlie 3.8.0-0.4 -- clang 3.8.0rc3 +* Thu Apr 29 2021 licihua - 10.0.1-3 +- Reduce debuginfo verbosity. -* Wed Feb 24 2016 Dave Airlie - 3.8.0-0.3 -- package all libs into clang-libs. +* Thu Feb 18 2021 zhangjiapeng - 10.0.1-2 +- Modify the dependency to python3 -* Wed Feb 24 2016 Dave Airlie 3.8.0-0.2 -- enable dynamic linking of clang against llvm +* Fri Sep 25 2020 zhangjiapeng - 10.0.1-1 +- Delete low version dynamic library -* Thu Feb 18 2016 Dave Airlie - 3.8.0-0.1 -- clang 3.8.0rc2 +* Thu Jul 30 2020 Guoshuai Sun - 10.0.1-0 +- Upgrade to 10.0.1 -* Fri Feb 12 2016 Dave Airlie 3.7.1-4 -- rebuild against latest llvm packages -- add BuildRequires llvm-static +* Thu May 28 2020 leiju - 7.0.0-7 +- Fix uninitialized value in ABIArgInfo -* Wed Feb 03 2016 Fedora Release Engineering - 3.7.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild +* Fri Apr 03 2020 zhouyihang - 7.0.0-6 +- Remove useless scriptlet -* Thu Jan 28 2016 Dave Airlie 3.7.1-2 -- just accept clang includes moving to /usr/lib64, upstream don't let much else happen +* Thu Feb 20 2020 openEuler Buildteam - 7.0.0-5 +- Add buildrequire compiler-rt -* Thu Jan 28 2016 Dave Airlie 3.7.1-1 -- initial build in Fedora. +* Tue Dec 17 2019 openEuler Buildteam - 7.0.0-4 +- Delete redundant info -* Tue Oct 06 2015 Jan Vcelak 3.7.0-100 -- initial version using cmake build system +* Mon Dec 9 2019 openEuler Buildteam - 7.0.0-3 +- Package init diff --git a/clang.yaml b/clang.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7d98bd835f0acc97da741f20f900a6ebae1512c5 --- /dev/null +++ b/clang.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: llvm/llvm-project +tag_prefix: ^llvmorg- +seperator: .