import clang-10.0.0-1.module+el8.3.0+6367+3467b552

This commit is contained in:
CentOS Sources 2020-07-28 08:31:34 -04:00 committed by Stepan Oksanichenko
parent 98ef3914b2
commit f8ff160bdb
9 changed files with 146 additions and 108 deletions

View File

@ -1,2 +1,3 @@
6977cf7a802a053c57fa74138d3648b563e71e88 SOURCES/cfe-9.0.0.src.tar.xz
ac64403321d8486699d8bea5376b2438663dbb41 SOURCES/clang-tools-extra-9.0.0.src.tar.xz
cfaa4c4e89a45b604e6f3057f984d73365074727 SOURCES/clang-10.0.0.src.tar.xz
e41467d4e8c6afe917c9f9c44b1d6a95a85adadb SOURCES/clang-tools-extra-10.0.0.src.tar.xz
32fa4b0193960f05064f2ab31b5a89c7cf48a0b9 SOURCES/hans-gpg-key.asc

5
.gitignore vendored
View File

@ -1,2 +1,3 @@
SOURCES/cfe-9.0.0.src.tar.xz
SOURCES/clang-tools-extra-9.0.0.src.tar.xz
SOURCES/clang-10.0.0.src.tar.xz
SOURCES/clang-tools-extra-10.0.0.src.tar.xz
SOURCES/hans-gpg-key.asc

View File

@ -1,27 +0,0 @@
From 20ffd5bc4e45980dc804c5fa422e5182cbc975b7 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Tue, 13 Aug 2019 13:38:40 -0700
Subject: [PATCH] Fix Driver/modules.cpp test to work when build directory name
contains '.s'
---
clang/test/Driver/modules.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/clang/test/Driver/modules.cpp b/clang/test/Driver/modules.cpp
index 7c549c1..9e06151 100644
--- a/clang/test/Driver/modules.cpp
+++ b/clang/test/Driver/modules.cpp
@@ -15,7 +15,8 @@
// RUN: %clang -std=c++2a %t/module.pcm -S -o %t/module.pcm.o -v 2>&1 | FileCheck %s --check-prefix=CHECK-COMPILE
//
// CHECK-COMPILE: -cc1 {{.*}} {{-emit-obj|-S}}
-// CHECK-COMPILE-SAME: -o {{.*}}.{{pcm.o|s}}
+// Check for extra space to avoid failures when the build directory contains '.s' in its path.
+// CHECK-COMPILE-SAME: -o {{.*}}.{{pcm.o|s}}{{ }}
// CHECK-COMPILE-SAME: -x pcm
// CHECK-COMPILE-SAME: {{.*}}.pcm
--
1.8.3.1

View File

@ -1,37 +0,0 @@
From bae24f2020f7dc9db372c7e3f38d77fc5fa320d0 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton@redhat.com>
Date: Fri, 1 Feb 2019 06:39:13 +0000
Subject: [PATCH] Fix uninitialized value in ABIArgInfo
GCC-9 takes advantage of this uninitialized values to optimize stuff,
which ends up in failing validation when compiling clang.
---
clang/include/clang/CodeGen/CGFunctionInfo.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/clang/include/clang/CodeGen/CGFunctionInfo.h b/clang/include/clang/CodeGen/CGFunctionInfo.h
index 1f81072..caf7105 100644
--- a/clang/include/clang/CodeGen/CGFunctionInfo.h
+++ b/clang/include/clang/CodeGen/CGFunctionInfo.h
@@ -110,13 +110,13 @@ private:
}
ABIArgInfo(Kind K)
- : TheKind(K), PaddingInReg(false), InReg(false) {
- }
+ : TypeData(nullptr), PaddingType(nullptr), DirectOffset(0),
+ TheKind(K), PaddingInReg(false), InAllocaSRet(false), IndirectByVal(false),
+ IndirectRealign(false), SRetAfterThis(false), InReg(false),
+ CanBeFlattened(false), SignExt(false) {}
public:
- ABIArgInfo()
- : TypeData(nullptr), PaddingType(nullptr), DirectOffset(0),
- TheKind(Direct), PaddingInReg(false), InReg(false) {}
+ ABIArgInfo() : ABIArgInfo(Direct) {}
static ABIArgInfo getDirect(llvm::Type *T = nullptr, unsigned Offset = 0,
llvm::Type *Padding = nullptr,
--
1.8.3.1

View File

@ -0,0 +1,39 @@
From 690373af5a5d50cf115ed6e4d2849bb786f9dc8e Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton@redhat.com>
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

View File

@ -0,0 +1,25 @@
From 856b789b9de0895786ba23681c4337172676e01e Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
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 cbd618e..9cf076a 100644
--- a/clang/cmake/modules/AddClang.cmake
+++ b/clang/cmake/modules/AddClang.cmake
@@ -97,7 +97,7 @@ macro(add_clang_library name)
if(TARGET ${name})
target_link_libraries(${name} 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(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
"clang-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
--
1.8.3.1

Binary file not shown.

Binary file not shown.

View File

@ -1,44 +1,41 @@
%global compat_build 0
%global maj_ver 9
%global maj_ver 10
%global min_ver 0
%global patch_ver 0
#%%global rc_ver 3
%global baserelease 5
#i686 disabled because llvm-test is not built for this target
# other targets disables because of failing tests
%ifnarch s390x i686 ppc64le %{arm}
%global enable_test_pkg 1
%endif
#%%global rc_ver 6
%global baserelease 1
%global clang_tools_binaries \
%{_bindir}/clangd \
%{_bindir}/clang-apply-replacements \
%{_bindir}/clang-change-namespace \
%{_bindir}/clang-check \
%{_bindir}/clang-doc \
%{_bindir}/clang-extdef-mapping \
%{_bindir}/clang-format \
%{_bindir}/clang-import-test \
%{_bindir}/clang-include-fixer \
%{_bindir}/clang-move \
%{_bindir}/clang-offload-bundler \
%{_bindir}/clang-offload-wrapper \
%{_bindir}/clang-query \
%{_bindir}/clang-refactor \
%{_bindir}/clang-reorder-fields \
%{_bindir}/clang-rename \
%{_bindir}/clang-tidy
%{_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-check \
%{_bindir}/clang-cl \
%{_bindir}/clang-cpp \
%{_bindir}/clang-extdef-mapping \
%{_bindir}/clang-format \
%{_bindir}/clang-import-test \
%{_bindir}/clang-offload-bundler \
%{_bindir}/clang-scan-deps \
%{_bindir}/diagtool \
%{_bindir}/hmaptool
%if 0%{?compat_build}
%global pkg_name clang%{maj_ver}.%{min_ver}
@ -66,11 +63,11 @@
%global build_install_prefix %{buildroot}%{install_prefix}
%ifarch ppc64le
# Too many threads on 32 core ppc64 systems causes OOM errors.
# Too many threads on ppc64 systems causes OOM errors.
%global _smp_mflags -j8
%endif
%global clang_srcdir cfe-%{version}%{?rc_ver:rc%{rc_ver}}.src
%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
@ -80,15 +77,33 @@ Summary: A C language family front-end for LLVM
License: NCSA
URL: http://llvm.org
Source0: http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/%{clang_srcdir}.tar.xz
%if !0%{?compat_build}
Source1: http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/%{clang_tools_srcdir}.tar.xz
%if 0%{?rc_ver:1}
Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_srcdir}.tar.xz
Source3: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_srcdir}.tar.xz.sig
%else
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_srcdir}.tar.xz
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_srcdir}.tar.xz.sig
%endif
%if !0%{?compat_build}
%if 0%{?rc_ver:1}
Source1: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_tools_srcdir}.tar.xz
Source2: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_tools_srcdir}.tar.xz.sig
%else
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_tools_srcdir}.tar.xz
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_tools_srcdir}.tar.xz.sig
%endif
%endif
Source4: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
Patch4: 0002-gtest-reorg.patch
Patch9: 0001-Fix-uninitialized-value-in-ABIArgInfo.patch
Patch11: 0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch
Patch12: 0001-Fix-Driver-modules.cpp-test-to-work-when-build-direc.patch
Patch13: 0001-Make-funwind-tables-the-default-for-all-archs.patch
### Fix crash with kernel bpf self-tests
##Patch14: 0001-BPF-annotate-DIType-metadata-for-builtin-preseve_arr.patch
# Not Upstream
Patch15: 0001-clang-Don-t-install-static-libraries.patch
BuildRequires: gcc
BuildRequires: gcc-c++
@ -143,6 +158,9 @@ Requires: emacs-filesystem
Provides: clang(major) = %{maj_ver}
Conflicts: compiler-rt < %{version}
Conflicts: compiler-rt > %{version}
%description
clang: noun
1. A loud, resonant, metallic sound.
@ -156,6 +174,9 @@ 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
@ -167,8 +188,8 @@ Summary: Development header files for clang
Requires: %{name}%{?_isa} = %{version}-%{release}
# The clang CMake files reference tools from clang-tools-extra.
Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
%endif
Requires: %{name}-libs = %{version}-%{release}
%endif
%description devel
Development header files for clang.
@ -199,14 +220,14 @@ A set of extra tools built using Clang's tooling API.
# just want clang.
%package -n git-clang-format
Summary: Integration of clang-format for git
Requires: %{name}%{?_isa} = %{version}-%{release}
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}
@ -232,9 +253,12 @@ pathfix.py -i %{__python3} -pn \
%setup -q -n %{clang_srcdir}
%patch4 -p1 -b .gtest
%patch9 -p2 -b .abi-arginfo
%patch11 -p1 -b .libcxx-fix
%patch12 -p2 -b .module-test-fix
%patch13 -p2 -b .unwind-all
%patch15 -p2 -b .no-install-static
#%patch14 -p2 -b .bpf-fix
mv ../%{clang_tools_srcdir} tools/extra
@ -272,8 +296,8 @@ cd _build
-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" \
-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} \
@ -304,10 +328,11 @@ cd _build
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_BUILD_DOCS=ON \
-DLLVM_ENABLE_SPHINX=ON \
-DCLANG_LINK_CLANG_DYLIB=OFF \
-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}"
%ninja_build -l 8
@ -349,6 +374,8 @@ 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
@ -387,15 +414,10 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
%if !0%{?compat_build}
%files
%{clang_binaries}
%{_bindir}/c-index-test
%{_mandir}/man1/clang.1.gz
%{_mandir}/man1/clang++.1.gz
%{_mandir}/man1/clang-%{maj_ver}.1.gz
%{_mandir}/man1/clang++-%{maj_ver}.1.gz
%{_mandir}/man1/diagtool.1.gz
%{_emacs_sitestartdir}/clang-format.el
%{_datadir}/clang/clang-format.py*
%{_datadir}/clang/clang-format-diff.py*
%endif
%files libs
@ -433,10 +455,15 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
%files tools-extra
%{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*
@ -451,6 +478,15 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
%endif
%changelog
* Thu Apr 9 2020 sguelton@redhat.com - 10.0.0-1
- 10.0.0 final
* Fri Jan 10 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-2
- Fix crash with kernel bpf self-tests
* Thu Dec 19 2019 Tom Stellard <tstellar@redhat.com> - 9.0.1-1
- 9.0.1 Release
* Fri Nov 15 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-5
- Fix typo from previous patch: move clang-libs dep to correct sub-package