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 new file mode 100644 index 0000000000000000000000000000000000000000..0050b40484235078ceb3b478b5864ed0ce14a58a --- /dev/null +++ b/0001-Driver-Prefer-gcc-toolchains-with-libgcc_s.so-when-n.patch @@ -0,0 +1,132 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..d9e912539203dea54b64e024461e3e9a49627953 --- /dev/null +++ b/0001-Make-funwind-tables-the-default-for-all-archs.patch @@ -0,0 +1,39 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..f4f0fa3d9430c3afd895dcb128b205525d504612 --- /dev/null +++ b/0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch @@ -0,0 +1,50 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..8c80dd3dea40c0d29745a2c474d95e07b4130035 --- /dev/null +++ b/0001-clang-Don-t-install-static-libraries.patch @@ -0,0 +1,25 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..07c45b60f13e5bfe22bf45875032d19bbbf72433 --- /dev/null +++ b/0001-clang-Fix-spurious-test-failure.patch @@ -0,0 +1,25 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..121ac4667c4185ac911d5701ac48fa1fbe5766a0 --- /dev/null +++ b/0002-gtest-reorg.patch @@ -0,0 +1,42 @@ +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 deleted file mode 100644 index 2de3e41700ab35644f61f3afc812ac462c5e58ac..0000000000000000000000000000000000000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# 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 deleted file mode 100644 index f5b5b7f00208741f453e43e3d8888be0d7727a20..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# 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-12.0.1.src.tar.xz b/clang-11.0.0.src.tar.xz similarity index 62% rename from clang-12.0.1.src.tar.xz rename to clang-11.0.0.src.tar.xz index 6eaa7e3aca193f2dd2d8afcb6ffc6282aacfc7c6..b92731ef246f556cda4e4d6d5f6de641bbf05cc2 100644 Binary files a/clang-12.0.1.src.tar.xz and b/clang-11.0.0.src.tar.xz differ diff --git a/clang-config.h b/clang-config.h deleted file mode 100644 index c369b4551f785da6e2c586417caa36591a9eaee2..0000000000000000000000000000000000000000 --- a/clang-config.h +++ /dev/null @@ -1,9 +0,0 @@ -#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 new file mode 100644 index 0000000000000000000000000000000000000000..464ff6045a4207bdccdfa35c6dc764128ced4d69 Binary files /dev/null and b/clang-tools-extra-11.0.0.src.tar.xz differ diff --git a/clang-tools-extra-12.0.1.src.tar.xz b/clang-tools-extra-12.0.1.src.tar.xz deleted file mode 100644 index 4fe27ad89b32eec9a0bf3a5abb90826388047e9b..0000000000000000000000000000000000000000 Binary files a/clang-tools-extra-12.0.1.src.tar.xz and /dev/null differ diff --git a/clang.spec b/clang.spec index 89a4cdee9ee8e3d51adbfec1133f0698781e4f6a..029be8d8f17b5c41cdc8a99a72270f2bb14c106f 100644 --- a/clang.spec +++ b/clang.spec @@ -1,71 +1,199 @@ -%global maj_ver 12 +%global compat_build 0 + +%global maj_ver 11 %global min_ver 0 -%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 +%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 URL: http://llvm.org -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 +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 -BuildRequires: cmake gcc-c++ python-sphinx git +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: llvm-devel = %{version} -BuildRequires: llvm-static = %{version} +%if 0%{?enable_test_pkg} +BuildRequires: llvm-test = %{version} BuildRequires: llvm-googletest = %{version} -BuildRequires: libxml2-devel perl-generators ncurses-devel emacs libatomic -BuildRequires: python3-lit python3-sphinx python3-devel +%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 +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 -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.\ +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. %package devel -Summary: Development header files for clang. -Requires: %{name} = %{version}-%{release} -Requires: %{name}-tools-extra = %{version}-%{release} +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 %description devel Development header files for clang. -%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 - +%if !0%{?compat_build} %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 @@ -75,58 +203,115 @@ 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 = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{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: clang-format integration for git -Requires: %{name} = %{version}-%{release} +Summary: Integration of clang-format for git +Requires: %{name}-tools-extra = %{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-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 -%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 -mv ../%{clang_tools_srcdir} tools/extra +%endif %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 - -%cmake .. \ +# -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 \ -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" \ - -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ +%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 -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= \ + -DLLVM_LIBDIR_SUFFIX= \ +%endif %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 \ @@ -136,101 +321,135 @@ 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 \ - -DCLANG_REPOSITORY_STRING="%{_vendor} %{version}-%{release}" \ - -DLIB_SUFFIX= + -DBUILD_SHARED_LIBS=OFF \ + -DCLANG_REPOSITORY_STRING="%{?fedora:Fedora}%{?rhel:Red Hat} %{version}-%{release}" -%make_build +%ninja_build -l 8 %install -%make_install -C _build +%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 -mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h -install -m 0644 %{SOURCE2} %{buildroot}%{_includedir}/clang/Config/config.h +# 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 +# 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 sub-directories in the clang resource directory that will be -# populated by other packages -mkdir -p %{buildroot}%{_libdir}/clang/%{version}/{include,lib,share}/ - -# Remove clang-tidy headers. -rm -Rvf %{buildroot}%{_includedir}/clang-tidy/ +# 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} -%check -# Checking is disabled because we don't pack libLLVMTestingSupport.a, which makes -# standalone build of clang impossible. -#cd _build -#PATH=%{_libdir}/llvm:$PATH make %{?_smp_mflags} check-clang || \ -#%ifarch %{arm} -#: -#%else -#false -#%endif +# Fix permission +chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1* + +# 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 -%post -/sbin/ldconfig +%endif -%postun -/sbin/ldconfig +# Remove clang-tidy headers. We don't ship the libraries for these. +rm -Rvf %{buildroot}%{_includedir}/clang-tidy/ +%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 + +%endif + + +%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* +%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 + +%files libs +%if !0%{?compat_build} %{_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 -%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 - +%if !0%{?compat_build} %files analyzer %{_bindir}/scan-view %{_bindir}/scan-build @@ -241,64 +460,245 @@ ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver} %{_mandir}/man1/scan-build.1.* %files tools-extra -%{_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 +%{clang_tools_binaries} +%{_bindir}/c-index-test %{_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 -* Wed Dec 29 2021 panxiaohe - 12.0.1-1 -- update to 12.0.1 -- add clang-resource-filesystem sub-package +* 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 -* Tue Sep 07 2021 chenchen - 10.0.1-5 -- del rpath from some binaries and bin +* Fri Jul 01 2016 Stephan Bergmann - 3.8.0-2 +- Resolves: rhbz#1282645 add GCC abi_tag support -* Fri Apr 30 2021 licihua - 10.0.1-4 -- Reduce build time. +* Thu Mar 10 2016 Dave Airlie 3.8.0-1 +- clang 3.8.0 final release -* Thu Apr 29 2021 licihua - 10.0.1-3 -- Reduce debuginfo verbosity. +* Thu Mar 03 2016 Dave Airlie 3.8.0-0.4 +- clang 3.8.0rc3 -* Thu Feb 18 2021 zhangjiapeng - 10.0.1-2 -- Modify the dependency to python3 +* Wed Feb 24 2016 Dave Airlie - 3.8.0-0.3 +- package all libs into clang-libs. -* Fri Sep 25 2020 zhangjiapeng - 10.0.1-1 -- Delete low version dynamic library +* Wed Feb 24 2016 Dave Airlie 3.8.0-0.2 +- enable dynamic linking of clang against llvm -* Thu Jul 30 2020 Guoshuai Sun - 10.0.1-0 -- Upgrade to 10.0.1 +* Thu Feb 18 2016 Dave Airlie - 3.8.0-0.1 +- clang 3.8.0rc2 -* Thu May 28 2020 leiju - 7.0.0-7 -- Fix uninitialized value in ABIArgInfo +* Fri Feb 12 2016 Dave Airlie 3.7.1-4 +- rebuild against latest llvm packages +- add BuildRequires llvm-static -* Fri Apr 03 2020 zhouyihang - 7.0.0-6 -- Remove useless scriptlet +* Wed Feb 03 2016 Fedora Release Engineering - 3.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild -* Thu Feb 20 2020 openEuler Buildteam - 7.0.0-5 -- Add buildrequire compiler-rt +* 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 -* Tue Dec 17 2019 openEuler Buildteam - 7.0.0-4 -- Delete redundant info +* Thu Jan 28 2016 Dave Airlie 3.7.1-1 +- initial build in Fedora. -* Mon Dec 9 2019 openEuler Buildteam - 7.0.0-3 -- Package init +* Tue Oct 06 2015 Jan Vcelak 3.7.0-100 +- initial version using cmake build system diff --git a/clang.yaml b/clang.yaml deleted file mode 100644 index 7d98bd835f0acc97da741f20f900a6ebae1512c5..0000000000000000000000000000000000000000 --- a/clang.yaml +++ /dev/null @@ -1,4 +0,0 @@ -version_control: github -src_repo: llvm/llvm-project -tag_prefix: ^llvmorg- -seperator: .