Compare commits
No commits in common. "c8-stream-rhel8" and "c10s" have entirely different histories.
c8-stream-
...
c10s
@ -1,4 +0,0 @@
|
||||
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
|
17
.copr/Makefile
Normal file
17
.copr/Makefile
Normal file
@ -0,0 +1,17 @@
|
||||
# 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
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
9
.gitignore
vendored
9
.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
SOURCES/clang-18.1.8.src.tar.xz
|
||||
SOURCES/clang-18.1.8.src.tar.xz.sig
|
||||
SOURCES/clang-tools-extra-18.1.8.src.tar.xz
|
||||
SOURCES/clang-tools-extra-18.1.8.src.tar.xz.sig
|
||||
/*.src.rpm
|
||||
/*.src.tar.xz
|
||||
/*.src.tar.xz.sig
|
||||
/cmake/
|
||||
/results_clang/
|
||||
|
@ -0,0 +1,92 @@
|
||||
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
|
||||
|
@ -0,0 +1,39 @@
|
||||
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
|
||||
|
@ -1,3 +0,0 @@
|
||||
# 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
1028
SPECS/clang.spec
File diff suppressed because it is too large
Load Diff
6
clang.rpmlintrc
Normal file
6
clang.rpmlintrc
Normal file
@ -0,0 +1,6 @@
|
||||
# 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
Normal file
1596
clang.spec
Normal file
File diff suppressed because it is too large
Load Diff
20
gating.yaml
Normal file
20
gating.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
--- !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
Normal file
4
sources
Normal file
@ -0,0 +1,4 @@
|
||||
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
|
6
tests/README.md
Normal file
6
tests/README.md
Normal file
@ -0,0 +1,6 @@
|
||||
# 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
|
70
tests/build-gating.fmf
Normal file
70
tests/build-gating.fmf
Normal file
@ -0,0 +1,70 @@
|
||||
#
|
||||
# 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