Compare commits
154 Commits
Author | SHA1 | Date |
---|---|---|
Nikita Popov | 18b4d8f638 | |
Nikita Popov | 2c7a3e0165 | |
Nikita Popov | 8bfa8f339d | |
Nikita Popov | 7932c290b2 | |
sergesanspaille | a3f820cee2 | |
Nikita Popov | 2b8dcb4dbf | |
Tom Stellard | 2efd3e3d10 | |
Amit Shah | 4bdb1778ec | |
Jesus Checa Hidalgo | 718bd7a127 | |
Fedora Release Engineering | 0ca250eb5b | |
Miro Hrončok | e26357988c | |
Timm Bäder | a679a440e9 | |
Timm Bäder | ec23c296ca | |
Python Maint | 561ebf3c43 | |
Jesus Checa Hidalgo | 4de77856dd | |
Tom Stellard | 475a496cb9 | |
Jesus Checa Hidalgo | 22c49c99fc | |
Tom Stellard | 27327ff4a8 | |
Tom Stellard | a0406226b5 | |
Jesus Checa Hidalgo | 5f6483f6cd | |
Jesus Checa Hidalgo | 4cce509493 | |
Tom Stellard | 906570b432 | |
Jesus Checa Hidalgo | 4ae8585417 | |
Jesus Checa Hidalgo | a52939e013 | |
Mystro256 | c00fbc715c | |
Jesus Checa Hidalgo | 7e17ee7279 | |
Tom Stellard | dc76251478 | |
sergesanspaille | e61ef837ae | |
Timm Bäder | add0accd52 | |
Timm Bäder | 822eb1d32d | |
Jesus Checa Hidalgo | 69ffbbfd14 | |
Jesus Checa Hidalgo | 806afe0a28 | |
Tom Stellard | eaac7c9b00 | |
Jesus Checa Hidalgo | f5cc68e457 | |
Jesus Checa Hidalgo | 75406a880d | |
Jesus Checa Hidalgo | 442544ac1b | |
Jesus Checa Hidalgo | 12f649bbd7 | |
Jesus Checa Hidalgo | 8d94b3d903 | |
Serge Guelton | 9e607ef75e | |
Miloš Prchlík | 208be5f577 | |
Jesus Checa Hidalgo | 56439f6521 | |
Jesus Checa Hidalgo | 70e5471c2f | |
Jesus Checa Hidalgo | d280ec1256 | |
Miloš Prchlík | 0534535cdb | |
Nikita Popov | 7dba2783b7 | |
Nikita Popov | 563751ce6b | |
Nikita Popov | aecb4c8477 | |
Fedora Release Engineering | f0fcd739ad | |
Nikita Popov | 2932468044 | |
Nikita Popov | 5b7b147c3b | |
Miloš Prchlík | 23fb27dabb | |
Miloš Prchlík | 68259514b8 | |
Tom Rix | 9625344c39 | |
Tom Rix | 715c4e65ee | |
Tom Rix | 993e8358ae | |
Miloš Prchlík | e9354929da | |
Milos Prchlik | f1fb141ebf | |
Milos Prchlik | 5f6796def1 | |
Konrad Kleine | 90e30031a9 | |
Tom Stellard | 6699b0a7c6 | |
Tom Stellard | a6f7984d83 | |
Tom Stellard | bf0177da16 | |
Milos Prchlik | e9b18560f7 | |
Milos Prchlik | 1fec42430c | |
Milos Prchlik | 148aac0b7d | |
Milos Prchlik | f7ecf95dc7 | |
Timm Bäder | cd6d62e280 | |
Timm Bäder | e87e2f553b | |
Timm Bäder | 967d1e9cb7 | |
Tom Stellard | fde900e4dd | |
Tom Stellard | 2fb038f9a7 | |
Tom Stellard | bfd11a3fd2 | |
Tom Stellard | 3752a31b44 | |
Konrad Kleine | 8dae109a67 | |
sergesanspaille | 6f2884179b | |
Tom Stellard | d99713b7d0 | |
Tom Stellard | a5df6c712b | |
Tom Stellard | f2a6113c88 | |
Fedora Release Engineering | c5f66f800b | |
Fedora Release Engineering | 075bc1b24f | |
Tom Stellard | 236196a1cd | |
Tom Stellard | 3dd3a6dfd6 | |
Tom Stellard | 2bf74be714 | |
sergesanspaille | 2afe5dbfcc | |
Tom Stellard | 8ef0cdb22d | |
Python Maint | 696be3e7c7 | |
Tom Stellard | 1a54a323be | |
sergesanspaille | 93869e0cb0 | |
Tom Stellard | 4125daf6f5 | |
Tom Stellard | bd66e3d65a | |
Timm Bäder | 545fd2466b | |
Konrad Kleine | 89c3d8eb13 | |
Tom Stellard | 81370f3bc6 | |
Tom Stellard | e8cbe820c4 | |
Tom Stellard | 13c66032d5 | |
sergesanspaille | 56c57e4695 | |
Tom Stellard | 72a26e56a1 | |
sergesanspaille | 3f6550f0f1 | |
sergesanspaille | e1a87504e4 | |
Jonathan Wakely | b4f38b0df7 | |
sergesanspaille | 08bee7e51a | |
sergesanspaille | c1e69a30ae | |
Timm Bäder | 283f2301df | |
sergesanspaille | 6fb3a469a9 | |
sergesanspaille | bfcdcf4a7d | |
sergesanspaille | d803ebb6bc | |
sergesanspaille | 333b956fb4 | |
sergesanspaille | 1ca8ec6bba | |
sergesanspaille | 8dfbf069f3 | |
sergesanspaille | c6d4e3d591 | |
sergesanspaille | 2d1a36c4ef | |
sergesanspaille | 30f111b116 | |
sergesanspaille | 52abd3940f | |
sergesanspaille | 620fd8a49a | |
sergesanspaille | cef168d215 | |
Konrad Kleine | 1d5bee47d5 | |
Tom Stellard | 56d54b9e15 | |
Tom Stellard | efa9dd65f1 | |
Fedora Release Engineering | c631efb4f7 | |
sergesanspaille | 58487a9e58 | |
sergesanspaille | a60f8bc1c9 | |
sergesanspaille | 81f9d35924 | |
sergesanspaille | a0ab815b1d | |
sergesanspaille | 42917e7959 | |
Tom Stellard | 8c1d8074da | |
sergesanspaille | ad6c72f2fe | |
Stephen Kitt | 2ecc8463e7 | |
Tom Stellard | c66b44eecb | |
Tom Stellard | 32b8b533d1 | |
Tom Stellard | 5bff53b37b | |
Tom Stellard | bf527b3382 | |
sergesanspaille | 1605d80522 | |
sergesanspaille | 59644519b1 | |
sergesanspaille | b4a94df45b | |
sergesanspaille | 2d021a47b3 | |
sergesanspaille | 2ac3ba8deb | |
sergesanspaille | e371ba7a8f | |
sergesanspaille | 70febad3d8 | |
sergesanspaille | 033a6e8acd | |
sergesanspaille | fd536b6e06 | |
sergesanspaille | 1167eb14a2 | |
Tom Stellard | 892c49fa88 | |
Tom Stellard | 46e006a53e | |
Tom Stellard | 8c8d9c672c | |
Fedora Release Engineering | 01b6b5c70e | |
Jeff Law | 4c025cdf78 | |
Fedora Release Engineering | 8eeb41a108 | |
sergesanspaille | 82aa4d3bba | |
Tom Stellard | f923b525f1 | |
Aleksandra Fedorova | f1e3f547a4 | |
Tom Stellard | e2a664c75a | |
Dan Čermák | 43b5ca7f2b | |
Miro Hrončok | a62c5d08c0 | |
sergesanspaille | d933922e69 |
|
@ -0,0 +1 @@
|
|||
1
|
|
@ -99,3 +99,127 @@
|
|||
/clang-tools-extra-10.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-10.0.0.src.tar.xz
|
||||
/clang-10.0.0.src.tar.xz
|
||||
/clang-11.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc1.src.tar.xz.sig
|
||||
/clang-11.0.0rc1.src.tar.xz.sig
|
||||
/clang-11.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc2.src.tar.xz.sig
|
||||
/clang-11.0.0rc2.src.tar.xz.sig
|
||||
/clang-11.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc3.src.tar.xz.sig
|
||||
/clang-11.0.0rc3.src.tar.xz.sig
|
||||
/clang-11.0.0rc5.src.tar.xz
|
||||
/clang-11.0.0rc5.src.tar.xz.sig
|
||||
/clang-tools-extra-11.0.0rc5.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc5.src.tar.xz.sig
|
||||
/clang-11.0.0rc6.src.tar.xz
|
||||
/clang-11.0.0rc6.src.tar.xz.sig
|
||||
/clang-tools-extra-11.0.0rc6.src.tar.xz
|
||||
/clang-tools-extra-11.0.0rc6.src.tar.xz.sig
|
||||
/clang-11.0.0.src.tar.xz
|
||||
/clang-11.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-11.0.0.src.tar.xz
|
||||
/clang-tools-extra-11.0.0.src.tar.xz.sig
|
||||
/clang-11.0.1rc1.src.tar.xz
|
||||
/clang-11.0.1rc1.src.tar.xz.sig
|
||||
/clang-tools-extra-11.0.1rc1.src.tar.xz
|
||||
/clang-tools-extra-11.0.1rc1.src.tar.xz.sig
|
||||
/clang-tools-extra-11.0.1rc2.src.tar.xz
|
||||
/clang-tools-extra-11.0.1rc2.src.tar.xz.sig
|
||||
/clang-11.0.1rc2.src.tar.xz.sig
|
||||
/clang-11.0.1rc2.src.tar.xz
|
||||
/clang-11.0.1.src.tar.xz
|
||||
/clang-11.0.1.src.tar.xz.sig
|
||||
/clang-tools-extra-11.0.1.src.tar.xz
|
||||
/clang-tools-extra-11.0.1.src.tar.xz.sig
|
||||
/clang-11.1.0rc1.src.tar.xz
|
||||
/clang-tools-extra-11.1.0rc1.src.tar.xz
|
||||
/clang-tools-extra-11.1.0rc1.src.tar.xz.sig
|
||||
/clang-11.1.0rc1.src.tar.xz.sig
|
||||
/clang-11.1.0rc2.src.tar.xz
|
||||
/clang-tools-extra-11.1.0rc2.src.tar.xz
|
||||
/clang-tools-extra-11.1.0rc2.src.tar.xz.sig
|
||||
/clang-11.1.0rc2.src.tar.xz.sig
|
||||
/clang-12.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc1.src.tar.xz.sig
|
||||
/clang-12.0.0rc1.src.tar.xz.sig
|
||||
/clang-12.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc2.src.tar.xz.sig
|
||||
/clang-12.0.0rc2.src.tar.xz.sig
|
||||
/clang-12.0.0rc3.src.tar.xz
|
||||
/clang-12.0.0rc3.src.tar.xz.sig
|
||||
/clang-tools-extra-12.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc3.src.tar.xz.sig
|
||||
/clang-12.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc4.src.tar.xz.sig
|
||||
/clang-12.0.0rc4.src.tar.xz.sig
|
||||
/clang-12.0.0rc5.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc5.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc5.src.tar.xz.sig
|
||||
/clang-12.0.0rc5.src.tar.xz.sig
|
||||
/clang-12.0.0.src.tar.xz
|
||||
/clang-12.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-12.0.0.src.tar.xz
|
||||
/clang-tools-extra-12.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-12.0.1rc1.src.tar.xz
|
||||
/clang-tools-extra-12.0.1rc1.src.tar.xz.sig
|
||||
/clang-12.0.1rc1.src.tar.xz
|
||||
/clang-12.0.1rc1.src.tar.xz.sig
|
||||
/clang-12.0.1rc3.src.tar.xz
|
||||
/clang-12.0.1rc3.src.tar.xz.sig
|
||||
/clang-tools-extra-12.0.1rc3.src.tar.xz
|
||||
/clang-tools-extra-12.0.1rc3.src.tar.xz.sig
|
||||
/clang-12.0.1.src.tar.xz
|
||||
/clang-12.0.1.src.tar.xz.sig
|
||||
/clang-tools-extra-12.0.1.src.tar.xz
|
||||
/clang-tools-extra-12.0.1.src.tar.xz.sig
|
||||
/clang-13.0.0rc1.src.tar.xz
|
||||
/clang-13.0.0rc1.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-13.0.0rc1.src.tar.xz.sig
|
||||
/clang-13.0.0rc3.src.tar.xz
|
||||
/clang-13.0.0rc3.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-13.0.0rc3.src.tar.xz.sig
|
||||
/clang-13.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-13.0.0rc4.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.0rc4.src.tar.xz
|
||||
/clang-13.0.0rc4.src.tar.xz.sig
|
||||
/clang-13.0.0.src.tar.xz
|
||||
/clang-13.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.0.src.tar.xz
|
||||
/clang-13.0.1rc1.src.tar.xz
|
||||
/clang-13.0.1rc1.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.1rc1.src.tar.xz
|
||||
/clang-tools-extra-13.0.1rc1.src.tar.xz.sig
|
||||
/clang-13.0.1rc2.src.tar.xz
|
||||
/clang-13.0.1rc2.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.1rc2.src.tar.xz
|
||||
/clang-tools-extra-13.0.1rc2.src.tar.xz.sig
|
||||
/clang-13.0.1rc3.src.tar.xz
|
||||
/clang-13.0.1rc3.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.1rc3.src.tar.xz
|
||||
/clang-tools-extra-13.0.1rc3.src.tar.xz.sig
|
||||
/clang-13.0.1.src.tar.xz
|
||||
/clang-13.0.1.src.tar.xz.sig
|
||||
/clang-tools-extra-13.0.1.src.tar.xz
|
||||
/clang-tools-extra-13.0.1.src.tar.xz.sig
|
||||
/clang-14.0.0.src.tar.xz
|
||||
/clang-tools-extra-14.0.0.src.tar.xz
|
||||
/clang-tools-extra-14.0.0.src.tar.xz.sig
|
||||
/clang-14.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-14.0.5.src.tar.xz
|
||||
/clang-tools-extra-14.0.5.src.tar.xz.sig
|
||||
/clang-14.0.5.src.tar.xz.sig
|
||||
/clang-14.0.5.src.tar.xz
|
||||
/clang-tools-extra-15.0.0.src.tar.xz
|
||||
/clang-tools-extra-15.0.0.src.tar.xz.sig
|
||||
/clang-15.0.0.src.tar.xz
|
||||
/clang-15.0.0.src.tar.xz.sig
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,59 @@
|
|||
From d68a5a7817dc0d43853d8b84c9185dc24338664f Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Wed, 6 Oct 2021 05:32:44 +0000
|
||||
Subject: [PATCH] Driver: Add a gcc equivalent triple to the list of triples to
|
||||
search
|
||||
|
||||
There are some gcc triples, like x86_64-redhat-linux, that provide the
|
||||
same behavior as a clang triple with a similar name (e.g.
|
||||
x86_64-redhat-linux-gnu). When searching for a gcc install, also search
|
||||
for a gcc equivalent triple if one exists.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D111207
|
||||
---
|
||||
clang/lib/Driver/ToolChains/Gnu.cpp | 22 ++++++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
index fe5bda5c6605..fd4a7f72be14 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -1884,6 +1884,18 @@ static llvm::StringRef getGCCToolchainDir(const ArgList &Args,
|
||||
return GCC_INSTALL_PREFIX;
|
||||
}
|
||||
|
||||
+/// This function takes a 'clang' triple and converts it to an equivalent gcc
|
||||
+/// triple.
|
||||
+static const char *ConvertToGccTriple(StringRef CandidateTriple) {
|
||||
+ return llvm::StringSwitch<const char *>(CandidateTriple)
|
||||
+ .Case("aarch64-redhat-linux-gnu", "aarch64-redhat-linux")
|
||||
+ .Case("i686-redhat-linux-gnu", "i686-redhat-linux")
|
||||
+ .Case("ppc64le-redhat-linux-gnu", "ppc64le-redhat-linux")
|
||||
+ .Case("s390x-redhat-linux-gnu", "s390x-redhat-linux")
|
||||
+ .Case("x86_64-redhat-linux-gnu", "x86_64-redhat-linux")
|
||||
+ .Default(NULL);
|
||||
+}
|
||||
+
|
||||
/// Initialize a GCCInstallationDetector from the driver.
|
||||
///
|
||||
/// This performs all of the autodetection and sets up the various paths.
|
||||
@@ -1904,6 +1916,16 @@ void Generic_GCC::GCCInstallationDetector::init(
|
||||
// The compatible GCC triples for this particular architecture.
|
||||
SmallVector<StringRef, 16> CandidateTripleAliases;
|
||||
SmallVector<StringRef, 16> CandidateBiarchTripleAliases;
|
||||
+
|
||||
+ // In some cases gcc uses a slightly different triple than clang for the
|
||||
+ // same target. Convert the clang triple to the gcc equivalent and use that
|
||||
+ // to search for the gcc install.
|
||||
+ const char *ConvertedTriple = ConvertToGccTriple(TargetTriple.str());
|
||||
+ if (ConvertedTriple) {
|
||||
+ CandidateTripleAliases.push_back(ConvertedTriple);
|
||||
+ CandidateBiarchTripleAliases.push_back(ConvertedTriple);
|
||||
+ }
|
||||
+
|
||||
CollectLibDirsAndTriples(TargetTriple, BiarchVariantTriple, CandidateLibDirs,
|
||||
CandidateTripleAliases, CandidateBiarchLibDirs,
|
||||
CandidateBiarchTripleAliases);
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From 537e325f180d3d82bbef64aac71efcb0256d6916 Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <npopov@redhat.com>
|
||||
Date: Fri, 2 Sep 2022 16:30:15 +0200
|
||||
Subject: [PATCH] Mark fopenmp-implicit-rpath as NoArgumentUnused
|
||||
|
||||
We pass this option unconditionally in LDFLAGS, make sure this
|
||||
does not warn if openmp is not used, as this may break some
|
||||
build systems.
|
||||
---
|
||||
clang/include/clang/Driver/Options.td | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
|
||||
index d921ea5d5da9..d883fd3a8f04 100644
|
||||
--- a/clang/include/clang/Driver/Options.td
|
||||
+++ b/clang/include/clang/Driver/Options.td
|
||||
@@ -4118,7 +4118,8 @@ defm openmp_implicit_rpath: BoolFOption<"openmp-implicit-rpath",
|
||||
LangOpts<"OpenMP">,
|
||||
DefaultTrue,
|
||||
PosFlag<SetTrue, [], "Set rpath on OpenMP executables">,
|
||||
- NegFlag<SetFalse>>;
|
||||
+ NegFlag<SetFalse>,
|
||||
+ BothFlags<[NoArgumentUnused]>>;
|
||||
def r : Flag<["-"], "r">, Flags<[LinkerInput,NoArgumentUnused]>,
|
||||
Group<Link_Group>;
|
||||
def save_temps_EQ : Joined<["-", "--"], "save-temps=">, Flags<[CC1Option, FlangOption, NoXarchOption]>,
|
||||
--
|
||||
2.37.2
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
From 1f26a0284925859b72ee520ce74452d77d822409 Mon Sep 17 00:00:00 2001
|
||||
From c6b921c8d833546946b70a8c2640032fd7c62461 Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Mon, 28 Jan 2019 19:12:27 +0000
|
||||
Subject: [PATCH 2/2] [PATCH] gtest reorg
|
||||
Date: Thu, 25 Feb 2021 14:04:52 +0100
|
||||
Subject: [PATCH 1/6] [PATCH][clang] Reorganize gtest integration
|
||||
|
||||
---
|
||||
CMakeLists.txt | 12 +++++-------
|
||||
clang/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.")
|
||||
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
|
||||
index 9e74014..0185276 100644
|
||||
--- a/clang/CMakeLists.txt
|
||||
+++ b/clang/CMakeLists.txt
|
||||
@@ -153,12 +153,6 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
|
||||
set(LLVM_UTILS_PROVIDED ON)
|
||||
set(CLANG_TEST_DEPS FileCheck count not)
|
||||
endif()
|
||||
|
@ -24,7 +24,7 @@ index c2016a45ca..48ea3c3bb9 100644
|
|||
else()
|
||||
# Seek installed Lit.
|
||||
find_program(LLVM_LIT
|
||||
@@ -507,7 +501,11 @@ endif()
|
||||
@@ -537,7 +531,11 @@ endif()
|
||||
|
||||
|
||||
if( CLANG_INCLUDE_TESTS )
|
||||
|
@ -38,5 +38,5 @@ index c2016a45ca..48ea3c3bb9 100644
|
|||
list(APPEND CLANG_TEST_DEPS ClangUnitTests)
|
||||
list(APPEND CLANG_TEST_PARAMS
|
||||
--
|
||||
2.19.2
|
||||
1.8.3.1
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
From 09ae3ef5710a89505318ec721c65b6c838147276 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
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
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
From 581300e447602b9b7a505b0f07e8461d58d041ca Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Fri, 1 Jul 2022 21:24:17 -0700
|
||||
Subject: [PATCH] clang-tools-extra: Make test dependency on LLVMHello optional
|
||||
|
||||
This fixes clang + clang-tools-extra standalone build after
|
||||
36892727e4f19a60778e371d78f8fb09d8122c85.
|
||||
---
|
||||
clang-tools-extra/test/CMakeLists.txt | 10 +++++++++-
|
||||
clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp | 2 +-
|
||||
clang-tools-extra/test/lit.cfg.py | 3 +++
|
||||
clang-tools-extra/test/lit.site.cfg.py.in | 1 +
|
||||
4 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/clang-tools-extra/test/CMakeLists.txt b/clang-tools-extra/test/CMakeLists.txt
|
||||
index f4c529ee8af2..1cfb4dd529aa 100644
|
||||
--- a/clang-tools-extra/test/CMakeLists.txt
|
||||
+++ b/clang-tools-extra/test/CMakeLists.txt
|
||||
@@ -7,10 +7,15 @@
|
||||
set(CLANG_TOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
|
||||
set(CLANG_TOOLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
|
||||
|
||||
+if (TARGET LLVMHello)
|
||||
+ set (LLVM_HAS_LLVM_HELLO 1)
|
||||
+endif()
|
||||
+
|
||||
llvm_canonicalize_cmake_booleans(
|
||||
CLANG_TIDY_ENABLE_STATIC_ANALYZER
|
||||
CLANG_PLUGIN_SUPPORT
|
||||
LLVM_INSTALL_TOOLCHAIN_ONLY
|
||||
+ LLVM_HAS_LLVM_HELLO
|
||||
)
|
||||
|
||||
configure_lit_site_cfg(
|
||||
@@ -86,7 +91,10 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
endif()
|
||||
|
||||
if(TARGET CTTestTidyModule)
|
||||
- list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule LLVMHello)
|
||||
+ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
|
||||
+ if (TARGET LLVMHello)
|
||||
+ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
|
||||
+ endif()
|
||||
target_include_directories(CTTestTidyModule PUBLIC BEFORE "${CLANG_TOOLS_SOURCE_DIR}")
|
||||
if(CLANG_PLUGIN_SUPPORT AND (WIN32 OR CYGWIN))
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
diff --git a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
|
||||
index c66a94f458cf..b4e7a5d691e5 100644
|
||||
--- a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
|
||||
+++ b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
|
||||
@@ -1,4 +1,4 @@
|
||||
-// REQUIRES: plugins
|
||||
+// REQUIRES: plugins, llvm-hello
|
||||
// RUN: clang-tidy -checks='-*,mytest*' --list-checks -load %llvmshlibdir/CTTestTidyModule%pluginext -load %llvmshlibdir/LLVMHello%pluginext | FileCheck --check-prefix=CHECK-LIST %s
|
||||
// CHECK-LIST: Enabled checks:
|
||||
// CHECK-LIST-NEXT: mytest1
|
||||
diff --git a/clang-tools-extra/test/lit.cfg.py b/clang-tools-extra/test/lit.cfg.py
|
||||
index 9b99bfd93440..3fca9f25fb48 100644
|
||||
--- a/clang-tools-extra/test/lit.cfg.py
|
||||
+++ b/clang-tools-extra/test/lit.cfg.py
|
||||
@@ -59,3 +59,6 @@ config.substitutions.append(
|
||||
# Plugins (loadable modules)
|
||||
if config.has_plugins and config.llvm_plugin_ext:
|
||||
config.available_features.add('plugins')
|
||||
+
|
||||
+if config.has_llvm_hello:
|
||||
+ config.available_features.add("llvm-hello")
|
||||
diff --git a/clang-tools-extra/test/lit.site.cfg.py.in b/clang-tools-extra/test/lit.site.cfg.py.in
|
||||
index 4eb830a1baf1..6e5559348454 100644
|
||||
--- a/clang-tools-extra/test/lit.site.cfg.py.in
|
||||
+++ b/clang-tools-extra/test/lit.site.cfg.py.in
|
||||
@@ -11,6 +11,7 @@ config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
||||
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
||||
config.clang_tidy_staticanalyzer = @CLANG_TIDY_ENABLE_STATIC_ANALYZER@
|
||||
config.has_plugins = @CLANG_PLUGIN_SUPPORT@ & ~@LLVM_INSTALL_TOOLCHAIN_ONLY@
|
||||
+config.has_llvm_hello = @LLVM_HAS_LLVM_HELLO@
|
||||
# Support substitution of the tools and libs dirs with user parameters. This is
|
||||
# used when we can't determine the tool dir at configuration time.
|
||||
config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
|
||||
--
|
||||
2.27.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,99 +0,0 @@
|
|||
From 11857d49948b845dcfd7c7f78595095e3add012d Mon Sep 17 00:00:00 2001
|
||||
From: Rong Xu <xur@google.com>
|
||||
Date: Tue, 25 Feb 2020 08:04:01 -0800
|
||||
Subject: [PATCH] [remark][diagnostics] [codegen] Fix PR44896
|
||||
|
||||
This patch fixes PR44896. For IR input files, option fdiscard-value-names
|
||||
should be ignored as we need named values in loadModule().
|
||||
Commit 60d3947922 sets this option after loadModule() where valued names
|
||||
already created. This creates an inconsistent state in setNameImpl()
|
||||
that leads to a seg fault.
|
||||
This patch forces fdiscard-value-names to be false for IR input files.
|
||||
|
||||
This patch also emits a warning of "ignoring -fdiscard-value-names" if
|
||||
option fdiscard-value-names is explictly enabled in the commandline for
|
||||
IR input files.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D74878
|
||||
---
|
||||
clang/include/clang/Basic/DiagnosticDriverKinds.td | 3 +++
|
||||
clang/lib/CodeGen/CodeGenAction.cpp | 3 +++
|
||||
clang/lib/Driver/ToolChains/Clang.cpp | 10 +++++++++-
|
||||
clang/test/CodeGen/PR44896.ll | 15 +++++++++++++++
|
||||
4 files changed, 30 insertions(+), 1 deletion(-)
|
||||
create mode 100644 clang/test/CodeGen/PR44896.ll
|
||||
|
||||
diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
index ecd871e..48ece91 100644
|
||||
--- a/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
+++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
@@ -271,6 +271,9 @@ def warn_drv_unsupported_debug_info_opt_for_target : Warning<
|
||||
InGroup<UnsupportedTargetOpt>;
|
||||
def warn_c_kext : Warning<
|
||||
"ignoring -fapple-kext which is valid for C++ and Objective-C++ only">;
|
||||
+def warn_ignoring_fdiscard_for_bitcode : Warning<
|
||||
+ "ignoring -fdiscard-value-names for LLVM Bitcode">,
|
||||
+ InGroup<UnusedCommandLineArgument>;
|
||||
def warn_drv_input_file_unused : Warning<
|
||||
"%0: '%1' input unused%select{ when '%3' is present|}2">,
|
||||
InGroup<UnusedCommandLineArgument>;
|
||||
diff --git a/clang/lib/CodeGen/CodeGenAction.cpp b/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
index 5ebc34c..81946b1 100644
|
||||
--- a/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
+++ b/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
@@ -1146,6 +1146,9 @@ void CodeGenAction::ExecuteAction() {
|
||||
CI.getTargetOpts(), CI.getLangOpts(),
|
||||
CI.getFrontendOpts().ShowTimers,
|
||||
std::move(LinkModules), *VMContext, nullptr);
|
||||
+ // PR44896: Force DiscardValueNames as false. DiscardValueNames cannot be
|
||||
+ // true here because the valued names are needed for reading textual IR.
|
||||
+ Ctx.setDiscardValueNames(false);
|
||||
Ctx.setDiagnosticHandler(
|
||||
std::make_unique<ClangDiagnosticHandler>(CodeGenOpts, &Result));
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
index 19a23c9..d387a1d 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
@@ -4332,8 +4332,16 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
|
||||
// Discard value names in assert builds unless otherwise specified.
|
||||
if (Args.hasFlag(options::OPT_fdiscard_value_names,
|
||||
- options::OPT_fno_discard_value_names, !IsAssertBuild))
|
||||
+ options::OPT_fno_discard_value_names, !IsAssertBuild)) {
|
||||
+ if (Args.hasArg(options::OPT_fdiscard_value_names) &&
|
||||
+ (std::any_of(Inputs.begin(), Inputs.end(),
|
||||
+ [](const clang::driver::InputInfo &II) {
|
||||
+ return types::isLLVMIR(II.getType());
|
||||
+ }))) {
|
||||
+ D.Diag(diag::warn_ignoring_fdiscard_for_bitcode);
|
||||
+ }
|
||||
CmdArgs.push_back("-discard-value-names");
|
||||
+ }
|
||||
|
||||
// Set the main file name, so that debug info works even with
|
||||
// -save-temps.
|
||||
diff --git a/clang/test/CodeGen/PR44896.ll b/clang/test/CodeGen/PR44896.ll
|
||||
new file mode 100644
|
||||
index 0000000..a4d3445
|
||||
--- /dev/null
|
||||
+++ b/clang/test/CodeGen/PR44896.ll
|
||||
@@ -0,0 +1,15 @@
|
||||
+; RUN: %clang -fdiscard-value-names -S %s -o /dev/null 2>&1 | FileCheck --check-prefix=WARNING %s
|
||||
+; RUN: %clang -S %s -o /dev/null 2>&1 | FileCheck --check-prefix=NOWARNING %s
|
||||
+; RUN: %clang_cc1 -S -emit-llvm %s -discard-value-names -o /dev/null
|
||||
+; PR 44896
|
||||
+
|
||||
+; WARNING: ignoring -fdiscard-value-names for LLVM Bitcode
|
||||
+; NOWARNING-NOT: ignoring -fdiscard-value-names for LLVM Bitcode
|
||||
+
|
||||
+target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
+target triple = "x86_64--linux-gnu"
|
||||
+
|
||||
+define linkonce i8* @b(i8* %a) {
|
||||
+ ret i8* %a
|
||||
+}
|
||||
+
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From c87abee7356b8fde81512ffceadd520776c465d2 Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Thu, 25 Feb 2021 14:09:29 +0100
|
||||
Subject: [PATCH] [PATCH][clang] Make -funwind-tables the default on all archs
|
||||
|
||||
---
|
||||
clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
index d0808d061c82..de9c9743cd38 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -2701,6 +2701,11 @@ bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
case llvm::Triple::ppc64le:
|
||||
case llvm::Triple::x86:
|
||||
case llvm::Triple::x86_64:
|
||||
+
|
||||
+ // Enable -funwind-tables on all architectures supported by Fedora:
|
||||
+ // rhbz#1655546
|
||||
+ case llvm::Triple::systemz:
|
||||
+ case llvm::Triple::arm:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
--
|
||||
2.27.0
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From 88704fc2eabb9dd19a9c3eb81a9b3dc37d95651c 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 5752f4277444..0f52822d91f0 100644
|
||||
--- a/clang/cmake/modules/AddClang.cmake
|
||||
+++ b/clang/cmake/modules/AddClang.cmake
|
||||
@@ -113,7 +113,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))
|
||||
get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
|
||||
install(TARGETS ${lib}
|
||||
COMPONENT ${lib}
|
||||
--
|
||||
2.30.2
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
From 1f68d73910ddee1beaf3582480b8a9738c941a43 Mon Sep 17 00:00:00 2001
|
||||
From: Konrad Kleine <kkleine@redhat.com>
|
||||
Date: Thu, 24 Mar 2022 09:44:21 +0100
|
||||
Subject: [PATCH] Produce DWARF4 by default
|
||||
|
||||
Have a look at the following commit to see when the move from DWARF 4 to 5 first happened upstream:
|
||||
|
||||
https://github.com/llvm/llvm-project/commit/d3b26dea16108c427b19b5480c9edc76edf8f5b4?diff=unified
|
||||
---
|
||||
clang/include/clang/Driver/ToolChain.h | 2 +-
|
||||
clang/test/CodeGen/dwarf-version.c | 4 ++--
|
||||
clang/test/Driver/cl-options.c | 2 +-
|
||||
clang/test/Driver/clang-g-opts.c | 2 +-
|
||||
clang/test/Driver/ve-toolchain.c | 2 +-
|
||||
clang/test/Driver/ve-toolchain.cpp | 2 +-
|
||||
6 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
|
||||
index f20ab164531b..53c86ee82936 100644
|
||||
--- a/clang/include/clang/Driver/ToolChain.h
|
||||
+++ b/clang/include/clang/Driver/ToolChain.h
|
||||
@@ -535,7 +535,7 @@ public:
|
||||
|
||||
// Return the DWARF version to emit, in the absence of arguments
|
||||
// to the contrary.
|
||||
- virtual unsigned GetDefaultDwarfVersion() const { return 5; }
|
||||
+ virtual unsigned GetDefaultDwarfVersion() const { return 4; }
|
||||
|
||||
// Some toolchains may have different restrictions on the DWARF version and
|
||||
// may need to adjust it. E.g. NVPTX may need to enforce DWARF2 even when host
|
||||
diff --git a/clang/test/CodeGen/dwarf-version.c b/clang/test/CodeGen/dwarf-version.c
|
||||
index 0a6fa4768026..96f01749d0d8 100644
|
||||
--- a/clang/test/CodeGen/dwarf-version.c
|
||||
+++ b/clang/test/CodeGen/dwarf-version.c
|
||||
@@ -2,8 +2,8 @@
|
||||
// RUN: %clang -target x86_64-linux-gnu -gdwarf-3 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER3
|
||||
// RUN: %clang -target x86_64-linux-gnu -gdwarf-4 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
|
||||
// RUN: %clang -target x86_64-linux-gnu -gdwarf-5 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
|
||||
-// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
|
||||
-// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
|
||||
+// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
|
||||
+// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
|
||||
|
||||
// The -isysroot is used as a hack to avoid LIT messing with the SDKROOT
|
||||
// environment variable which indirecty overrides the version in the target
|
||||
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
|
||||
index a2e350a0a835..01889ba0bf9b 100644
|
||||
--- a/clang/test/Driver/cl-options.c
|
||||
+++ b/clang/test/Driver/cl-options.c
|
||||
@@ -570,7 +570,7 @@
|
||||
// RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s
|
||||
// Z7_gdwarf: "-gcodeview"
|
||||
// Z7_gdwarf: "-debug-info-kind=constructor"
|
||||
-// Z7_gdwarf: "-dwarf-version=
|
||||
+// Z7_gdwarf: "-dwarf-version=4
|
||||
|
||||
// RUN: %clang_cl -fmsc-version=1800 -TP -### -- %s 2>&1 | FileCheck -check-prefix=CXX11 %s
|
||||
// CXX11: -std=c++11
|
||||
diff --git a/clang/test/Driver/clang-g-opts.c b/clang/test/Driver/clang-g-opts.c
|
||||
index d982b1070cae..bb129e75769c 100644
|
||||
--- a/clang/test/Driver/clang-g-opts.c
|
||||
+++ b/clang/test/Driver/clang-g-opts.c
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
// CHECK-WITHOUT-G-NOT: -debug-info-kind
|
||||
// CHECK-WITH-G: "-debug-info-kind=constructor"
|
||||
-// CHECK-WITH-G: "-dwarf-version=5"
|
||||
+// CHECK-WITH-G: "-dwarf-version=4"
|
||||
// CHECK-WITH-G-DWARF2: "-dwarf-version=2"
|
||||
|
||||
// CHECK-WITH-G-STANDALONE: "-debug-info-kind=standalone"
|
||||
diff --git a/clang/test/Driver/ve-toolchain.c b/clang/test/Driver/ve-toolchain.c
|
||||
index 32e25769b6da..b8a2852daba8 100644
|
||||
--- a/clang/test/Driver/ve-toolchain.c
|
||||
+++ b/clang/test/Driver/ve-toolchain.c
|
||||
@@ -6,7 +6,7 @@
|
||||
/// Checking dwarf-version
|
||||
|
||||
// RUN: %clang -### -g --target=ve %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
|
||||
-// DWARF_VER: "-dwarf-version=5"
|
||||
+// DWARF_VER: "-dwarf-version=4"
|
||||
|
||||
///-----------------------------------------------------------------------------
|
||||
/// Checking include-path
|
||||
diff --git a/clang/test/Driver/ve-toolchain.cpp b/clang/test/Driver/ve-toolchain.cpp
|
||||
index 5a33d5eceb61..cedf895b36dc 100644
|
||||
--- a/clang/test/Driver/ve-toolchain.cpp
|
||||
+++ b/clang/test/Driver/ve-toolchain.cpp
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
// RUN: %clangxx -### -g --target=ve-unknown-linux-gnu \
|
||||
// RUN: %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
|
||||
-// DWARF_VER: "-dwarf-version=5"
|
||||
+// DWARF_VER: "-dwarf-version=4"
|
||||
|
||||
///-----------------------------------------------------------------------------
|
||||
/// Checking include-path
|
||||
--
|
||||
2.37.1
|
||||
|
|
@ -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")
|
667
clang.spec
667
clang.spec
|
@ -1,114 +1,89 @@
|
|||
%global compat_build 0
|
||||
%global toolchain clang
|
||||
|
||||
%global maj_ver 10
|
||||
%bcond_with compat_build
|
||||
%bcond_without check
|
||||
|
||||
%global maj_ver 15
|
||||
%global min_ver 0
|
||||
%global patch_ver 0
|
||||
#%%global rc_ver 6
|
||||
%global baserelease 1
|
||||
#global rc_ver 3
|
||||
%global clang_version %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||
|
||||
%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-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-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}
|
||||
%if %{with compat_build}
|
||||
%global pkg_name clang%{maj_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_prefix %{_libdir}/llvm%{maj_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_includedir %{install_includedir}
|
||||
%global pkg_libdir %{install_libdir}
|
||||
%else
|
||||
%global pkg_name clang
|
||||
%global install_prefix /usr
|
||||
%global pkg_libdir %{_libdir}
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%bcond_without python3
|
||||
%else
|
||||
%bcond_with python3
|
||||
%endif
|
||||
|
||||
%global build_install_prefix %{buildroot}%{install_prefix}
|
||||
|
||||
%ifarch ppc64le
|
||||
# Too many threads on ppc64 systems causes OOM errors.
|
||||
%global _smp_mflags -j8
|
||||
%endif
|
||||
|
||||
%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
|
||||
%global clang_srcdir clang-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
%global clang_tools_srcdir clang-tools-extra-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
|
||||
%if !%{maj_ver} && 0%{?rc_ver}
|
||||
%global abi_revision 2
|
||||
%endif
|
||||
|
||||
Name: %pkg_name
|
||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||
Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
|
||||
Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}
|
||||
Release: 2%{?dist}
|
||||
Summary: A C language family front-end for LLVM
|
||||
|
||||
License: NCSA
|
||||
URL: http://llvm.org
|
||||
%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
|
||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz
|
||||
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz.sig
|
||||
%if %{without compat_build}
|
||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_tools_srcdir}.tar.xz
|
||||
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_tools_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
|
||||
Source4: release-keys.asc
|
||||
%if %{without compat_build}
|
||||
Source5: macros.%{name}
|
||||
%endif
|
||||
|
||||
# Patches for clang
|
||||
Patch0: 0001-PATCH-clang-Reorganize-gtest-integration.patch
|
||||
Patch1: 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
|
||||
Patch2: 0003-PATCH-clang-Don-t-install-static-libraries.patch
|
||||
Patch3: 0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
|
||||
Patch4: 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch
|
||||
Patch5: 0010-PATCH-clang-Produce-DWARF4-by-default.patch
|
||||
|
||||
# TODO: Can be dropped in LLVM 16: https://reviews.llvm.org/D133316
|
||||
Patch6: 0001-Mark-fopenmp-implicit-rpath-as-NoArgumentUnused.patch
|
||||
|
||||
# Backport of https://reviews.llvm.org/D133800 to the 15.0.0 release.
|
||||
# TODO: Drop once updating to 15.0.1 or newer.
|
||||
Patch7: 0001-Clang-15.0.1-Downgrade-implicit-int-and-implicit-fun.patch
|
||||
|
||||
%if %{without compat_build}
|
||||
# Patches for clang-tools-extra
|
||||
# See https://reviews.llvm.org/D120301
|
||||
Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
|
||||
%endif
|
||||
Source4: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
|
||||
|
||||
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
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: clang
|
||||
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}
|
||||
%if %{with compat_build}
|
||||
BuildRequires: llvm%{maj_ver}-devel = %{version}
|
||||
BuildRequires: llvm%{maj_ver}-static = %{version}
|
||||
%else
|
||||
BuildRequires: llvm-devel = %{version}
|
||||
BuildRequires: llvm-test = %{version}
|
||||
|
@ -125,21 +100,42 @@ BuildRequires: ncurses-devel
|
|||
# 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: python3-recommonmark
|
||||
BuildRequires: libatomic
|
||||
|
||||
# We need python3-devel for pathfix.py.
|
||||
# We need python3-devel for %%py3_shebang_fix
|
||||
BuildRequires: python3-devel
|
||||
|
||||
%if %{without compat_build}
|
||||
# For reproducible pyc file generation
|
||||
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#_byte_compilation_reproducibility
|
||||
BuildRequires: /usr/bin/marshalparser
|
||||
%global py_reproducible_pyc_path %{buildroot}%{python3_sitelib}
|
||||
%endif
|
||||
|
||||
# Needed for %%multilib_fix_c_header
|
||||
BuildRequires: multilib-rpm-config
|
||||
BuildRequires: chrpath
|
||||
|
||||
# For origin certification
|
||||
BuildRequires: gnupg2
|
||||
|
||||
# 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}
|
||||
|
||||
|
@ -149,12 +145,9 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|||
Requires: libstdc++-devel
|
||||
Requires: gcc-c++
|
||||
|
||||
Requires: emacs-filesystem
|
||||
|
||||
Provides: clang(major) = %{maj_ver}
|
||||
|
||||
Conflicts: compiler-rt < %{version}
|
||||
Conflicts: compiler-rt > %{version}
|
||||
Conflicts: compiler-rt < 11.0.0
|
||||
|
||||
%description
|
||||
clang: noun
|
||||
|
@ -166,30 +159,49 @@ 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.
|
||||
|
||||
Install compiler-rt if you want the Blocks C language extension or to
|
||||
enable sanitization and profiling options when building, and
|
||||
libomp-devel to enable -fopenmp.
|
||||
|
||||
%package libs
|
||||
Summary: Runtime library for clang
|
||||
Requires: %{name}-resource-filesystem%{?_isa} = %{version}
|
||||
Recommends: compiler-rt%{?_isa} = %{version}
|
||||
# atomic support is not part of compiler-rt
|
||||
Recommends: libatomic%{?_isa}
|
||||
# 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}
|
||||
|
||||
# Use lld as the default linker on ARM due to rhbz#1918924
|
||||
%ifarch %{arm}
|
||||
Requires: lld
|
||||
%endif
|
||||
|
||||
%description libs
|
||||
Runtime library for clang.
|
||||
|
||||
%package devel
|
||||
Summary: Development header files for clang
|
||||
%if !0%{?compat_build}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
%if %{without 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.
|
||||
|
||||
%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/
|
||||
|
||||
%if %{without compat_build}
|
||||
%package analyzer
|
||||
Summary: A source code analysis framework
|
||||
License: NCSA and MIT
|
||||
|
@ -235,68 +247,90 @@ Requires: python3
|
|||
|
||||
|
||||
%prep
|
||||
%if 0%{?compat_build}
|
||||
%autosetup -n %{clang_srcdir} -p1
|
||||
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}'
|
||||
|
||||
%if %{with compat_build}
|
||||
%autosetup -n %{clang_srcdir} -p2
|
||||
%else
|
||||
|
||||
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}'
|
||||
%setup -T -q -b 1 -n %{clang_tools_srcdir}
|
||||
%autopatch -m200 -p2
|
||||
|
||||
|
||||
pathfix.py -i %{__python3} -pn \
|
||||
clang-tidy/tool/*.py \
|
||||
# failing test case
|
||||
rm test/clang-tidy/checkers/altera/struct-pack-align.cpp
|
||||
|
||||
%py3_shebang_fix \
|
||||
clang-tidy/tool/ \
|
||||
clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
|
||||
|
||||
%setup -q -n %{clang_srcdir}
|
||||
%autopatch -M200 -p2
|
||||
|
||||
%patch4 -p1 -b .gtest
|
||||
%patch11 -p1 -b .libcxx-fix
|
||||
%patch13 -p2 -b .unwind-all
|
||||
%patch15 -p2 -b .no-install-static
|
||||
# failing test case
|
||||
rm test/CodeGen/profile-filter.c
|
||||
|
||||
mv ../%{clang_tools_srcdir} tools/extra
|
||||
|
||||
pathfix.py -i %{__python3} -pn \
|
||||
tools/clang-format/*.py \
|
||||
%py3_shebang_fix \
|
||||
tools/clang-format/ \
|
||||
tools/clang-format/git-clang-format \
|
||||
utils/hmaptool/hmaptool \
|
||||
tools/scan-view/bin/scan-view
|
||||
tools/scan-view/bin/scan-view \
|
||||
tools/scan-view/share/Reporter.py \
|
||||
tools/scan-view/share/startfile.py \
|
||||
tools/scan-build-py/bin/* \
|
||||
tools/scan-build-py/libexec/*
|
||||
%endif
|
||||
|
||||
%build
|
||||
|
||||
# Use ThinLTO to limit build time.
|
||||
%define _lto_cflags -flto=thin
|
||||
# And disable LTO on AArch64 entirely.
|
||||
%ifarch aarch64
|
||||
%define _lto_cflags %{nil}
|
||||
%endif
|
||||
|
||||
%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
|
||||
%ifarch s390 s390x %{arm} aarch64 %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 \
|
||||
# Disable dwz on aarch64, because it takes a huge amount of time to decide not to optimize things.
|
||||
%ifarch aarch64
|
||||
%define _find_debuginfo_dwz_opts %{nil}
|
||||
%endif
|
||||
|
||||
# TODO: Drop the HAVE_CXX_ATOMICS64_WITHOUT_LIB once clang15 is in the buildroot. It looks like
|
||||
# previously clang emitted __atomic_load for std::atomic<double>, which is not detected by cmake.
|
||||
%cmake -G Ninja \
|
||||
%ifarch %ix86
|
||||
-DHAVE_CXX_ATOMICS64_WITHOUT_LIB=OFF \
|
||||
%endif
|
||||
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DPYTHON_EXECUTABLE=%{__python3} \
|
||||
-DCMAKE_INSTALL_RPATH:BOOL=";" \
|
||||
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||
%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} \
|
||||
%if %{with compat_build}
|
||||
-DCLANG_BUILD_TOOLS:BOOL=OFF \
|
||||
-DLLVM_CONFIG:FILEPATH=%{pkg_bindir}/llvm-config-%{maj_ver}-%{__isa_bits} \
|
||||
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
||||
-DCLANG_INCLUDE_TESTS:BOOL=OFF \
|
||||
%else
|
||||
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
||||
-DLLVM_BUILD_UTILS:BOOL=ON \
|
||||
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../%{clang_tools_srcdir} \
|
||||
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
||||
-DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
|
||||
%if 0%{?__isa_bits} == 64
|
||||
|
@ -306,10 +340,10 @@ cd _build
|
|||
%endif
|
||||
%endif
|
||||
\
|
||||
%if !0%{compat_build}
|
||||
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
|
||||
%if %{with compat_build}
|
||||
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen-%{maj_ver} \
|
||||
%else
|
||||
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen-%{maj_ver}.%{min_ver} \
|
||||
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
|
||||
%endif
|
||||
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
||||
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
||||
|
@ -321,36 +355,55 @@ cd _build
|
|||
-DLLVM_BUILD_DOCS=ON \
|
||||
-DLLVM_ENABLE_SPHINX=ON \
|
||||
-DCLANG_LINK_CLANG_DYLIB=ON \
|
||||
%{?abi_revision:-DLLVM_ABI_REVISION=%{abi_revision}} \
|
||||
-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="%{?dist_vendor} %{version}-%{release}" \
|
||||
%ifarch %{arm}
|
||||
-DCLANG_DEFAULT_LINKER=lld \
|
||||
%endif
|
||||
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
||||
|
||||
%ninja_build
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%ninja_install -C _build
|
||||
|
||||
%if 0%{?compat_build}
|
||||
%cmake_install
|
||||
|
||||
%if %{with 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}/
|
||||
# Remove scanview-py helper libs
|
||||
rm -Rf %{buildroot}%{install_prefix}/lib/{libear,libscanbuild}
|
||||
|
||||
%else
|
||||
|
||||
# File in the macros file for other packages to use. We are not doing this
|
||||
# in the compat package, because the version macros would # conflict with
|
||||
# eachother if both clang and the clang compat package were installed together.
|
||||
install -p -m0644 -D %{SOURCE5} %{buildroot}%{_rpmmacrodir}/macros.%{name}
|
||||
sed -i -e "s|@@CLANG_MAJOR_VERSION@@|%{maj_ver}|" \
|
||||
-e "s|@@CLANG_MINOR_VERSION@@|%{min_ver}|" \
|
||||
-e "s|@@CLANG_PATCH_VERSION@@|%{patch_ver}|" \
|
||||
%{buildroot}%{_rpmmacrodir}/macros.%{name}
|
||||
|
||||
# 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
|
||||
|
||||
# install scanbuild-py to python sitelib.
|
||||
mv %{buildroot}%{_prefix}/lib/{libear,libscanbuild} %{buildroot}%{python3_sitelib}
|
||||
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/{libear,libscanbuild}
|
||||
|
||||
# Fix permissions of scan-view scripts
|
||||
chmod a+x %{buildroot}%{_datadir}/scan-view/{Reporter.py,startfile.py}
|
||||
|
||||
# multilib fix
|
||||
%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h
|
||||
|
||||
|
@ -365,9 +418,9 @@ 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
|
||||
rm -Rvf %{buildroot}%{_docdir}/Clang/clang/html
|
||||
rm -Rvf %{buildroot}%{_datadir}/clang/clang-doc-default-stylesheet.css
|
||||
rm -Rvf %{buildroot}%{_datadir}/clang/index.js
|
||||
|
||||
# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
|
||||
rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
|
||||
|
@ -384,26 +437,54 @@ ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
|
|||
# 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
|
||||
|
||||
%endif
|
||||
|
||||
# Create sub-directories in the clang resource directory that will be
|
||||
# populated by other packages
|
||||
mkdir -p %{buildroot}%{pkg_libdir}/clang/%{version}/{include,lib,share}/
|
||||
|
||||
|
||||
# Remove clang-tidy headers. We don't ship the libraries for these.
|
||||
rm -Rvf %{buildroot}%{_includedir}/clang-tidy/
|
||||
|
||||
%if %{without compat_build}
|
||||
# Add a symlink in /usr/bin to clang-format-diff
|
||||
ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if !0%{?compat_build}
|
||||
%if %{without compat_build}
|
||||
%if %{with check}
|
||||
# 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.
|
||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
||||
%ifarch s390x i686 ppc64le %{arm}
|
||||
# FIXME: Fix failing ARM tests
|
||||
LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} check-all -C %{__cmake_builddir} || \
|
||||
%ifarch %{arm}
|
||||
:
|
||||
%else
|
||||
:
|
||||
false
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
||||
|
||||
%if !0%{?compat_build}
|
||||
%if %{without compat_build}
|
||||
%files
|
||||
%{clang_binaries}
|
||||
%license LICENSE.TXT
|
||||
%{_bindir}/clang
|
||||
%{_bindir}/clang++
|
||||
%{_bindir}/clang-%{maj_ver}
|
||||
%{_bindir}/clang++-%{maj_ver}
|
||||
%{_bindir}/clang-cl
|
||||
%{_bindir}/clang-cpp
|
||||
%{_mandir}/man1/clang.1.gz
|
||||
%{_mandir}/man1/clang++.1.gz
|
||||
%{_mandir}/man1/clang-%{maj_ver}.1.gz
|
||||
|
@ -411,7 +492,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
|||
%endif
|
||||
|
||||
%files libs
|
||||
%if !0%{?compat_build}
|
||||
%if %{without compat_build}
|
||||
%{_libdir}/clang/
|
||||
%{_libdir}/*.so.*
|
||||
%else
|
||||
|
@ -420,12 +501,14 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
|||
%endif
|
||||
|
||||
%files devel
|
||||
%if !0%{?compat_build}
|
||||
%if %{without compat_build}
|
||||
%{_libdir}/*.so
|
||||
%{_includedir}/clang/
|
||||
%{_includedir}/clang-c/
|
||||
%{_libdir}/cmake/*
|
||||
%{_bindir}/clang-tblgen
|
||||
%dir %{_datadir}/clang/
|
||||
%{_rpmmacrodir}/macros.%{name}
|
||||
%else
|
||||
%{pkg_libdir}/*.so
|
||||
%{pkg_includedir}/clang/
|
||||
|
@ -433,21 +516,65 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
|||
%{pkg_libdir}/cmake/
|
||||
%endif
|
||||
|
||||
%if !0%{?compat_build}
|
||||
%files resource-filesystem
|
||||
%dir %{pkg_libdir}/clang/%{version}/
|
||||
%dir %{pkg_libdir}/clang/%{version}/include/
|
||||
%dir %{pkg_libdir}/clang/%{version}/lib/
|
||||
%dir %{pkg_libdir}/clang/%{version}/share/
|
||||
%if %{without compat_build}
|
||||
%{pkg_libdir}/clang/%{maj_ver}
|
||||
%endif
|
||||
|
||||
%if %{without compat_build}
|
||||
%files analyzer
|
||||
%{_bindir}/scan-view
|
||||
%{_bindir}/scan-build
|
||||
%{_bindir}/analyze-build
|
||||
%{_bindir}/intercept-build
|
||||
%{_bindir}/scan-build-py
|
||||
%{_libexecdir}/ccc-analyzer
|
||||
%{_libexecdir}/c++-analyzer
|
||||
%{_libexecdir}/analyze-c++
|
||||
%{_libexecdir}/analyze-cc
|
||||
%{_libexecdir}/intercept-c++
|
||||
%{_libexecdir}/intercept-cc
|
||||
%{_datadir}/scan-view/
|
||||
%{_datadir}/scan-build/
|
||||
%{_mandir}/man1/scan-build.1.*
|
||||
%{python3_sitelib}/libear
|
||||
%{python3_sitelib}/libscanbuild
|
||||
|
||||
|
||||
%files tools-extra
|
||||
%{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-packager
|
||||
%{_bindir}/clang-offload-wrapper
|
||||
%{_bindir}/clang-linker-wrapper
|
||||
%{_bindir}/clang-nvlink-wrapper
|
||||
%{_bindir}/clang-pseudo
|
||||
%{_bindir}/clang-query
|
||||
%{_bindir}/clang-refactor
|
||||
%{_bindir}/clang-rename
|
||||
%{_bindir}/clang-reorder-fields
|
||||
%{_bindir}/clang-repl
|
||||
%{_bindir}/clang-scan-deps
|
||||
%{_bindir}/clang-tidy
|
||||
%{_bindir}/clangd
|
||||
%{_bindir}/diagtool
|
||||
%{_bindir}/hmaptool
|
||||
%{_bindir}/pp-trace
|
||||
%{_bindir}/c-index-test
|
||||
%{_bindir}/find-all-symbols
|
||||
%{_bindir}/modularize
|
||||
%{_bindir}/clang-format-diff
|
||||
%{_mandir}/man1/diagtool.1.gz
|
||||
%{_emacs_sitestartdir}/clang-format.el
|
||||
%{_emacs_sitestartdir}/clang-rename.el
|
||||
|
@ -456,7 +583,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
|||
%{_datadir}/clang/clang-format-diff.py*
|
||||
%{_datadir}/clang/clang-include-fixer.py*
|
||||
%{_datadir}/clang/clang-tidy-diff.py*
|
||||
%{_datadir}/clang/run-clang-tidy.py*
|
||||
%{_bindir}/run-clang-tidy
|
||||
%{_datadir}/clang/run-find-all-symbols.py*
|
||||
%{_datadir}/clang/clang-rename.py*
|
||||
|
||||
|
@ -469,6 +596,260 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
|||
|
||||
%endif
|
||||
%changelog
|
||||
* Wed Sep 14 2022 Nikita Popov <npopov@redhat.com> - 15.0.0-2
|
||||
- Downgrade implicit int and implicit function declaration to warning only
|
||||
|
||||
* Tue Sep 06 2022 Nikita Popov <npopov@redhat.com> - 15.0.0-1
|
||||
- Update to LLVM 15.0.0
|
||||
|
||||
* Mon Aug 29 2022 sguelton@redhat.com - 14.0.5-7
|
||||
- Add a Recommends on libatomic, see rhbz#2118592
|
||||
|
||||
* Wed Aug 10 2022 Nikita Popov <npopov@redhat.com> - 14.0.5-6
|
||||
- Revert powerpc -mabi=ieeelongdouble default
|
||||
|
||||
* Thu Aug 04 2022 Tom Stellard <tstellar@redhat.com> - 14.0.5-5
|
||||
- Re-enable ieee128 as the default long double format on ppc64le
|
||||
|
||||
* Thu Jul 28 2022 Amit Shah <amitshah@fedoraproject.org> - 14.0.5-4
|
||||
- Use the dist_vendor macro to identify the distribution
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 14.0.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Thu Jun 30 2022 Miro Hrončok <mhroncok@redhat.com> - 14.0.5-2
|
||||
- Revert "Use the ieee128 format for long double on ppc64le" until rhbz#2100546 is fixed
|
||||
|
||||
* Tue Jun 14 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.5-1
|
||||
- Update to 14.0.5
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 14.0.0-4
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Thu May 19 2022 Tom Stellard <tstellar@redhat.com> - 14.0.0-3
|
||||
- Use the ieee128 format for long double on ppc64le
|
||||
|
||||
* Mon Apr 04 2022 Jeremy Newton <alexjnewt AT hotmail DOT com> - 14.0.0-2
|
||||
- Add patch for HIP (cherry-picked from llvm trunk, to be LLVM15)
|
||||
|
||||
* Wed Mar 23 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.0-1
|
||||
- Update to 14.0.0
|
||||
|
||||
* Wed Feb 16 2022 Tom Stellard <tstellar@redhat.com> - 13.0.1-2
|
||||
- Fix some rpmlinter errors
|
||||
|
||||
* Thu Feb 03 2022 Nikita Popov <npopov@redhat.com> - 13.0.1-1
|
||||
- Update to LLVM 13.0.1 final
|
||||
|
||||
* Tue Feb 01 2022 Nikita Popov <npopov@redhat.com> - 13.0.1~rc3-1
|
||||
- Update to LLVM 13.0.1rc3
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 13.0.1~rc2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jan 14 2022 Nikita Popov <npopov@redhat.com> - 13.0.1~rc2-1
|
||||
- Update to LLVM 13.0.1rc2
|
||||
|
||||
* Wed Jan 12 2022 Nikita Popov <npopov@redhat.com> - 13.0.1~rc1-1
|
||||
- Update to LLVM 13.0.1rc1
|
||||
|
||||
* Thu Oct 28 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-5
|
||||
- Make lld the default linker on arm
|
||||
|
||||
* Wed Oct 27 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-4
|
||||
- Remove Conflicts: compiler-rt for newer versions of compiler-rt
|
||||
|
||||
* Wed Oct 06 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-3
|
||||
- Fix gcc detection with redhat triples
|
||||
|
||||
* Tue Oct 05 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-2
|
||||
- Drop abi_revision from soname
|
||||
|
||||
* Fri Oct 01 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-1
|
||||
- 13.0.0 Release
|
||||
|
||||
* Sat Sep 18 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-5
|
||||
- 13.0.0-rc3 Release
|
||||
|
||||
* Tue Sep 14 2021 Konrad Kleine <kkleine@redhat.com> - 13.0.0~rc1-4
|
||||
- Add --without=check option
|
||||
|
||||
* Fri Sep 10 2021 sguelton@redhat.com - 13.0.0~rc1-3
|
||||
- Apply scan-build-py intergation patch
|
||||
|
||||
* Thu Sep 09 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-2
|
||||
- Add macros.clang file
|
||||
|
||||
* Fri Aug 06 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-1
|
||||
- 13.0.0-rc1 Release
|
||||
|
||||
* Thu Jul 22 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1-3
|
||||
- Fix compat build
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jul 13 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1-1
|
||||
- 12.0.1 Release
|
||||
|
||||
* Fri Jul 09 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1~rc3-2
|
||||
- Fix ambiguous python shebangs
|
||||
|
||||
* Wed Jun 30 2021 Tom Stellard <tstellar@redhat.com> - clang-12.0.1~rc3-1
|
||||
- 12.0.1-rc3 Release
|
||||
|
||||
* Tue Jun 08 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1~rc1-3
|
||||
- Only enable -funwind-tables by default on Fedora arches
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 12.0.1~rc1-2
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Thu May 27 2021 Tom Stellard <tstellar@redhat.com> - clang-12.0.1~rc1-1
|
||||
- 12.0.1-rc1 Release
|
||||
|
||||
* Tue May 18 2021 sguelton@redhat.com - 12.0.0-2
|
||||
- Use the alternative-managed version of llvm-config
|
||||
|
||||
* Fri Apr 16 2021 Tom Stellard <tstellar@redhat.cm> - 12.0.0-1
|
||||
- 12.0.0 Release
|
||||
|
||||
* Wed Apr 14 2021 Tom Stellard <tstellar@redhat.com> - 12.0.0-0.12.rc5
|
||||
- Add symlink to clang-format-diff in /usr/bin
|
||||
- rhbz#1939018
|
||||
|
||||
* Thu Apr 08 2021 sguelton@redhat.com - 12.0.0-0.11.rc5
|
||||
- New upstream release candidate
|
||||
|
||||
* Sat Apr 03 2021 sguelton@redhat.com - 12.0.0-0.10.rc4
|
||||
- Make pyc files from python3-clang reproducible
|
||||
|
||||
* Fri Apr 02 2021 sguelton@redhat.com - 12.0.0-0.9.rc4
|
||||
- New upstream release candidate
|
||||
|
||||
* Wed Mar 31 2021 Jonathan Wakely <jwakely@redhat.com> - 12.0.0-0.8.rc3
|
||||
- Rebuilt for removed libstdc++ symbols (#1937698)
|
||||
|
||||
* Mon Mar 15 2021 sguelton@redhat.com - 12.0.0-0.7.rc3
|
||||
- Apply patch D97846 to fix rhbz#1934065
|
||||
|
||||
* Mon Mar 15 2021 Timm Bäder <tbaeder@redhat.com> 12.0.0-0.6.rc3
|
||||
- Set CLANG_DEFAULT_UNWIND_LIB instead of using custom patch
|
||||
- Add toolchains test to the tests.yml
|
||||
|
||||
* Thu Mar 11 2021 sguelton@redhat.com - 12.0.0-0.5.rc3
|
||||
- LLVM 12.0.0 rc3
|
||||
|
||||
* Tue Mar 09 2021 sguelton@redhat.com - 12.0.0-0.4.rc2
|
||||
- rebuilt
|
||||
|
||||
* Mon Mar 01 2021 sguelton@redhat.com - 12.0.0-0.3.rc2
|
||||
- Reapply some wrongly removed patch
|
||||
|
||||
* Wed Feb 24 2021 sguelton@redhat.com - 12.0.0-0.2.rc2
|
||||
- 12.0.0-rc2 release
|
||||
|
||||
* Sun Feb 14 2021 sguelton@redhat.com - 12.0.0-0.1.rc1
|
||||
- 12.0.0-rc1 release
|
||||
|
||||
* Tue Feb 09 2021 Tom Stellard <tstellar@redhat.com> - 11.1.0-0.5.rc2
|
||||
- Remove some unnecessary scan-view files
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-0.4.rc2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jan 22 2021 Serge Guelton - 11.1.0-0.3.rc2
|
||||
- 11.1.0-rc2 release
|
||||
|
||||
* Wed Jan 20 2021 Serge Guelton - 11.1.0-0.2.rc1
|
||||
- rebuilt with https://reviews.llvm.org/D94941 applied.
|
||||
|
||||
* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1
|
||||
- 11.1.0-rc1 release
|
||||
|
||||
* Wed Jan 06 2021 Serge Guelton - 11.0.1-4
|
||||
- LLVM 11.0.1 final
|
||||
|
||||
* Sun Dec 20 2020 sguelton@redhat.com - 11.0.1-3.rc2
|
||||
- llvm 11.0.1-rc2
|
||||
|
||||
* Wed Dec 16 2020 Tom Stellard <tstellar@redhat.com> - 11.0.1-2.rc1
|
||||
- Don't build with -flto
|
||||
|
||||
* Tue Dec 01 2020 sguelton@redhat.com - 11.0.1-1.rc1
|
||||
- llvm 11.0.1-rc1
|
||||
|
||||
* Thu Oct 29 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-3
|
||||
- Remove -ffat-lto-objects compiler flag
|
||||
|
||||
* Wed Oct 28 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-2
|
||||
- Add clang-resource-filesystem sub-package
|
||||
|
||||
* Thu Oct 15 2020 sguelton@redhat.com - 11.0.0-1
|
||||
- Fix NVR
|
||||
|
||||
* Mon Oct 12 2020 sguelton@redhat.com - 11.0.0-0.7
|
||||
- llvm 11.0.0 - final release
|
||||
|
||||
* Thu Oct 08 2020 sguelton@redhat.com - 11.0.0-0.6.rc6
|
||||
- 11.0.0-rc6
|
||||
|
||||
* Fri Oct 02 2020 sguelton@redhat.com - 11.0.0-0.5.rc5
|
||||
- 11.0.0-rc5 Release
|
||||
|
||||
* Sun Sep 27 2020 sguelton@redhat.com - 11.0.0-0.4.rc3
|
||||
- Fix NVR
|
||||
|
||||
* Thu Sep 24 2020 sguelton@redhat.com - 11.0.0-0.1.rc3
|
||||
- 11.0.0-rc3 Release
|
||||
|
||||
* Tue Sep 22 2020 sguelton@redhat.com - 11.0.0-0.3.rc2
|
||||
- Prefer gcc toolchains with libgcc_s
|
||||
|
||||
* Tue Sep 01 2020 sguelton@redhat.com - 11.0.0-0.2.rc2
|
||||
- Normalize some doc directory locations
|
||||
|
||||
* Tue Sep 01 2020 sguelton@redhat.com - 11.0.0-0.1.rc2
|
||||
- 11.0.0-rc2 Release
|
||||
- Use %%license macro
|
||||
|
||||
* Tue Aug 11 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.2.rc1
|
||||
- Fix test failures
|
||||
|
||||
* Mon Aug 10 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.1.rc1
|
||||
- 11.0.0-rc1 Release
|
||||
|
||||
* Tue Aug 04 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-11
|
||||
- Remove Requires: emacs-filesystem
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-10
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Jeff Law <law@redhat.com> - 10.0.0-9
|
||||
- Disable LTO on arm and i686
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 20 2020 sguelton@redhat.com - 10.0.0-7
|
||||
- Update cmake macro usage
|
||||
- Finalize source verification
|
||||
|
||||
* Fri Jun 26 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-6
|
||||
- Add cet.h header
|
||||
|
||||
* Mon Jun 08 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-5
|
||||
- Accept multiple --config options
|
||||
|
||||
* Wed Jun 3 2020 Dan Čermák <dan.cermak@cgc-instruments.com> - 10.0.0-4
|
||||
- Add symlink to %%{_libdir}/clang/%%{maj_ver} for persistent access to the resource directory accross minor version bumps
|
||||
|
||||
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 10.0.0-3
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Tue May 19 2020 sguelton@redhat.com - 10.0.0-2
|
||||
- Backport ad7211df6f257e39da2e5a11b2456b4488f32a1e, see rhbz#1825593
|
||||
|
||||
* Thu Mar 26 2020 sguelton@redhat.com - 10.0.0-1
|
||||
- 10.0.0 final
|
||||
|
||||
|
|
|
@ -3,10 +3,10 @@ product_versions:
|
|||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
||||
- !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: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
%clang_major_version @@CLANG_MAJOR_VERSION@@
|
||||
%clang_minor_version @@CLANG_MINOR_VERSION@@
|
||||
%clang_patch_version @@CLANG_PATCH_VERSION@@
|
||||
|
||||
%clang_version %{clang_major_version}.%{clang_minor_version}.%{clang_patch_version}
|
||||
|
||||
# This is the path to the clang resource directory that has clang's internal
|
||||
# headers and libraries. This path should be used by packages that need to
|
||||
# install files into this directory. This macro's value changes every time
|
||||
# clang's version changes.
|
||||
%clang_resource_dir %{_libdir}/clang/%{clang_version}
|
||||
|
||||
# This is the path to the clang resource directory that should be used
|
||||
# by packages that need to read files from this directory at runtime.
|
||||
# This macro only changes when clang's major version changes.
|
||||
%clang_resource_dir_readonly %{_libdir}/clang/%{clang_major_version}
|
|
@ -0,0 +1,104 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
|
||||
=Lvw+
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=tMzl
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
8
sources
8
sources
|
@ -1,4 +1,4 @@
|
|||
SHA512 (clang-10.0.0.src.tar.xz.sig) = cb46d9c616de9ba6e11602269f93a003fc24951b75844d2d62ad7c435bd9ace0357bf396141b9a3e97034f617ad8f301a1a5556a3feb94b17647f8b76c0b6236
|
||||
SHA512 (clang-tools-extra-10.0.0.src.tar.xz.sig) = f0527b315ce9f2c86a19dabd462d0d466ac0843262f06d5f2b69333f77457ec9cb99f8ce9fdaa00048dfaec3de5613fb884c4259acd4a75463ba3c6714e35423
|
||||
SHA512 (clang-tools-extra-10.0.0.src.tar.xz) = 33b6019e64e9ac94bd7c000b77a4a927602a2705baa9b370e392a56b53fe09c8dad1ff7d583892729e9eb291440433ad7d71df768a96d927e4dbc1988fc01d99
|
||||
SHA512 (clang-10.0.0.src.tar.xz) = b1cccc13c46abcda3d689f51d486fa613ecec40c581c72d8b15951715100a2b8fb24370161601e6716cdba5a784337439e99ec2f0766f988e9cce92de6d775da
|
||||
SHA512 (clang-tools-extra-15.0.0.src.tar.xz) = 74e42df5a5496eacb69f172ac77a33fdf19be63cdab22c6bf5f7a9acdf9742bd48f8ee791cdf8bb14c17df9ba1e3b07c6e95ac68c62e4180acbd510fa971da49
|
||||
SHA512 (clang-tools-extra-15.0.0.src.tar.xz.sig) = b6adbffa21483f125fbe2712d7d20df9be2d05ea354f170b5d08f80499fdcf2eb37a4f2e5781dfdce124687fb94935f535aea37ff2d5ab6d81ffe88324a9272f
|
||||
SHA512 (clang-15.0.0.src.tar.xz) = cf6eab1bd4623e0bcf844839f5008ec49f83c9b4eb145de21798125a2c8798909007ed7c74a2ade1eed4b210a62750411b8dcad37263148a5ffca81988cf7dc4
|
||||
SHA512 (clang-15.0.0.src.tar.xz.sig) = 6c15f4783512c402079af42f1ae55a9d3e03f622bbda5bd789e8902ef03a365d75d3765d4bf50975a75f116e72e780a5226ab2ad3e145c83a1cbf65fdee8d271
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
summary: libomp 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"
|
||||
|
||||
- because: "libomp not supported in s390x"
|
||||
when: arch == s390x
|
||||
enabled: false
|
||||
|
||||
discover:
|
||||
how: fmf
|
||||
test: libomp
|
||||
execute:
|
||||
how: tmt
|
||||
prepare:
|
||||
# We want to make sure libomp is not already present on the system to ensure
|
||||
# that clang pulls in the correct libomp dependencies when it is installed.
|
||||
- name: Drop libomp
|
||||
how: shell
|
||||
script: |
|
||||
yum erase -y libomp libomp-devel clang clang-libs
|
||||
provision:
|
||||
hardware:
|
||||
memory: ">= 4 GiB"
|
|
@ -0,0 +1,32 @@
|
|||
summary: PoCL 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: "PoCL is shipped with Fedora, not RHEL/CentOS"
|
||||
when: >-
|
||||
distro == rhel
|
||||
or distro == centos
|
||||
enabled: false
|
||||
|
||||
discover:
|
||||
how: fmf
|
||||
test: pocl
|
||||
execute:
|
||||
how: tmt
|
||||
prepare:
|
||||
# Programs linked against pocl should be able to run without clang installed,
|
||||
# so when we run the test we want to make sure clang is not installed to
|
||||
# verify we haven't introduced an implicit dependency on clang.
|
||||
- name: Drop clang
|
||||
how: shell
|
||||
script: |
|
||||
dnf erase -y clang
|
||||
|
||||
provision:
|
||||
hardware:
|
||||
memory: ">= 4 GiB"
|
|
@ -0,0 +1,63 @@
|
|||
#
|
||||
# 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
|
||||
filter: "tag:-not-in-default"
|
||||
- name: upstream-llvm-integration-testsuite
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/rpms/llvm.git
|
||||
ref: rawhide
|
||||
test: integration-test-suite
|
||||
execute:
|
||||
how: tmt
|
||||
provision:
|
||||
hardware:
|
||||
memory: ">= 4 GiB"
|
|
@ -0,0 +1,15 @@
|
|||
summary: clang-format-diff
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
adjust:
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require:
|
||||
- clang-tools-extra
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require:
|
||||
- llvm-toolset-13.0-clang-tools-extra
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require:
|
||||
- llvm-toolset-14.0-clang-tools-extra
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
# Check that clang-format-diff is in PATH.
|
||||
# rhbz#1939018
|
||||
clang-format-diff -h
|
|
@ -0,0 +1,5 @@
|
|||
#include <stdio.h>
|
||||
|
||||
void hello() {
|
||||
printf("Hello World\n");
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
#include <iostream>
|
||||
|
||||
void hello() {
|
||||
std::cout << "Hello World\n";
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
void hello();
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
hello();
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
void hello();
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
hello();
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
summary: fedora-flags
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
require:
|
||||
- redhat-rpm-config
|
||||
adjust:
|
||||
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require+:
|
||||
- clang
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-clang
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-clang
|
||||
when: "collection == llvm-toolset-14.0"
|
||||
|
||||
- because: s390x does not have epel repo which is required to provide rpm macros
|
||||
enabled: false
|
||||
when: >-
|
||||
distro == rhel-7
|
||||
and arch == s390x
|
||||
|
||||
# Note: this needs epel-release repo to be available
|
||||
- because: "To enable rpm macros not available by default (e.g. build_cflags), epel-rpm-macros is needed"
|
||||
require+:
|
||||
- epel-rpm-macros
|
||||
when: distro == rhel-7
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
set pipefail
|
||||
|
||||
cflags=`rpm -D '%toolchain clang' -E %{build_cflags}`
|
||||
cxxflags=`rpm -D '%toolchain clang' -E %{build_cxxflags}`
|
||||
ldflags=`rpm -D '%toolchain clang' -E %{build_ldflags}`
|
||||
|
||||
|
||||
# Test a c program
|
||||
clang $cflags -c hello.c -o hello.o
|
||||
clang $cflags -c main.c -o main.o
|
||||
clang $ldflags -o hello main.o hello.o
|
||||
./hello | grep "Hello World"
|
||||
|
||||
# Test a cxx program
|
||||
clang++ $cxxflags -c hello.cpp -o hello-cpp.o
|
||||
clang++ $cxxflags -c main.cpp -o main-cpp.o
|
||||
clang++ $ldflags -o hello-cpp main-cpp.o hello-cpp.o
|
||||
./hello-cpp | grep "Hello World"
|
|
@ -0,0 +1,36 @@
|
|||
# TODO: get fitting summary - what's the purpose of this test? Comment from the STI version says:
|
||||
#
|
||||
# We want to make sure libomp is not already present on the system to ensure
|
||||
# that clang pulls in the correct libomp dependencies when it is installed.
|
||||
summary: libomp tests
|
||||
# This test requires a special preparation, see `/tests/tests-libomp` plan. As such,
|
||||
# it shouldn't be part of the `/tests/default` plan.
|
||||
tag:
|
||||
- not-in-default
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
adjust:
|
||||
- because: "libomp is not supported in s390x"
|
||||
when: arch == s390x
|
||||
enabled: false
|
||||
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require:
|
||||
- clang
|
||||
- clang-libs
|
||||
- libomp
|
||||
- libomp-devel
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require:
|
||||
- llvm-toolset-13.0-clang
|
||||
- llvm-toolset-13.0-clang-libs
|
||||
- llvm-toolset-13.0-libomp
|
||||
- llvm-toolset-13.0-libomp-devel
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require:
|
||||
- llvm-toolset-14.0-clang
|
||||
- llvm-toolset-14.0-clang-libs
|
||||
- llvm-toolset-14.0-libomp
|
||||
- llvm-toolset-14.0-libomp-devel
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,8 @@
|
|||
#include <omp.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int nthreads = omp_get_num_threads();
|
||||
printf("Num Threads: %d\n", nthreads);
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -exo pipefail
|
||||
|
||||
clang -fopenmp openmp-compile-link-test.c
|
||||
|
||||
./a.out | grep "Num Threads: 1"
|
|
@ -0,0 +1,18 @@
|
|||
# TODO: once llvm-test-suite is converted to TMT, we can just link the test from plan.
|
||||
summary: Run tests from llvm-test-suite package
|
||||
|
||||
adjust:
|
||||
- because: "llvm-test-suite is available for Fedora, not RHEL/CentOS"
|
||||
when: >-
|
||||
distro == rhel
|
||||
or distro == centos
|
||||
enabled: false
|
||||
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
|
||||
require:
|
||||
- git
|
||||
- clang
|
||||
- ninja-build
|
||||
- llvm-test-suite
|
||||
duration: 1h
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
# TODO: tmt does not support a remote git repo as a requirement, one has to clone it "manually".
|
||||
|
||||
git clone --depth 1 https://src.fedoraproject.org/rpms/llvm-test-suite.git llvm-test-suite
|
||||
cd llvm-test-suite/tests/test-suite
|
||||
./runtest.sh
|
|
@ -0,0 +1,30 @@
|
|||
summary: Test build a simple RPM package to ensure that -fopenmp works
|
||||
test: "$WITH_SCL ./runtest.sh"
|
||||
require:
|
||||
- rpm-build
|
||||
adjust:
|
||||
- because: "libomp not supported in s390x"
|
||||
when: arch == s390x
|
||||
enabled: false
|
||||
|
||||
- because: "Use yum in RHEL < 8"
|
||||
require+:
|
||||
- yum-utils
|
||||
environment+:
|
||||
BUILDDEP_CMD: "yum-builddep"
|
||||
when: distro < rhel-8
|
||||
|
||||
- because: "Use dnf in RHEL >= 8, Fedora and CentOS"
|
||||
require+:
|
||||
- dnf-plugins-core
|
||||
environment+:
|
||||
BUILDDEP_CMD: "dnf builddep"
|
||||
when: distro >= rhel-8 or distro != rhel
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-build
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-build
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
${BUILDDEP_CMD} -y test.spec
|
||||
rpmbuild --define '_sourcedir .' --define '_builddir .' -bb test.spec
|
|
@ -0,0 +1,7 @@
|
|||
int main(int argc, char **argv) {
|
||||
int res = 1;
|
||||
#pragma omp parallel
|
||||
#pragma omp single
|
||||
res = 0;
|
||||
return res;
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
%global toolchain clang
|
||||
%{?scl:%global scl_prefix %{scl}-}
|
||||
|
||||
Name: test
|
||||
Version: 1
|
||||
Release: 1
|
||||
Summary: Test package for checking that RPM packages using -fopenmp build correctly
|
||||
License: MIT
|
||||
|
||||
BuildRequires: %{?scl_prefix}clang
|
||||
BuildRequires: %{?scl_prefix}libomp
|
||||
|
||||
Source0: test.c
|
||||
|
||||
%description
|
||||
clang was adding RUNPATH to binaries that use OpenMP, and since RUNPATH
|
||||
is prohibited in Fedora builds, this was causing packages using clang
|
||||
and OpenMP to fail to build.
|
||||
|
||||
References:
|
||||
https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild
|
||||
https://github.com/llvm/llvm-project/commit/9b9d08111b618d74574ba03e5cc3d752ecc56f55
|
||||
|
||||
%build
|
||||
clang ${CFLAGS} -c %{SOURCE0} -o test.o
|
||||
clang ${LDFLAGS} -fopenmp test.o -o main
|
||||
|
||||
%check
|
||||
./main
|
||||
|
||||
%install
|
||||
install -d %{buildroot}%{_bindir}
|
||||
install main %{buildroot}%{_bindir}
|
||||
|
||||
%files
|
||||
%{_bindir}/main
|
|
@ -0,0 +1,24 @@
|
|||
# TODO REVIEW: get fitting summary - what's the purpose of this test? Comment from the STI version says:
|
||||
#
|
||||
# This is separate from tests.yml because we want to run the tests without
|
||||
# clang installed.
|
||||
summary: pocl
|
||||
|
||||
adjust:
|
||||
- because: "PoCL is shipped with Fedora, not RHEL/CentOS"
|
||||
when: >-
|
||||
distro == rhel
|
||||
or distro == centos
|
||||
enabled: false
|
||||
|
||||
# This test requires a special preparation, see `/tests/tests-pocl` plan. As such,
|
||||
# it shouldn't be part of the `/tests/default` plan.
|
||||
tag:
|
||||
- not-in-default
|
||||
# rhbz#1582884
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
require:
|
||||
- git
|
||||
- ocl-icd-devel
|
||||
- pocl
|
||||
- gcc
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
# TODO: tmt does not support a remote git repo as a requirement, one has to clone it "manually".
|
||||
|
||||
git clone --depth 1 https://src.fedoraproject.org/rpms/pocl.git pocl
|
||||
cd pocl/tests/simple-opencl-no-clang
|
||||
./runtest.sh
|
|
@ -0,0 +1,33 @@
|
|||
summary: Test that gcc and clang use the same long double format on ppc64le
|
||||
test: $WITH_SCL ./runtest.sh
|
||||
duration: 1h
|
||||
# see https://bugzilla.redhat.com/show_bug.cgi?id=2115752
|
||||
enabled: false
|
||||
adjust:
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require+:
|
||||
- clang
|
||||
when: "collection is not defined"
|
||||
|
||||
- because: "Fedora CI runs in x86_64 only, emulate with qemu and mock"
|
||||
require+:
|
||||
- qemu-user-static
|
||||
- mock
|
||||
test: ./runtest-fedora.sh
|
||||
when: distro == fedora and arch == x86_64
|
||||
continue: false
|
||||
|
||||
- enabled: false
|
||||
when: arch != ppc64le
|
||||
|
||||
- require+:
|
||||
- gcc
|
||||
when: distro != fedora
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-clang
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-clang
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,14 @@
|
|||
set -e
|
||||
|
||||
fedora_release=`rpm -E %{fedora}`
|
||||
mock_root=fedora-$fedora_release-ppc64le
|
||||
triple=ppc64le-redhat-linux
|
||||
|
||||
mock -r $mock_root --isolation=simple --install gcc
|
||||
gcc_output=$(mock -r $mock_root --isolation=simple -q --shell gcc -E -dM -x c /dev/null | grep -e __LONG_DOUBLE_IEEE128__ -e __LONG_DOUBLE_IBM128__)
|
||||
clang_output=$(clang -target $triple -E -dM -x c /dev/null | grep -e __LONG_DOUBLE_IEEE128__ -e __LONG_DOUBLE_IBM128__)
|
||||
|
||||
echo "gcc: $gcc_output"
|
||||
echo "clang: $clang_output"
|
||||
|
||||
test "$gcc_output" = "$clang_output"
|
|
@ -0,0 +1,9 @@
|
|||
set -e
|
||||
|
||||
gcc_output=$(gcc -E -dM -x c /dev/null | grep -e __LONG_DOUBLE_IEEE128__ -e __LONG_DOUBLE_IBM128__)
|
||||
clang_output=$(clang -E -dM -x c /dev/null | grep -e __LONG_DOUBLE_IEEE128__ -e __LONG_DOUBLE_IBM128__)
|
||||
|
||||
echo "gcc: $gcc_output"
|
||||
echo "clang: $clang_output"
|
||||
|
||||
test "$gcc_output" = "$clang_output"
|
|
@ -0,0 +1,19 @@
|
|||
summary: RHBZ1647130
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
require: []
|
||||
adjust:
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require+:
|
||||
- clang
|
||||
- clang-analyzer
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-clang
|
||||
- llvm-toolset-13.0-clang-analyzer
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-clang
|
||||
- llvm-toolset-14.0-clang-analyzer
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
tmp_cpp=`mktemp -t XXXXX.cpp`
|
||||
tmp_dir=`mktemp -d`
|
||||
echo 'int main(int argc, char*argv[]) { while(argc--) new int(); return 0; }' > $tmp_cpp
|
||||
scan-build -o $tmp_dir clang++ -c $tmp_cpp -o /dev/null
|
||||
(scan-view --no-browser $tmp_dir/* & WPID=$! && sleep 10s && kill $WPID)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
#include <charconv>
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
size_t r=0;
|
||||
const char *begin = argv[1];
|
||||
const char *end = begin + strlen(begin);
|
||||
from_chars(begin, end, r);
|
||||
cout << r << '\n';
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
summary: RHBZ1657544
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
require: []
|
||||
adjust:
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require+:
|
||||
- clang
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-clang
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-clang
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
clang++ from_chars.cpp
|
||||
./a.out 100 | grep 100
|
|
@ -0,0 +1,17 @@
|
|||
summary: rhbz-482491
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
require:
|
||||
- libgcc
|
||||
adjust:
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require+:
|
||||
- clang
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-clang
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-clang
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
find /usr -name 'libgcc_s.so*' && echo "int main(){}" | clang -v -x c -
|
|
@ -1,22 +0,0 @@
|
|||
- hosts: localhost
|
||||
pre_tasks:
|
||||
# We want to make sure libomp is not already present on the system to ensure
|
||||
# that clang pulls in the correct libomp dependencies when it is installed.
|
||||
- name: Uninstall libomp
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- libomp
|
||||
- libomp-devel
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/clang.git"
|
||||
dest: "clang"
|
||||
required_packages:
|
||||
- clang
|
||||
tests:
|
||||
- clang/libomp
|
|
@ -1,35 +0,0 @@
|
|||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
required_packages:
|
||||
- clang
|
||||
- llvm-test-suite
|
||||
- ninja-build
|
||||
- gcc-x86_64-linux-gnu
|
||||
# FIXME: It would be nice if we could only install dependencies for a
|
||||
# single test rather than installing dependencies for all tests. This
|
||||
# will help us catch bugs with implicit package dependencies e.g.
|
||||
# package A depends on package B but does not have an explicit Requires.
|
||||
# These are required for the llvm-toolchain test:
|
||||
- clang
|
||||
- lld
|
||||
- compiler-rt
|
||||
- libcxx-devel
|
||||
- glibc-devel
|
||||
- gcc
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/llvm-test-suite.git"
|
||||
dest: "llvm-test-suite"
|
||||
- repo: "https://src.fedoraproject.org/tests/clang.git"
|
||||
dest: "clang"
|
||||
tests:
|
||||
- rhbz#482491:
|
||||
dir: ./
|
||||
run: echo "int main(){}" | clang -x c -
|
||||
- llvm-test-suite/test-suite
|
||||
- llvm-test-suite/abi-test-suite
|
||||
- clang/rhbz_1657544
|
||||
- clang/rhbz_1647130
|
||||
- clang/llvm-toolchain
|
|
@ -1,28 +0,0 @@
|
|||
# This is separate from tests.yml because we want to run the tests without
|
||||
# clang installed.
|
||||
# FIXME: Is there some way we can put this yaml definition in the tests/pocl
|
||||
# repo? Right now we need to copy and paste this everywhere the test is run.
|
||||
- hosts: localhost
|
||||
pre_tasks:
|
||||
# Programs linked against pocl should be able to run without clang installed,
|
||||
# so when we run the test we want to make sure clang is not installed to
|
||||
# verify we haven't introduced an implicit dependency on clang.
|
||||
- name: Uninstall clang
|
||||
package:
|
||||
name: clang
|
||||
state: absent
|
||||
tags: classic
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/pocl.git"
|
||||
dest: "pocl"
|
||||
required_packages:
|
||||
- ocl-icd-devel
|
||||
- pocl
|
||||
- gcc
|
||||
tests:
|
||||
# rhbz#1582884
|
||||
- pocl/simple-opencl-no-clang:
|
|
@ -0,0 +1,5 @@
|
|||
#include<stdio.h>
|
||||
int main(int argc, char **argv) {
|
||||
printf("Hello World\n");
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
#include <iostream>
|
||||
int main(int argc, char **argv) {
|
||||
std::cout << "Hello World\n";
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
# TODO REVIEW: better summary
|
||||
summary: ""
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
require:
|
||||
- glibc-static
|
||||
- yum-utils
|
||||
# This require EPEL/CRB to be enabled on RHEL
|
||||
- libstdc++-static
|
||||
adjust:
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require+:
|
||||
- clang
|
||||
- compiler-rt
|
||||
- lld
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-clang
|
||||
- llvm-toolset-13.0-compiler-rt
|
||||
- llvm-toolset-13.0-lld
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-clang
|
||||
- llvm-toolset-14.0-compiler-rt
|
||||
- llvm-toolset-14.0-lld
|
||||
when: "collection == llvm-toolset-14.0"
|
||||
|
||||
# lld not supported in s390x or ppc64. If any lld package was added to
|
||||
# requirements, remove it.
|
||||
- require-:
|
||||
- lld
|
||||
- llvm-toolset-13.0-lld
|
||||
- llvm-toolset-14.0-lld
|
||||
when: arch == s390x or arch == ppc64
|
||||
|
||||
- environment+:
|
||||
CXXLIBS: "libc++"
|
||||
require+:
|
||||
- libcxx-devel
|
||||
- libcxx-static
|
||||
when: "distro == fedora"
|
||||
because: testing against libcxx package in Fedora
|
||||
|
||||
- environment+:
|
||||
CXXLIBS: "libstdc++"
|
||||
require+:
|
||||
- libstdc++
|
||||
when: >-
|
||||
distro == rhel
|
||||
or distro == centos
|
||||
because: testing against libstdc++ package in RHEL as libcxx is not shipped with RHEL
|
||||
|
||||
# TODO REVIEW: are these all requirements? test.sh seems to run quite a lot of stuff, looks like we
|
||||
# need more packages from LLVM family.
|
|
@ -0,0 +1,102 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
set pipefail
|
||||
|
||||
if [ -z "${CXXLIBS:-}" ]; then
|
||||
echo "CXXLIBS variable is a required input but it's not specified!"
|
||||
echo "Test metadata should have picked a proper value, depending on distro."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
status=0
|
||||
|
||||
test_toolchain() {
|
||||
|
||||
toolchain=$@
|
||||
args=""
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case $1 in
|
||||
clang)
|
||||
compiler=$1
|
||||
src=hello.c
|
||||
;;
|
||||
clang++)
|
||||
compiler=$1
|
||||
src=hello.cpp
|
||||
;;
|
||||
compiler-rt)
|
||||
args="$args -rtlib=$1"
|
||||
;;
|
||||
libc++)
|
||||
args="$args -stdlib=$1"
|
||||
;;
|
||||
libstdc++)
|
||||
args="$args -stdlib=$1"
|
||||
;;
|
||||
lld)
|
||||
args="$args -fuse-ld=$1"
|
||||
;;
|
||||
*)
|
||||
args="$args $1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
cmd="$compiler $args $src"
|
||||
rm -f a.out
|
||||
echo "* $toolchain"
|
||||
echo " command: $cmd"
|
||||
if $cmd && ./a.out | grep -q 'Hello World'; then
|
||||
echo " PASS"
|
||||
else
|
||||
echo " FAIL"
|
||||
status=1
|
||||
fi
|
||||
}
|
||||
|
||||
clang --version
|
||||
# Repoquery is needed instead yum info for compatibility with RHEL-7
|
||||
repoquery -i --installed $(rpm -qf $(which clang)) | grep ^Source
|
||||
echo ""
|
||||
|
||||
for compiler in clang clang++; do
|
||||
for rtlib in "" compiler-rt; do
|
||||
for linker in "" lld; do
|
||||
for cxxlib in "" $CXXLIBS; do
|
||||
if [ "$compiler" = "clang" -a -n "$cxxlib" ]; then
|
||||
continue
|
||||
fi
|
||||
for args in "" -static; do
|
||||
# Skip known failures
|
||||
# TODO: Fix these
|
||||
if [[ "$args" = "-static" && "$rtlib" = "compiler-rt" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Static libc++ needs -pthread
|
||||
if [[ "$args" = "-static" && "$cxxlib" = "libc++" ]]; then
|
||||
args="$args -pthread"
|
||||
fi
|
||||
|
||||
# lld is not supported in s390x and ppc64
|
||||
if [[ "$(uname -m)" = "s390x" || "$(uname -m)" = "ppc64" ]] \
|
||||
&& [[ "$linker" = "lld" ]];
|
||||
then
|
||||
continue
|
||||
fi
|
||||
|
||||
# compiler-rt does not provide builtins for s390x
|
||||
if [[ "$(uname -m)" = "s390x" && "$rtlib" = "compiler-rt" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
test_toolchain $compiler $rtlib $linker $cxxlib $args
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
exit $status
|
|
@ -0,0 +1,20 @@
|
|||
summary: Test that clang uses DWARFv4 by default
|
||||
test: "$WITH_SCL ./test.sh"
|
||||
require:
|
||||
- libgcc
|
||||
adjust:
|
||||
# Common requirements when LLVM is not SCL-ized
|
||||
- require+:
|
||||
- clang
|
||||
- llvm
|
||||
when: "collection is not defined"
|
||||
|
||||
# Requirements for SCL-ized LLVM
|
||||
- require+:
|
||||
- llvm-toolset-13.0-clang
|
||||
- llvm-toolset-13.0-llvm
|
||||
when: "collection == llvm-toolset-13.0"
|
||||
- require+:
|
||||
- llvm-toolset-14.0-clang
|
||||
- llvm-toolset-14.0-llvm
|
||||
when: "collection == llvm-toolset-14.0"
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
echo "int main(){ return 0; }" | clang -g -v -x c - 2> build.log
|
||||
# Make sure that clang is using the expected flag to use DWARF 4
|
||||
grep -q "\-dwarf-version=4" build.log
|
||||
# Inspect the binary to double check expected DWARF version
|
||||
llvm-dwarfdump a.out | grep -i version | grep 0x0004
|
Loading…
Reference in New Issue