Compare commits
No commits in common. "c10s" and "c8-stream-rhel8" have entirely different histories.
c10s
...
c8-stream-
4
.clang.metadata
Normal file
4
.clang.metadata
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
581e929ba0d9fafc555081ab18d8c3fdf4478ac2 SOURCES/clang-18.1.8.src.tar.xz
|
||||||
|
b943c2de0e134d652018e819e855eff0213a20ac SOURCES/clang-18.1.8.src.tar.xz.sig
|
||||||
|
32923b812700526b76451384e4662ca45360d564 SOURCES/clang-tools-extra-18.1.8.src.tar.xz
|
||||||
|
1dc8e1c7e5b2ffc76a1010b50eb3fb47642b4e74 SOURCES/clang-tools-extra-18.1.8.src.tar.xz.sig
|
||||||
@ -1,17 +0,0 @@
|
|||||||
# See https://docs.pagure.org/copr.copr/user_documentation.html#make-srpm
|
|
||||||
# See for the --setopt option in the enabling of copr repo see:
|
|
||||||
# https://pagure.io/copr/copr/issue/184
|
|
||||||
|
|
||||||
COPR_USERNAME=$(shell rpm --eval %copr_username)
|
|
||||||
COPR_PROJECT=$(shell rpm --eval %copr_projectname)
|
|
||||||
|
|
||||||
.PHONY: srpm
|
|
||||||
srpm:
|
|
||||||
dnf install -y dnf-plugins-core fedora-packager
|
|
||||||
dnf copr enable -y --setopt=reposdir=/tmp/yum.repos.d $(COPR_USERNAME)/$(COPR_PROJECT)
|
|
||||||
dnf install -y --setopt=reposdir=/tmp/yum.repos.d llvm-snapshot-builder
|
|
||||||
rpmbuild \
|
|
||||||
--define "_srcrpmdir $(outdir)" \
|
|
||||||
--define "_sourcedir $(shell pwd)" \
|
|
||||||
--define "_disable_source_fetch 0" \
|
|
||||||
-bs $(spec)
|
|
||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
9
.gitignore
vendored
9
.gitignore
vendored
@ -1,5 +1,4 @@
|
|||||||
/*.src.rpm
|
SOURCES/clang-18.1.8.src.tar.xz
|
||||||
/*.src.tar.xz
|
SOURCES/clang-18.1.8.src.tar.xz.sig
|
||||||
/*.src.tar.xz.sig
|
SOURCES/clang-tools-extra-18.1.8.src.tar.xz
|
||||||
/cmake/
|
SOURCES/clang-tools-extra-18.1.8.src.tar.xz.sig
|
||||||
/results_clang/
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
From ba9cfbe8e1d034d823dabf1c76d270fce8085f1b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Thu, 9 Mar 2023 21:52:41 -0800
|
|
||||||
Subject: [PATCH] Restore -fopenmp-implicit-rpath, disabled by default
|
|
||||||
|
|
||||||
Used by redhat-rpm-config on older Fedora versions.
|
|
||||||
---
|
|
||||||
clang/include/clang/Driver/Options.td | 6 ++++++
|
|
||||||
clang/lib/Driver/ToolChains/CommonArgs.cpp | 19 +++++++++++++++++++
|
|
||||||
clang/lib/Driver/ToolChains/CommonArgs.h | 3 +++
|
|
||||||
clang/test/OpenMP/Inputs/libomp.a | 1 +
|
|
||||||
4 files changed, 29 insertions(+)
|
|
||||||
create mode 100644 clang/test/OpenMP/Inputs/libomp.a
|
|
||||||
|
|
||||||
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
|
|
||||||
index 31ecf98b806b..46aa49e1d0d1 100644
|
|
||||||
--- a/clang/include/clang/Driver/Options.td
|
|
||||||
+++ b/clang/include/clang/Driver/Options.td
|
|
||||||
@@ -5194,6 +5194,12 @@ def offload_add_rpath: Flag<["--"], "offload-add-rpath">,
|
|
||||||
def no_offload_add_rpath: Flag<["--"], "no-offload-add-rpath">,
|
|
||||||
Flags<[NoArgumentUnused]>,
|
|
||||||
Alias<frtlib_add_rpath>;
|
|
||||||
+defm openmp_implicit_rpath: BoolFOption<"openmp-implicit-rpath",
|
|
||||||
+ LangOpts<"OpenMP">,
|
|
||||||
+ DefaultFalse,
|
|
||||||
+ PosFlag<SetTrue, [], [ClangOption], "Set rpath on OpenMP executables">,
|
|
||||||
+ NegFlag<SetFalse>,
|
|
||||||
+ BothFlags<[NoArgumentUnused]>>;
|
|
||||||
def r : Flag<["-"], "r">, Flags<[LinkerInput, NoArgumentUnused]>,
|
|
||||||
Group<Link_Group>;
|
|
||||||
def regcall4 : Flag<["-"], "regcall4">, Group<m_Group>,
|
|
||||||
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
|
|
||||||
index 483ecd0ae592..55c673460a2f 100644
|
|
||||||
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
|
|
||||||
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
|
|
||||||
@@ -889,6 +889,22 @@ static void addOpenMPDeviceLibC(const ToolChain &TC, const ArgList &Args,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+void tools::addOpenMPRuntimeSpecificRPath(const ToolChain &TC,
|
|
||||||
+ const ArgList &Args,
|
|
||||||
+ ArgStringList &CmdArgs) {
|
|
||||||
+
|
|
||||||
+ if (Args.hasFlag(options::OPT_fopenmp_implicit_rpath,
|
|
||||||
+ options::OPT_fno_openmp_implicit_rpath, false)) {
|
|
||||||
+ // Default to clang lib / lib64 folder, i.e. the same location as device
|
|
||||||
+ // runtime
|
|
||||||
+ SmallString<256> DefaultLibPath =
|
|
||||||
+ llvm::sys::path::parent_path(TC.getDriver().Dir);
|
|
||||||
+ llvm::sys::path::append(DefaultLibPath, CLANG_INSTALL_LIBDIR_BASENAME);
|
|
||||||
+ CmdArgs.push_back("-rpath");
|
|
||||||
+ CmdArgs.push_back(Args.MakeArgString(DefaultLibPath));
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void tools::addOpenMPRuntimeLibraryPath(const ToolChain &TC,
|
|
||||||
const ArgList &Args,
|
|
||||||
ArgStringList &CmdArgs) {
|
|
||||||
@@ -963,6 +979,9 @@ bool tools::addOpenMPRuntime(ArgStringList &CmdArgs, const ToolChain &TC,
|
|
||||||
addOpenMPDeviceLibC(TC, Args, CmdArgs);
|
|
||||||
|
|
||||||
addArchSpecificRPath(TC, Args, CmdArgs);
|
|
||||||
+
|
|
||||||
+ if (RTKind == Driver::OMPRT_OMP)
|
|
||||||
+ addOpenMPRuntimeSpecificRPath(TC, Args, CmdArgs);
|
|
||||||
addOpenMPRuntimeLibraryPath(TC, Args, CmdArgs);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.h b/clang/lib/Driver/ToolChains/CommonArgs.h
|
|
||||||
index 096152bfbdcf..7e8bf6b8830c 100644
|
|
||||||
--- a/clang/lib/Driver/ToolChains/CommonArgs.h
|
|
||||||
+++ b/clang/lib/Driver/ToolChains/CommonArgs.h
|
|
||||||
@@ -117,6 +117,9 @@ void AddAssemblerKPIC(const ToolChain &ToolChain,
|
|
||||||
const llvm::opt::ArgList &Args,
|
|
||||||
llvm::opt::ArgStringList &CmdArgs);
|
|
||||||
|
|
||||||
+void addOpenMPRuntimeSpecificRPath(const ToolChain &TC,
|
|
||||||
+ const llvm::opt::ArgList &Args,
|
|
||||||
+ llvm::opt::ArgStringList &CmdArgs);
|
|
||||||
void addArchSpecificRPath(const ToolChain &TC, const llvm::opt::ArgList &Args,
|
|
||||||
llvm::opt::ArgStringList &CmdArgs);
|
|
||||||
void addOpenMPRuntimeLibraryPath(const ToolChain &TC,
|
|
||||||
diff --git a/clang/test/OpenMP/Inputs/libomp.a b/clang/test/OpenMP/Inputs/libomp.a
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..8b277f0dd5dc
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/clang/test/OpenMP/Inputs/libomp.a
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+!<arch>
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
From 3dc5722d5c7673a879f2b4680369d3ac8b6b64b6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Wed, 4 Aug 2021 14:05:38 -0700
|
|
||||||
Subject: [PATCH] cmake: Allow shared libraries to customize the soname using
|
|
||||||
LLVM_ABI_REVISION
|
|
||||||
|
|
||||||
The LLVM_ABI_REVISION variable is intended to be used for release
|
|
||||||
candidates which introduce an ABI change to a shared library. This
|
|
||||||
variable can be specified per library, so there is not one global value
|
|
||||||
for all of LLVM.
|
|
||||||
|
|
||||||
For example, if we LLVM X.0.0-rc2 introduces an ABI change for a library
|
|
||||||
compared with LLVM X.0.0-rc1, then the LLVM_ABI_REVISION number for
|
|
||||||
library will be incremented by 1.
|
|
||||||
|
|
||||||
In the main branch, LLVM_ABI_REVISION should always be 0, it is only
|
|
||||||
meant to be used in the release branch.
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D105594
|
|
||||||
---
|
|
||||||
clang/tools/clang-shlib/CMakeLists.txt | 5 +++++
|
|
||||||
3 files changed, 19 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/clang/tools/clang-shlib/CMakeLists.txt b/clang/tools/clang-shlib/CMakeLists.txt
|
|
||||||
index 9c1f8ea452b3..4d785924e4bb 100644
|
|
||||||
--- a/clang/tools/clang-shlib/CMakeLists.txt
|
|
||||||
+++ b/clang/tools/clang-shlib/CMakeLists.txt
|
|
||||||
@@ -1,3 +1,8 @@
|
|
||||||
+# In the main branch, LLVM_ABI_REVISION should always be 0. In the release
|
|
||||||
+# branches, this should be incremented before each release candidate every
|
|
||||||
+# time the ABI of libclang-cpp.so changes.
|
|
||||||
+set(LLVM_ABI_REVISION 0)
|
|
||||||
+
|
|
||||||
# Building libclang-cpp.so fails if LLVM_ENABLE_PIC=Off
|
|
||||||
if (NOT LLVM_ENABLE_PIC)
|
|
||||||
return()
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
||||||
3
SOURCES/clang.cfg
Normal file
3
SOURCES/clang.cfg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Drop the following option after debugedit adds support to DWARF-5:
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=28728
|
||||||
|
-gdwarf-4 -g0
|
||||||
1028
SPECS/clang.spec
Normal file
1028
SPECS/clang.spec
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +0,0 @@
|
|||||||
# clang needs libstdc++-devel installed in order to compile c++ programs.
|
|
||||||
addFilter("E: devel-dependency libstdc\+\+-devel")
|
|
||||||
addFilter("E: explicit-lib-dependency libstdc\+\+-devel")
|
|
||||||
# clang installs libear to /usr/lib on all arches, so we have to use
|
|
||||||
# a hard-coded /usr/lib path in order to move it to the python3 sitelib.
|
|
||||||
addFilter("E: hardcoded-library-path in %{_prefix}/lib/{libear")
|
|
||||||
1596
clang.spec
1596
clang.spec
File diff suppressed because it is too large
Load Diff
20
gating.yaml
20
gating.yaml
@ -1,20 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- fedora-*
|
|
||||||
decision_context: bodhi_update_push_testing
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
|
||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- fedora-*
|
|
||||||
decision_context: bodhi_update_push_stable
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
|
||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-10
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier0-tmt-x86_64-aarch64.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier0-tmt-s390x-ppc64le.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation}
|
|
||||||
4
sources
4
sources
@ -1,4 +0,0 @@
|
|||||||
SHA512 (clang-18.1.8.src.tar.xz) = 4147ef5e3547e80fbea573a6e3964870b38e7a547e796deb8859ca670b039ddd1af289cd4feadcb4ab5e94211b2ab5e91dfa84f58f114fdcbc9e807c9de901ca
|
|
||||||
SHA512 (clang-18.1.8.src.tar.xz.sig) = ff8a12108d47a97c05d0a0cd4b4af278cc0f84601970a1560e4005f256b3304c6c5129bd67c8f5a387596b8bdd54ddda5066d9db7e9ecb4bcb0bfcd57d319c49
|
|
||||||
SHA512 (clang-tools-extra-18.1.8.src.tar.xz) = e6770875b1bfb3626de2e15133aa819669c889574134b7c22d30882717d0f400a73d2e0e881a2bd707e0b07bca5fcfd1d4a9e83b1101c7f15e4657782659b6fe
|
|
||||||
SHA512 (clang-tools-extra-18.1.8.src.tar.xz.sig) = 7730d2e34c1f65863cd1ba7d88c12e7997f645742be6c7271f5216876724837a450ff41d6225274266e4dace8c687c1af37d7115578829bf797c5724448bb174
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
# Gating testplans for Clang
|
|
||||||
|
|
||||||
The tests for clang are in a separate repo: https://src.fedoraproject.org/tests/clang
|
|
||||||
This directory should contain only fmf plans (such as build-gating.fmf) which import
|
|
||||||
the tests from the tests repo. This can be done using the "url" parameter of the
|
|
||||||
plan's "discover" step. Reference: https://tmt.readthedocs.io/en/stable/spec/plans.html#fmf
|
|
||||||
@ -1,70 +0,0 @@
|
|||||||
#
|
|
||||||
# Build/PR gating tests for *LLVM 13*
|
|
||||||
#
|
|
||||||
# Compatible with various LLVM 13 distributions:
|
|
||||||
#
|
|
||||||
# * Fedora (ursine packages)
|
|
||||||
# * Centos 9 stream (ursine packages)
|
|
||||||
# * RHEL-9 (ursine packages)
|
|
||||||
# * RHEL-8 (Red Hat module)
|
|
||||||
# * RHEL-7 (software collection)
|
|
||||||
#
|
|
||||||
|
|
||||||
summary: Clang tests for build/PR gating
|
|
||||||
adjust:
|
|
||||||
- because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR."
|
|
||||||
when: >-
|
|
||||||
trigger is defined
|
|
||||||
and trigger != commit
|
|
||||||
and trigger != build
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
- because: "When testing SCL-ized LLVM, the collection must be enabled first"
|
|
||||||
environment+:
|
|
||||||
WITH_SCL: "scl enable llvm-toolset-13.0"
|
|
||||||
when: "collection == llvm-toolset-13.0"
|
|
||||||
- because: "When testing SCL-ized LLVM, the collection must be enabled first"
|
|
||||||
environment+:
|
|
||||||
WITH_SCL: "scl enable llvm-toolset-14.0"
|
|
||||||
when: "collection == llvm-toolset-14.0"
|
|
||||||
|
|
||||||
# Unfortunately, TMT does not support more declarative approach, we need to run commands on our own.
|
|
||||||
- because: "On RHEL, CRB must be enabled to provide rarer packages"
|
|
||||||
prepare+:
|
|
||||||
- name: Enable CRB
|
|
||||||
how: shell
|
|
||||||
script: dnf config-manager --set-enabled rhel-CRB
|
|
||||||
when: >-
|
|
||||||
distro == rhel-9
|
|
||||||
or distro == rhel-8
|
|
||||||
|
|
||||||
# Unfortunately, TMT does not support more declarative approach, we need to run commands on our own.
|
|
||||||
- because: "On CentOS, CRB must be enabled to provide rarer packages"
|
|
||||||
prepare+:
|
|
||||||
- name: Enable CRB
|
|
||||||
how: shell
|
|
||||||
script: dnf config-manager --set-enabled crb
|
|
||||||
when: >-
|
|
||||||
distro == centos
|
|
||||||
|
|
||||||
discover:
|
|
||||||
- name: clang-tests
|
|
||||||
how: fmf
|
|
||||||
url: https://src.fedoraproject.org/tests/clang.git
|
|
||||||
ref: main
|
|
||||||
filter: "tag:-not-in-default"
|
|
||||||
- name: upstream-llvm-integration-testsuite
|
|
||||||
how: fmf
|
|
||||||
url: https://src.fedoraproject.org/tests/llvm.git
|
|
||||||
ref: main
|
|
||||||
test: integration-test-suite
|
|
||||||
- name: redhat-rpm-config
|
|
||||||
how: fmf
|
|
||||||
url: https://src.fedoraproject.org/rpms/redhat-rpm-config.git
|
|
||||||
ref: rawhide
|
|
||||||
test: brp-llvm-compile-lto-elf
|
|
||||||
execute:
|
|
||||||
how: tmt
|
|
||||||
provision:
|
|
||||||
hardware:
|
|
||||||
memory: ">= 4 GiB"
|
|
||||||
Loading…
Reference in New Issue
Block a user