Compare commits
No commits in common. "imports/c8s-stream-rhel8/llvm-11.0.0-0.6.rc2.module+el8.4.0+8278+baa0f59e" and "c8-stream-rhel8" have entirely different histories.
imports/c8
...
c8-stream-
|
@ -1 +1,6 @@
|
||||||
SOURCES/llvm-11.0.0rc2.src.tar.xz
|
SOURCES/cmake-17.0.6.src.tar.xz
|
||||||
|
SOURCES/cmake-17.0.6.src.tar.xz.sig
|
||||||
|
SOURCES/llvm-17.0.6.src.tar.xz
|
||||||
|
SOURCES/llvm-17.0.6.src.tar.xz.sig
|
||||||
|
SOURCES/third-party-17.0.6.src.tar.xz
|
||||||
|
SOURCES/third-party-17.0.6.src.tar.xz.sig
|
||||||
|
|
|
@ -1 +1,6 @@
|
||||||
18d3831e22c0059a31b82c2c571d2aaec5a194e2 SOURCES/llvm-11.0.0rc2.src.tar.xz
|
4b397344260c934e687be7efa0f8456a9dd46f44 SOURCES/cmake-17.0.6.src.tar.xz
|
||||||
|
fa31d348b6780478403484e22139d25f403503d4 SOURCES/cmake-17.0.6.src.tar.xz.sig
|
||||||
|
860a3605f08a0a56a8de4e073e26a259871623a6 SOURCES/llvm-17.0.6.src.tar.xz
|
||||||
|
2ad479ab00a6d5e61ecb953997cfeef6650a687a SOURCES/llvm-17.0.6.src.tar.xz.sig
|
||||||
|
a35dc22cd3d983a556f6e4a63c8dac6a84e01caf SOURCES/third-party-17.0.6.src.tar.xz
|
||||||
|
12128cdab7414aeedd573c61cbc2fa82e75491db SOURCES/third-party-17.0.6.src.tar.xz.sig
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
diff -Naur a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
|
|
||||||
--- a/llvm/cmake/modules/AddLLVM.cmake 2020-08-20 16:24:59.000000000 +0000
|
|
||||||
+++ b/llvm/cmake/modules/AddLLVM.cmake 2020-09-15 07:09:05.411311520 +0000
|
|
||||||
@@ -760,7 +760,11 @@
|
|
||||||
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
|
||||||
(in_llvm_libs AND "llvm-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS) OR
|
|
||||||
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
|
||||||
- set(export_to_llvmexports EXPORT LLVMExports)
|
|
||||||
+ if (ARG_SHARED)
|
|
||||||
+ set(export_to_llvmexports EXPORT LLVMExports)
|
|
||||||
+ else()
|
|
||||||
+ set(export_to_llvmexports EXPORT LLVMStaticExports)
|
|
||||||
+ endif()
|
|
||||||
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
diff -Naur a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
|
|
||||||
--- a/llvm/cmake/modules/CMakeLists.txt 2020-08-20 16:24:59.000000000 +0000
|
|
||||||
+++ b/llvm/cmake/modules/CMakeLists.txt 2020-09-15 07:09:05.411311520 +0000
|
|
||||||
@@ -79,6 +79,7 @@
|
|
||||||
# source files are put in the same cmake directory.
|
|
||||||
set(LLVM_CONFIG_EXPORTS_FILE "${LLVM_EXPORTS_FILE}")
|
|
||||||
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS};${LLVM_EXPORTS_BUILDTREE_ONLY}")
|
|
||||||
+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
|
|
||||||
set(llvm_config_include_buildtree_only_exports
|
|
||||||
"include(\"${LLVM_BUILDTREEONLY_EXPORTS_FILE}\")")
|
|
||||||
configure_file(
|
|
||||||
@@ -139,6 +140,8 @@
|
|
||||||
if(llvm_has_exports)
|
|
||||||
install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
|
||||||
COMPONENT cmake-exports)
|
|
||||||
+ install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
|
||||||
+ COMPONENT cmake-exports)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(FILES
|
|
||||||
diff -Naur a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
|
|
||||||
--- a/llvm/cmake/modules/LLVMConfig.cmake.in 2020-08-20 16:24:59.000000000 +0000
|
|
||||||
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in 2020-09-15 07:09:05.411311520 +0000
|
|
||||||
@@ -103,6 +103,8 @@
|
|
||||||
set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
|
|
||||||
include("@LLVM_CONFIG_EXPORTS_FILE@")
|
|
||||||
@llvm_config_include_buildtree_only_exports@
|
|
||||||
+
|
|
||||||
+ include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# By creating intrinsics_gen, omp_gen and acc_gen here, subprojects that depend
|
|
|
@ -1,48 +0,0 @@
|
||||||
diff -Naur a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
|
|
||||||
--- a/llvm/cmake/modules/AddLLVM.cmake 2020-09-15 09:12:47.596424499 +0000
|
|
||||||
+++ b/llvm/cmake/modules/AddLLVM.cmake 2020-09-15 13:36:03.509429423 +0000
|
|
||||||
@@ -1235,7 +1235,12 @@
|
|
||||||
set(export_to_llvmexports)
|
|
||||||
if (${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
|
||||||
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
|
||||||
- set(export_to_llvmexports EXPORT LLVMExports)
|
|
||||||
+ if (${name} STREQUAL "not" OR ${name} STREQUAL "count" OR
|
|
||||||
+ ${name} STREQUAL "yaml-bench" OR ${name} STREQUAL "lli-child-target")
|
|
||||||
+ set(export_to_llvmexports EXPORT LLVMTestExports)
|
|
||||||
+ else()
|
|
||||||
+ set(export_to_llvmexports EXPORT LLVMExports)
|
|
||||||
+ endif()
|
|
||||||
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
diff -Naur a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
|
|
||||||
--- a/llvm/cmake/modules/CMakeLists.txt 2020-09-15 09:12:47.596424499 +0000
|
|
||||||
+++ b/llvm/cmake/modules/CMakeLists.txt 2020-09-15 09:14:33.110044977 +0000
|
|
||||||
@@ -80,6 +80,7 @@
|
|
||||||
set(LLVM_CONFIG_EXPORTS_FILE "${LLVM_EXPORTS_FILE}")
|
|
||||||
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS};${LLVM_EXPORTS_BUILDTREE_ONLY}")
|
|
||||||
set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
|
|
||||||
+set(LLVM_CONFIG_TEST_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMTestExports.cmake")
|
|
||||||
set(llvm_config_include_buildtree_only_exports
|
|
||||||
"include(\"${LLVM_BUILDTREEONLY_EXPORTS_FILE}\")")
|
|
||||||
configure_file(
|
|
||||||
@@ -142,6 +143,8 @@
|
|
||||||
COMPONENT cmake-exports)
|
|
||||||
install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
|
||||||
COMPONENT cmake-exports)
|
|
||||||
+ install(EXPORT LLVMTestExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
|
||||||
+ COMPONENT cmake-exports)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(FILES
|
|
||||||
diff -Naur a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
|
|
||||||
--- a/llvm/cmake/modules/LLVMConfig.cmake.in 2020-09-15 09:12:47.597424505 +0000
|
|
||||||
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in 2020-09-15 09:14:54.261169357 +0000
|
|
||||||
@@ -105,6 +105,7 @@
|
|
||||||
@llvm_config_include_buildtree_only_exports@
|
|
||||||
|
|
||||||
include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
|
|
||||||
+ include("@LLVM_CONFIG_TEST_EXPORTS_FILE@" OPTIONAL)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# By creating intrinsics_gen, omp_gen and acc_gen here, subprojects that depend
|
|
|
@ -1,25 +0,0 @@
|
||||||
diff -Naur a/llvm/docs/conf.py b/llvm/docs/conf.py
|
|
||||||
--- a/llvm/docs/conf.py 2020-09-15 09:12:24.318287611 +0000
|
|
||||||
+++ b/llvm/docs/conf.py 2020-09-15 15:01:00.025893199 +0000
|
|
||||||
@@ -36,20 +36,7 @@
|
|
||||||
'.rst': 'restructuredtext',
|
|
||||||
}
|
|
||||||
|
|
||||||
-try:
|
|
||||||
- import recommonmark
|
|
||||||
-except ImportError:
|
|
||||||
- # manpages do not use any .md sources
|
|
||||||
- if not tags.has('builder-man'):
|
|
||||||
- raise
|
|
||||||
-else:
|
|
||||||
- import sphinx
|
|
||||||
- if sphinx.version_info >= (3, 0):
|
|
||||||
- # This requires 0.5 or later.
|
|
||||||
- extensions.append('recommonmark')
|
|
||||||
- else:
|
|
||||||
- source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'}
|
|
||||||
- source_suffix['.md'] = 'markdown'
|
|
||||||
+import sphinx
|
|
||||||
|
|
||||||
# The encoding of source files.
|
|
||||||
#source_encoding = 'utf-8-sig'
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
From 9d1f05a7b8537deb5f626cd1b7b26ef2678f4c8e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Arthur Eubanks <aeubanks@google.com>
|
||||||
|
Date: Thu, 27 Jul 2023 13:27:58 -0700
|
||||||
|
Subject: [PATCH] [PEI] Don't zero out noreg operands
|
||||||
|
|
||||||
|
A tail call may have $noreg operands.
|
||||||
|
|
||||||
|
Fixes a crash.
|
||||||
|
|
||||||
|
Reviewed By: xgupta
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D156485
|
||||||
|
|
||||||
|
(cherry picked from commit f800c1f3b207e7bcdc8b4c7192928d9a078242a0)
|
||||||
|
---
|
||||||
|
llvm/lib/CodeGen/PrologEpilogInserter.cpp | 9 +++++++--
|
||||||
|
llvm/test/CodeGen/X86/zero-call-used-regs.ll | 14 ++++++++++++++
|
||||||
|
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
|
||||||
|
index e323aaaeefaf..49047719fdaa 100644
|
||||||
|
--- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp
|
||||||
|
+++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
|
||||||
|
@@ -1285,6 +1285,8 @@ void PEI::insertZeroCallUsedRegs(MachineFunction &MF) {
|
||||||
|
continue;
|
||||||
|
|
||||||
|
MCRegister Reg = MO.getReg();
|
||||||
|
+ if (!Reg)
|
||||||
|
+ continue;
|
||||||
|
|
||||||
|
// This picks up sibling registers (e.q. %al -> %ah).
|
||||||
|
for (MCRegUnit Unit : TRI.regunits(Reg))
|
||||||
|
@@ -1308,8 +1310,11 @@ void PEI::insertZeroCallUsedRegs(MachineFunction &MF) {
|
||||||
|
if (!MO.isReg())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
- for (const MCPhysReg &Reg :
|
||||||
|
- TRI.sub_and_superregs_inclusive(MO.getReg()))
|
||||||
|
+ MCRegister Reg = MO.getReg();
|
||||||
|
+ if (!Reg)
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
+ for (const MCPhysReg Reg : TRI.sub_and_superregs_inclusive(Reg))
|
||||||
|
RegsToZero.reset(Reg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/llvm/test/CodeGen/X86/zero-call-used-regs.ll b/llvm/test/CodeGen/X86/zero-call-used-regs.ll
|
||||||
|
index 63d51c916bb9..97ad5ce9c8cb 100644
|
||||||
|
--- a/llvm/test/CodeGen/X86/zero-call-used-regs.ll
|
||||||
|
+++ b/llvm/test/CodeGen/X86/zero-call-used-regs.ll
|
||||||
|
@@ -241,6 +241,20 @@ entry:
|
||||||
|
ret i32 %x
|
||||||
|
}
|
||||||
|
|
||||||
|
+define dso_local void @tailcall(ptr %p) local_unnamed_addr #0 "zero-call-used-regs"="used-gpr" {
|
||||||
|
+; I386-LABEL: tailcall:
|
||||||
|
+; I386: # %bb.0:
|
||||||
|
+; I386-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||||
|
+; I386-NEXT: jmpl *(%eax) # TAILCALL
|
||||||
|
+;
|
||||||
|
+; X86-64-LABEL: tailcall:
|
||||||
|
+; X86-64: # %bb.0:
|
||||||
|
+; X86-64-NEXT: jmpq *(%rdi) # TAILCALL
|
||||||
|
+ %c = load ptr, ptr %p
|
||||||
|
+ tail call void %c()
|
||||||
|
+ ret void
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
; Don't emit zeroing registers in "main" function.
|
||||||
|
define dso_local i32 @main() local_unnamed_addr #1 {
|
||||||
|
; I386-LABEL: main:
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
|
@ -1,99 +0,0 @@
|
||||||
From cbea17568f4301582c1d5d43990f089ca6cff522 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kai Luo <lkail@cn.ibm.com>
|
|
||||||
Date: Fri, 28 Aug 2020 01:56:12 +0000
|
|
||||||
Subject: [PATCH] [PowerPC] PPCBoolRetToInt: Don't translate Constant's
|
|
||||||
operands
|
|
||||||
|
|
||||||
When collecting `i1` values via `findAllDefs`, ignore Constant's
|
|
||||||
operands, since Constant's operands might not be `i1`.
|
|
||||||
|
|
||||||
Fixes https://bugs.llvm.org/show_bug.cgi?id=46923 which causes ICE
|
|
||||||
```
|
|
||||||
llvm-project/llvm/lib/IR/Constants.cpp:1924: static llvm::Constant *llvm::ConstantExpr::getZExt(llvm::Constant *, llvm::Type *, bool): Assertion `C->getType()->getScalarSizeInBits() < Ty->getScalarSizeInBits()&& "SrcTy must be smaller than DestTy for ZExt!"' failed.
|
|
||||||
```
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D85007
|
|
||||||
---
|
|
||||||
llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp | 15 ++++++-----
|
|
||||||
llvm/test/CodeGen/PowerPC/pr46923.ll | 29 +++++++++++++++++++++
|
|
||||||
2 files changed, 38 insertions(+), 6 deletions(-)
|
|
||||||
create mode 100644 llvm/test/CodeGen/PowerPC/pr46923.ll
|
|
||||||
|
|
||||||
diff --git a/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp b/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
|
|
||||||
index acc8b317a22..172f1346c50 100644
|
|
||||||
--- a/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
|
|
||||||
+++ b/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
|
|
||||||
@@ -78,9 +78,9 @@ class PPCBoolRetToInt : public FunctionPass {
|
|
||||||
Value *Curr = WorkList.back();
|
|
||||||
WorkList.pop_back();
|
|
||||||
auto *CurrUser = dyn_cast<User>(Curr);
|
|
||||||
- // Operands of CallInst are skipped because they may not be Bool type,
|
|
||||||
- // and their positions are defined by ABI.
|
|
||||||
- if (CurrUser && !isa<CallInst>(Curr))
|
|
||||||
+ // Operands of CallInst/Constant are skipped because they may not be Bool
|
|
||||||
+ // type. For CallInst, their positions are defined by ABI.
|
|
||||||
+ if (CurrUser && !isa<CallInst>(Curr) && !isa<Constant>(Curr))
|
|
||||||
for (auto &Op : CurrUser->operands())
|
|
||||||
if (Defs.insert(Op).second)
|
|
||||||
WorkList.push_back(Op);
|
|
||||||
@@ -90,6 +90,9 @@ class PPCBoolRetToInt : public FunctionPass {
|
|
||||||
|
|
||||||
// Translate a i1 value to an equivalent i32/i64 value:
|
|
||||||
Value *translate(Value *V) {
|
|
||||||
+ assert(V->getType() == Type::getInt1Ty(V->getContext()) &&
|
|
||||||
+ "Expect an i1 value");
|
|
||||||
+
|
|
||||||
Type *IntTy = ST->isPPC64() ? Type::getInt64Ty(V->getContext())
|
|
||||||
: Type::getInt32Ty(V->getContext());
|
|
||||||
|
|
||||||
@@ -252,9 +255,9 @@ class PPCBoolRetToInt : public FunctionPass {
|
|
||||||
auto *First = dyn_cast<User>(Pair.first);
|
|
||||||
auto *Second = dyn_cast<User>(Pair.second);
|
|
||||||
assert((!First || Second) && "translated from user to non-user!?");
|
|
||||||
- // Operands of CallInst are skipped because they may not be Bool type,
|
|
||||||
- // and their positions are defined by ABI.
|
|
||||||
- if (First && !isa<CallInst>(First))
|
|
||||||
+ // Operands of CallInst/Constant are skipped because they may not be Bool
|
|
||||||
+ // type. For CallInst, their positions are defined by ABI.
|
|
||||||
+ if (First && !isa<CallInst>(First) && !isa<Constant>(First))
|
|
||||||
for (unsigned i = 0; i < First->getNumOperands(); ++i)
|
|
||||||
Second->setOperand(i, BoolToIntMap[First->getOperand(i)]);
|
|
||||||
}
|
|
||||||
diff --git a/llvm/test/CodeGen/PowerPC/pr46923.ll b/llvm/test/CodeGen/PowerPC/pr46923.ll
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..3e9faa60422
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/llvm/test/CodeGen/PowerPC/pr46923.ll
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
||||||
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown \
|
|
||||||
+; RUN: -ppc-asm-full-reg-names < %s | FileCheck %s
|
|
||||||
+
|
|
||||||
+@bar = external constant i64, align 8
|
|
||||||
+
|
|
||||||
+define i1 @foo() {
|
|
||||||
+; CHECK-LABEL: foo:
|
|
||||||
+; CHECK: # %bb.0: # %entry
|
|
||||||
+; CHECK-NEXT: li r3, 0
|
|
||||||
+; CHECK-NEXT: isel r3, 0, r3, 4*cr5+lt
|
|
||||||
+; CHECK-NEXT: blr
|
|
||||||
+entry:
|
|
||||||
+ br label %next
|
|
||||||
+
|
|
||||||
+next:
|
|
||||||
+ br i1 undef, label %true, label %false
|
|
||||||
+
|
|
||||||
+true:
|
|
||||||
+ br label %end
|
|
||||||
+
|
|
||||||
+false:
|
|
||||||
+ br label %end
|
|
||||||
+
|
|
||||||
+end:
|
|
||||||
+ %a = phi i1 [ icmp ugt (i64 0, i64 ptrtoint (i64* @bar to i64)), %true ],
|
|
||||||
+ [ icmp ugt (i64 0, i64 2), %false ]
|
|
||||||
+ ret i1 %a
|
|
||||||
+}
|
|
||||||
--
|
|
||||||
2.25.2
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
diff -Naur a/llvm/docs/conf.py b/llvm/docs/conf.py
|
||||||
|
--- a/llvm/docs/conf.py 2020-09-15 09:12:24.318287611 +0000
|
||||||
|
+++ b/llvm/docs/conf.py 2020-09-15 15:01:00.025893199 +0000
|
||||||
|
@@ -36,21 +36,7 @@
|
||||||
|
".rst": "restructuredtext",
|
||||||
|
}
|
||||||
|
|
||||||
|
-try:
|
||||||
|
- import recommonmark
|
||||||
|
-except ImportError:
|
||||||
|
- # manpages do not use any .md sources
|
||||||
|
- if not tags.has("builder-man"):
|
||||||
|
- raise
|
||||||
|
-else:
|
||||||
|
- import sphinx
|
||||||
|
-
|
||||||
|
- if sphinx.version_info >= (3, 0):
|
||||||
|
- # This requires 0.5 or later.
|
||||||
|
- extensions.append("recommonmark")
|
||||||
|
- else:
|
||||||
|
- source_parsers = {".md": "recommonmark.parser.CommonMarkParser"}
|
||||||
|
- source_suffix[".md"] = "markdown"
|
||||||
|
+import sphinx
|
||||||
|
|
||||||
|
# The encoding of source files.
|
||||||
|
# source_encoding = 'utf-8-sig'
|
|
@ -1,12 +0,0 @@
|
||||||
diff -Naur a/llvm/test/tools/llvm-ar/error-opening-permission.test b/llvm/test/tools/llvm-ar/error-opening-permission.test
|
|
||||||
--- a/llvm/test/tools/llvm-ar/error-opening-permission.test 2020-09-15 09:11:33.056986167 +0000
|
|
||||||
+++ b/llvm/test/tools/llvm-ar/error-opening-permission.test 2020-09-25 21:01:17.572130708 +0000
|
|
||||||
@@ -8,7 +8,7 @@
|
|
||||||
## No Permission:
|
|
||||||
# RUN: llvm-ar rc %t/permission.b %t/1.txt
|
|
||||||
# RUN: chmod 100 %t/permission.b
|
|
||||||
-# RUN: not llvm-ar p %t/permission.b 2>&1 | \
|
|
||||||
+# RUN: echo > %t/permission.b || not llvm-ar p %t/permission.b 2>&1 | \
|
|
||||||
# RUN: FileCheck %s --check-prefix=NO-PERMISSION -DARCHIVE=%t/permission.b
|
|
||||||
|
|
||||||
# NO-PERMISSION: error: unable to open '[[ARCHIVE]]': {{[pP]}}ermission denied
|
|
|
@ -1,7 +0,0 @@
|
||||||
<html>
|
|
||||||
<head><title>404 Not Found</title></head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
<center><h1>404 Not Found</h1></center>
|
|
||||||
<hr><center>nginx/1.4.6 (Ubuntu)</center>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,17 +0,0 @@
|
||||||
|
|
||||||
config.llvm_tools_dir = '/usr/bin'
|
|
||||||
config.llvm_shlib_dir = '%(llvm_shlib_dir)s' % lit_config.params
|
|
||||||
|
|
||||||
if hasattr(config, 'host_triple'):
|
|
||||||
# This means we are running lit regression tests
|
|
||||||
|
|
||||||
# Regression tests write output to this directory, so we need to be able to specify
|
|
||||||
# a temp directory when invoking lit. e.g. lit -Dllvm_obj_root=/tmp/lit
|
|
||||||
config.llvm_obj_root = "%(llvm_obj_root)s" % lit_config.params
|
|
||||||
lit_config.load_config(config, '%(llvm_test_root)s/lit.cfg.py' % lit_config.params)
|
|
||||||
else:
|
|
||||||
# This means we are running lit unit tests
|
|
||||||
|
|
||||||
# For unit tests, llvm_obj_root is used to find the unit test binaries.
|
|
||||||
config.llvm_obj_root = '%(llvm_unittest_bindir)s' % lit_config.params
|
|
||||||
lit_config.load_config(config, '%(llvm_test_root)s/Unit/lit.cfg.py' % lit_config.params)
|
|
Binary file not shown.
|
@ -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-----
|
|
@ -1,59 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "usage: `basename $0` [OPTIONS]"
|
|
||||||
echo " --threads NUM The number of threads to use for running tests."
|
|
||||||
echo " --multilib-arch ARCH Use this option to test 32-bit libs/binaries on"
|
|
||||||
echo " 64-bit hosts."
|
|
||||||
}
|
|
||||||
|
|
||||||
threads_arg=''
|
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
case $1 in
|
|
||||||
--threads)
|
|
||||||
shift
|
|
||||||
threads_arg="--threads $1"
|
|
||||||
;;
|
|
||||||
--multilib-arch)
|
|
||||||
shift
|
|
||||||
ARCH=$1
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
echo "unknown option: $1"
|
|
||||||
echo ""
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
set -xe
|
|
||||||
|
|
||||||
if [ -z "$ARCH" ]; then
|
|
||||||
ARCH=`rpm --eval '%_arch'`
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $ARCH in
|
|
||||||
arm)
|
|
||||||
;&
|
|
||||||
i686)
|
|
||||||
LIB_DIR="/usr/lib/"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
LIB_DIR="/usr/lib64/"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
cd $(mktemp -d)
|
|
||||||
ln -s /usr/include include
|
|
||||||
tar -xzf /usr/share/llvm/src/test.tar.gz
|
|
||||||
ln -s /usr/share/llvm/src/$ARCH.site.cfg.py test/lit.site.cfg.py
|
|
||||||
ln -s /usr/share/llvm/src/$ARCH.Unit.site.cfg.py test/Unit/lit.site.cfg.py
|
|
||||||
ln -s /usr/share/llvm/src/docs docs
|
|
||||||
lit -v $threads_arg test \
|
|
||||||
-Dllvm_obj_root=`pwd` \
|
|
||||||
-Dllvm_test_root=`pwd`/test \
|
|
||||||
-Dllvm_unittest_bindir=$LIB_DIR/llvm \
|
|
||||||
-Dllvm_shlib_dir=$LIB_DIR
|
|
595
SPECS/llvm.spec
595
SPECS/llvm.spec
|
@ -1,5 +1,20 @@
|
||||||
|
%bcond_with snapshot_build
|
||||||
|
|
||||||
|
%if %{with snapshot_build}
|
||||||
|
# Unlock LLVM Snapshot LUA functions
|
||||||
|
%{llvm_sb}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# We are building with clang for faster/lower memory LTO builds.
|
||||||
|
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
|
||||||
|
%global toolchain clang
|
||||||
|
|
||||||
|
# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
|
||||||
|
%undefine _include_frame_pointers
|
||||||
|
|
||||||
# Components enabled if supported by target architecture:
|
# Components enabled if supported by target architecture:
|
||||||
%define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64}
|
%define gold_arches %{ix86} x86_64 aarch64 %{power64} s390x
|
||||||
%ifarch %{gold_arches}
|
%ifarch %{gold_arches}
|
||||||
%bcond_without gold
|
%bcond_without gold
|
||||||
%else
|
%else
|
||||||
|
@ -7,82 +22,141 @@
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%bcond_with compat_build
|
%bcond_with compat_build
|
||||||
|
%bcond_without check
|
||||||
|
|
||||||
%global _smp_mflags -j8
|
%ifarch %ix86
|
||||||
|
# Disable LTO on x86 in order to reduce memory consumption
|
||||||
|
%bcond_with lto_build
|
||||||
|
%else
|
||||||
|
%bcond_without lto_build
|
||||||
|
%endif
|
||||||
|
|
||||||
%global llvm_libdir %{_libdir}/%{name}
|
%global maj_ver 17
|
||||||
%global build_llvm_libdir %{buildroot}%{llvm_libdir}
|
|
||||||
%global rc_ver 2
|
|
||||||
%global baserelease 0.6
|
|
||||||
%global llvm_srcdir llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
|
||||||
%global maj_ver 11
|
|
||||||
%global min_ver 0
|
%global min_ver 0
|
||||||
%global patch_ver 0
|
%global patch_ver 6
|
||||||
|
#global rc_ver 4
|
||||||
|
|
||||||
|
%if %{with snapshot_build}
|
||||||
|
%undefine rc_ver
|
||||||
|
%global maj_ver %{llvm_snapshot_version_major}
|
||||||
|
%global min_ver %{llvm_snapshot_version_minor}
|
||||||
|
%global patch_ver %{llvm_snapshot_version_patch}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
|
||||||
%if %{with compat_build}
|
%if %{with compat_build}
|
||||||
%global pkg_name llvm%{maj_ver}.%{min_ver}
|
%global pkg_name llvm%{maj_ver}
|
||||||
%global exec_suffix -%{maj_ver}.%{min_ver}
|
%global exec_suffix -%{maj_ver}
|
||||||
%global install_prefix %{_libdir}/%{name}
|
%global install_prefix %{_libdir}/%{name}
|
||||||
%global install_bindir %{install_prefix}/bin
|
%global install_bindir %{install_prefix}/bin
|
||||||
%global install_includedir %{install_prefix}/include
|
%global install_includedir %{install_prefix}/include
|
||||||
%global install_libdir %{install_prefix}/lib
|
%global install_libdir %{install_prefix}/lib
|
||||||
|
|
||||||
%global pkg_bindir %{install_bindir}
|
|
||||||
%global pkg_includedir %{_includedir}/%{name}
|
%global pkg_includedir %{_includedir}/%{name}
|
||||||
%global pkg_libdir %{install_libdir}
|
%global pkg_datadir %{install_prefix}/share
|
||||||
%else
|
%else
|
||||||
%global pkg_name llvm
|
%global pkg_name llvm
|
||||||
%global install_prefix /usr
|
%global install_prefix /usr
|
||||||
|
%global install_bindir %{_bindir}
|
||||||
%global install_libdir %{_libdir}
|
%global install_libdir %{_libdir}
|
||||||
%global pkg_libdir %{install_libdir}
|
%global install_includedir %{_includedir}
|
||||||
|
%global pkg_datadir %{_datadir}
|
||||||
|
%global exec_suffix %{nil}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%global targets_to_build "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF;WebAssembly"
|
||||||
|
%global experimental_targets_to_build ""
|
||||||
|
%else
|
||||||
|
%global targets_to_build "all"
|
||||||
|
%global experimental_targets_to_build "AVR"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global build_install_prefix %{buildroot}%{install_prefix}
|
%global build_install_prefix %{buildroot}%{install_prefix}
|
||||||
|
|
||||||
%if !0%{?rhel}
|
# Lower memory usage of dwz on s390x
|
||||||
|
%global _dwz_low_mem_die_limit_s390x 1
|
||||||
|
%global _dwz_max_die_limit_s390x 1000000
|
||||||
|
|
||||||
|
%global llvm_triple %{_target_platform}
|
||||||
|
|
||||||
|
# https://fedoraproject.org/wiki/Changes/PythonSafePath#Opting_out
|
||||||
|
# Don't add -P to Python shebangs
|
||||||
|
# The executable Python scripts in /usr/share/opt-viewer/ import each other
|
||||||
|
%undefine _py3_shebang_P
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# OS Specific Configuration
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
########
|
||||||
|
# RHEL #
|
||||||
|
########
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%global _smp_mflags -j8
|
||||||
|
|
||||||
|
%if 0%{?rhel} == 8
|
||||||
|
%undefine __cmake_in_source_build
|
||||||
|
|
||||||
# libedit-devel is a buildroot-only package in RHEL8, so we can't have a
|
# libedit-devel is a buildroot-only package in RHEL8, so we can't have a
|
||||||
# any run-time depencies on it.
|
# any run-time depencies on it.
|
||||||
|
%global use_libedit 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?rhel} > 8
|
||||||
%global use_libedit 1
|
%global use_libedit 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: %{pkg_name}
|
|
||||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
|
||||||
Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
|
|
||||||
Summary: The Low Level Virtual Machine
|
|
||||||
|
|
||||||
License: NCSA
|
|
||||||
URL: http://llvm.org
|
|
||||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz
|
|
||||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz.sig
|
|
||||||
Source2: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
|
|
||||||
%if %{without compat_build}
|
|
||||||
Source3: run-lit-tests
|
|
||||||
Source4: lit.fedora.cfg.py
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Patch2: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch
|
################################################################################
|
||||||
Patch3: 0001-CMake-Split-test-binary-exports-into-their-own-expor.patch
|
# Spec File
|
||||||
Patch5: 0001-PowerPC-PPCBoolRetToInt-Don-t-translate-Constant-s-o.patch
|
################################################################################
|
||||||
|
|
||||||
# RHEL-specific patches.
|
|
||||||
Patch101: 0001-Deactivate-markdown-doc.patch
|
Name: %{pkg_name}
|
||||||
Patch102: error-opening-permission.patch
|
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: The Low Level Virtual Machine
|
||||||
|
|
||||||
|
License: Apache-2.0 WITH LLVM-exception OR NCSA
|
||||||
|
URL: http://llvm.org
|
||||||
|
%if %{with snapshot_build}
|
||||||
|
Source0: %{llvm_snapshot_source_prefix}llvm-%{llvm_snapshot_yyyymmdd}.src.tar.xz
|
||||||
|
Source2: %{llvm_snapshot_source_prefix}cmake-%{llvm_snapshot_yyyymmdd}.src.tar.xz
|
||||||
|
Source4: %{llvm_snapshot_source_prefix}third-party-%{llvm_snapshot_yyyymmdd}.src.tar.xz
|
||||||
|
%{llvm_snapshot_extra_source_tags}
|
||||||
|
%else
|
||||||
|
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz
|
||||||
|
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz.sig
|
||||||
|
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz
|
||||||
|
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig
|
||||||
|
Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz
|
||||||
|
Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz.sig
|
||||||
|
Source6: release-keys.asc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Backport of https://reviews.llvm.org/D156485 for RHEL-23865.
|
||||||
|
Patch0: 0001-PEI-Don-t-zero-out-noreg-operands.patch
|
||||||
|
|
||||||
|
# RHEL-specific patch to avoid unwanted recommonmark dep
|
||||||
|
Patch101: 0101-Deactivate-markdown-doc.patch
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: clang
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: ninja-build
|
BuildRequires: ninja-build
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
|
BuildRequires: python3-psutil
|
||||||
BuildRequires: python3-sphinx
|
BuildRequires: python3-sphinx
|
||||||
|
%if %{undefined rhel}
|
||||||
%if !0%{?rhel}
|
BuildRequires: python3-recommonmark
|
||||||
BuildRequires: python3-recommonmark
|
|
||||||
%else
|
|
||||||
BuildRequires: pandoc
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
BuildRequires: multilib-rpm-config
|
BuildRequires: multilib-rpm-config
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
BuildRequires: binutils-devel
|
BuildRequires: binutils-devel
|
||||||
|
@ -95,8 +169,19 @@ BuildRequires: valgrind-devel
|
||||||
# LLVM's LineEditor library will use libedit if it is available.
|
# LLVM's LineEditor library will use libedit if it is available.
|
||||||
BuildRequires: libedit-devel
|
BuildRequires: libedit-devel
|
||||||
%endif
|
%endif
|
||||||
# We need python3-devel for pathfix.py.
|
# Need pandoc to cover markdown to rst, because RHEL does not have recommonmark,
|
||||||
|
# so we can't build the documentation as is.
|
||||||
|
%if 0%{?rhel} == 8
|
||||||
|
# RHEL8 has pandoc which we can use instead of python3-recommonmark for some things.
|
||||||
|
BuildRequires: pandoc
|
||||||
|
%endif
|
||||||
|
# We need python3-devel for pathfix.py and %%py3_shebang_fix.
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
|
||||||
|
# For origin certification
|
||||||
|
BuildRequires: gnupg2
|
||||||
|
|
||||||
|
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
@ -118,13 +203,16 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
%if 0%{?use_libedit}
|
%if 0%{?use_libedit}
|
||||||
Requires: libedit-devel
|
Requires: libedit-devel
|
||||||
%endif
|
%endif
|
||||||
# The installed cmake files reference binaries from llvm-test and llvm-static.
|
# The installed cmake files reference binaries from llvm-test, llvm-static, and
|
||||||
# We tried in the past to split the cmake exports for these binaries out into
|
# llvm-gtest. We tried in the past to split the cmake exports for these binaries
|
||||||
# separate files, so that llvm-devel would not need to Require these packages,
|
# out into separate files, so that llvm-devel would not need to Require these packages,
|
||||||
# but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream
|
# but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream
|
||||||
# patches.
|
# patches.
|
||||||
Requires: llvm-static%{?_isa} = %{version}-%{release}
|
Requires: %{name}-static%{?_isa} = %{version}-%{release}
|
||||||
Requires: llvm-test%{?_isa} = %{version}-%{release}
|
%if %{without compat_build}
|
||||||
|
Requires: %{name}-test%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: %{name}-googletest%{?_isa} = %{version}-%{release}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
Requires(post): %{_sbindir}/alternatives
|
Requires(post): %{_sbindir}/alternatives
|
||||||
|
@ -154,23 +242,24 @@ Shared libraries for the LLVM compiler infrastructure.
|
||||||
Summary: LLVM static libraries
|
Summary: LLVM static libraries
|
||||||
Conflicts: %{name}-devel < 8
|
Conflicts: %{name}-devel < 8
|
||||||
|
|
||||||
|
Provides: llvm-static(major) = %{maj_ver}
|
||||||
|
|
||||||
%description static
|
%description static
|
||||||
Static libraries for the LLVM compiler infrastructure.
|
Static libraries for the LLVM compiler infrastructure.
|
||||||
|
|
||||||
|
%package cmake-utils
|
||||||
|
Summary: CMake utilities shared across LLVM subprojects
|
||||||
|
|
||||||
|
%description cmake-utils
|
||||||
|
CMake utilities shared across LLVM subprojects.
|
||||||
|
This is for internal use by LLVM packages only.
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
|
|
||||||
%package test
|
%package test
|
||||||
Summary: LLVM regression tests
|
Summary: LLVM regression tests
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
Requires: python3-lit
|
|
||||||
# The regression tests need gold.
|
|
||||||
Requires: binutils
|
|
||||||
# This is for llvm-config
|
|
||||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
|
||||||
# Bugpoint tests require gcc
|
|
||||||
Requires: gcc
|
|
||||||
Requires: findutils
|
|
||||||
|
|
||||||
Provides: llvm-test(major) = %{maj_ver}
|
Provides: llvm-test(major) = %{maj_ver}
|
||||||
|
|
||||||
|
@ -179,45 +268,79 @@ LLVM regression tests.
|
||||||
|
|
||||||
%package googletest
|
%package googletest
|
||||||
Summary: LLVM's modified googletest sources
|
Summary: LLVM's modified googletest sources
|
||||||
|
# libllvm_gtest.a moved from llvm-static to llvm-googletest
|
||||||
|
Conflicts: %{name}-static < 17.0.0
|
||||||
|
|
||||||
%description googletest
|
%description googletest
|
||||||
LLVM's modified googletest sources.
|
LLVM's modified googletest sources.
|
||||||
|
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%package toolset
|
||||||
|
Summary: Package that installs llvm-toolset
|
||||||
|
Requires: clang = %{version}
|
||||||
|
Requires: llvm = %{version}
|
||||||
|
|
||||||
|
%ifnarch s390x
|
||||||
|
Requires: lld = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description toolset
|
||||||
|
This is the main package for llvm-toolset.
|
||||||
|
%endif
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{llvm_srcdir} -p2
|
%if %{without snapshot_build}
|
||||||
|
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
|
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
|
||||||
|
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}'
|
||||||
|
%endif
|
||||||
|
%setup -T -q -b 2 -n %{cmake_srcdir}
|
||||||
|
# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir},
|
||||||
|
# but this is not a CACHED variable, so we can't actually set it externally :(
|
||||||
|
cd ..
|
||||||
|
mv %{cmake_srcdir} cmake
|
||||||
|
%setup -T -q -b 4 -n %{third_party_srcdir}
|
||||||
|
cd ..
|
||||||
|
mv %{third_party_srcdir} third-party
|
||||||
|
|
||||||
pathfix.py -i %{__python3} -pn \
|
%setup -T -q -b 0 -n %{llvm_srcdir}
|
||||||
|
%autopatch -M%{?!rhel:100}%{?rhel:200} -p2
|
||||||
|
|
||||||
|
%py3_shebang_fix \
|
||||||
test/BugPoint/compile-custom.ll.py \
|
test/BugPoint/compile-custom.ll.py \
|
||||||
tools/opt-viewer/*.py \
|
tools/opt-viewer/*.py \
|
||||||
utils/update_cc_test_checks.py
|
utils/update_cc_test_checks.py
|
||||||
|
|
||||||
|
%if 0%{?rhel} == 8
|
||||||
# Convert markdown files to rst to cope with the absence of compatible md parser in rhel.
|
# Convert markdown files to rst to cope with the absence of compatible md parser in rhel.
|
||||||
# The sed expression takes care of a slight difference between pandoc markdown and sphinx markdown.
|
# The sed expression takes care of a slight difference between pandoc markdown and sphinx markdown.
|
||||||
find -name '*.md' | while read md; do sed -r -e 's/^( )*\* /\n\1\* /' ${md} | pandoc -f markdown -o ${md%.md}.rst ; done
|
find -name '*.md' | while read md; do sed -r -e 's/^( )*\* /\n\1\* /' ${md} | pandoc -f markdown -o ${md%.md}.rst ; done
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
mkdir -p _build
|
|
||||||
cd _build
|
|
||||||
|
|
||||||
%ifarch s390 %{arm} %ix86
|
%if %{without lto_build}
|
||||||
|
%global _lto_cflags %nil
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch s390 s390x %ix86
|
||||||
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
||||||
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files.
|
||||||
|
export ASMFLAGS="%{build_cflags}"
|
||||||
|
|
||||||
# force off shared libs as cmake macros turns it on.
|
# force off shared libs as cmake macros turns it on.
|
||||||
#
|
# TODO: Disable LLVM_UNREACHABLE_OPTIMIZE.
|
||||||
# -DCMAKE_INSTALL_RPATH=";" is a workaround for llvm manually setting the
|
%cmake -G Ninja \
|
||||||
# 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 \
|
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||||
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DCMAKE_INSTALL_RPATH=";" \
|
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||||
%ifarch s390 %{arm} %ix86
|
%ifarch s390 %ix86
|
||||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||||
%endif
|
%endif
|
||||||
|
@ -229,14 +352,16 @@ cd _build
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
\
|
\
|
||||||
-DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF" \
|
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \
|
||||||
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
|
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
|
||||||
-DLLVM_ENABLE_ZLIB:BOOL=ON \
|
-DLLVM_ENABLE_ZLIB:BOOL=ON \
|
||||||
-DLLVM_ENABLE_FFI:BOOL=ON \
|
-DLLVM_ENABLE_FFI:BOOL=ON \
|
||||||
-DLLVM_ENABLE_RTTI:BOOL=ON \
|
-DLLVM_ENABLE_RTTI:BOOL=ON \
|
||||||
|
-DLLVM_USE_PERF:BOOL=ON \
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
-DLLVM_BINUTILS_INCDIR=%{_includedir} \
|
-DLLVM_BINUTILS_INCDIR=%{_includedir} \
|
||||||
%endif
|
%endif
|
||||||
|
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{experimental_targets_to_build} \
|
||||||
\
|
\
|
||||||
-DLLVM_BUILD_RUNTIME:BOOL=ON \
|
-DLLVM_BUILD_RUNTIME:BOOL=ON \
|
||||||
\
|
\
|
||||||
|
@ -245,6 +370,12 @@ cd _build
|
||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_TESTS:BOOL=ON \
|
-DLLVM_INCLUDE_TESTS:BOOL=ON \
|
||||||
-DLLVM_BUILD_TESTS:BOOL=ON \
|
-DLLVM_BUILD_TESTS:BOOL=ON \
|
||||||
|
%if %{with compat_build}
|
||||||
|
-DLLVM_INSTALL_GTEST:BOOL=OFF \
|
||||||
|
%else
|
||||||
|
-DLLVM_INSTALL_GTEST:BOOL=ON \
|
||||||
|
%endif
|
||||||
|
-DLLVM_LIT_ARGS=-v \
|
||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
|
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
|
||||||
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
||||||
|
@ -263,47 +394,49 @@ cd _build
|
||||||
-DLLVM_ENABLE_SPHINX:BOOL=ON \
|
-DLLVM_ENABLE_SPHINX:BOOL=ON \
|
||||||
-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
|
-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
|
||||||
\
|
\
|
||||||
%if %{without compat_build}
|
%if %{with snapshot_build}
|
||||||
|
-DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \
|
||||||
|
%else
|
||||||
-DLLVM_VERSION_SUFFIX='' \
|
-DLLVM_VERSION_SUFFIX='' \
|
||||||
%endif
|
%endif
|
||||||
|
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=ON \
|
||||||
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
|
||||||
-DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \
|
|
||||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||||
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
|
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
|
||||||
-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
|
-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
|
||||||
\
|
-DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \
|
||||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||||
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
||||||
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
|
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
|
||||||
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3
|
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
|
||||||
|
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||||
|
%if %{with lto_build}
|
||||||
|
-DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0" \
|
||||||
|
%endif
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error"
|
||||||
|
|
||||||
# Build libLLVM.so first. This ensures that when libLLVM.so is linking, there
|
# Build libLLVM.so first. This ensures that when libLLVM.so is linking, there
|
||||||
# are no other compile jobs running. This will help reduce OOM errors on the
|
# are no other compile jobs running. This will help reduce OOM errors on the
|
||||||
# builders without having to artificially limit the number of concurrent jobs.
|
# builders without having to artificially limit the number of concurrent jobs.
|
||||||
%ninja_build LLVM
|
%cmake_build --target LLVM
|
||||||
%ninja_build
|
%cmake_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%ninja_install -C _build
|
%cmake_install
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/%{_bindir}
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
mkdir -p %{buildroot}/%{_bindir}
|
|
||||||
mv %{buildroot}/%{_bindir}/llvm-config %{buildroot}/%{_bindir}/llvm-config-%{__isa_bits}
|
|
||||||
|
|
||||||
# ghost presence
|
|
||||||
touch %{buildroot}%{_bindir}/llvm-config
|
|
||||||
|
|
||||||
# Fix some man pages
|
# Fix some man pages
|
||||||
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config-%{__isa_bits}.1
|
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1
|
||||||
mv %{buildroot}%{_mandir}/man1/tblgen.1 %{buildroot}%{_mandir}/man1/llvm-tblgen.1
|
|
||||||
|
|
||||||
# Install binaries needed for lit tests
|
# Install binaries needed for lit tests
|
||||||
%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer
|
%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer
|
||||||
|
|
||||||
for f in %{test_binaries}
|
for f in %{test_binaries}
|
||||||
do
|
do
|
||||||
install -m 0755 ./_build/bin/$f %{buildroot}%{_bindir}
|
install -m 0755 %{_vpath_builddir}/bin/$f %{buildroot}%{_bindir}
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove testing of update utility tools
|
# Remove testing of update utility tools
|
||||||
|
@ -312,85 +445,23 @@ rm -rf test/tools/UpdateTestChecks
|
||||||
%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
|
%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
|
||||||
|
|
||||||
# Install libraries needed for unittests
|
# Install libraries needed for unittests
|
||||||
%if 0%{?__isa_bits} == 64
|
%global build_libdir %{_vpath_builddir}/%{_lib}
|
||||||
%global build_libdir _build/lib64
|
|
||||||
%else
|
|
||||||
%global build_libdir _build/lib
|
|
||||||
%endif
|
|
||||||
|
|
||||||
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
||||||
|
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir}
|
||||||
%global install_srcdir %{buildroot}%{_datadir}/llvm/src
|
|
||||||
%global lit_cfg test/%{_arch}.site.cfg.py
|
|
||||||
%global lit_unit_cfg test/Unit/%{_arch}.site.cfg.py
|
|
||||||
%global lit_fedora_cfg %{_datadir}/llvm/lit.fedora.cfg.py
|
|
||||||
|
|
||||||
# Install gtest sources so clang can use them for gtest
|
|
||||||
install -d %{install_srcdir}
|
|
||||||
install -d %{install_srcdir}/utils/
|
|
||||||
cp -R utils/unittest %{install_srcdir}/utils/
|
|
||||||
|
|
||||||
# Clang needs these for running lit tests.
|
|
||||||
cp utils/update_cc_test_checks.py %{install_srcdir}/utils/
|
|
||||||
cp -R utils/UpdateTestChecks %{install_srcdir}/utils/
|
|
||||||
|
|
||||||
# One of the lit tests references this file
|
|
||||||
install -d %{install_srcdir}/docs/CommandGuide/
|
|
||||||
install -m 0644 docs/CommandGuide/dsymutil.rst %{install_srcdir}/docs/CommandGuide/
|
|
||||||
|
|
||||||
# Generate lit config files. Strip off the last lines that initiates the
|
|
||||||
# test run, so we can customize the configuration.
|
|
||||||
head -n -2 _build/test/lit.site.cfg.py >> %{lit_cfg}
|
|
||||||
head -n -2 _build/test/Unit/lit.site.cfg.py >> %{lit_unit_cfg}
|
|
||||||
|
|
||||||
# Install custom fedora config file
|
|
||||||
cp %{SOURCE4} %{buildroot}%{lit_fedora_cfg}
|
|
||||||
|
|
||||||
# Patch lit config files to load custom fedora config:
|
|
||||||
for f in %{lit_cfg} %{lit_unit_cfg}; do
|
|
||||||
echo "lit_config.load_config(config, '%{lit_fedora_cfg}')" >> $f
|
|
||||||
done
|
|
||||||
|
|
||||||
install -d %{buildroot}%{_libexecdir}/tests/llvm
|
|
||||||
install -m 0755 %{SOURCE3} %{buildroot}%{_libexecdir}/tests/llvm
|
|
||||||
|
|
||||||
# Install lit tests. We need to put these in a tarball otherwise rpm will complain
|
|
||||||
# about some of the test inputs having the wrong object file format.
|
|
||||||
install -d %{buildroot}%{_datadir}/llvm/
|
|
||||||
|
|
||||||
# The various tar options are there to make sur the archive is the same on 32 and 64 bit arch, i.e.
|
|
||||||
# the archive creation is reproducible. Move arch-specific content out of the tarball
|
|
||||||
mv %{lit_cfg} %{install_srcdir}/%{_arch}.site.cfg.py
|
|
||||||
mv %{lit_unit_cfg} %{install_srcdir}/%{_arch}.Unit.site.cfg.py
|
|
||||||
tar --sort=name --mtime='UTC 2020-01-01' -c test/ | gzip -n > %{install_srcdir}/test.tar.gz
|
|
||||||
|
|
||||||
# Install the unit test binaries
|
|
||||||
mkdir -p %{build_llvm_libdir}
|
|
||||||
cp -R _build/unittests %{build_llvm_libdir}/
|
|
||||||
rm -rf `find %{build_llvm_libdir} -iname 'cmake*'`
|
|
||||||
|
|
||||||
# Install libraries used for testing
|
|
||||||
install -m 0755 %{build_libdir}/BugpointPasses.so %{buildroot}%{_libdir}
|
|
||||||
install -m 0755 %{build_libdir}/LLVMHello.so %{buildroot}%{_libdir}
|
|
||||||
|
|
||||||
# Install test inputs for PDB tests
|
|
||||||
echo "%{_datadir}/llvm/src/unittests/DebugInfo/PDB" > %{build_llvm_libdir}/unittests/DebugInfo/PDB/llvm.srcdir.txt
|
|
||||||
mkdir -p %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
|
|
||||||
cp -R unittests/DebugInfo/PDB/Inputs %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
|
|
||||||
|
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
# Add symlink to lto plugin in the binutils plugin directory.
|
# Add symlink to lto plugin in the binutils plugin directory.
|
||||||
%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
|
%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
|
||||||
ln -s %{_libdir}/LLVMgold.so %{buildroot}%{_libdir}/bfd-plugins/
|
ln -s -t %{buildroot}%{_libdir}/bfd-plugins/ ../LLVMgold.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%else
|
%else
|
||||||
|
|
||||||
# Add version suffix to binaries
|
# Add version suffix to binaries
|
||||||
mkdir -p %{buildroot}/%{_bindir}
|
|
||||||
for f in %{buildroot}/%{install_bindir}/*; do
|
for f in %{buildroot}/%{install_bindir}/*; do
|
||||||
filename=`basename $f`
|
filename=`basename $f`
|
||||||
ln -s ../../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
|
ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
|
||||||
done
|
done
|
||||||
|
|
||||||
# Move header files
|
# Move header files
|
||||||
|
@ -399,13 +470,12 @@ ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
|
||||||
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
|
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
|
||||||
|
|
||||||
# Fix multi-lib
|
# Fix multi-lib
|
||||||
mv %{buildroot}%{_bindir}/llvm-config{%{exec_suffix},%{exec_suffix}-%{__isa_bits}}
|
|
||||||
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
|
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
|
||||||
|
|
||||||
# Create ld.so.conf.d entry
|
# Create ld.so.conf.d entry
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||||
cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
|
cat >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
|
||||||
%{pkg_libdir}
|
%{install_libdir}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Add version suffix to man pages and move them to mandir.
|
# Add version suffix to man pages and move them to mandir.
|
||||||
|
@ -420,30 +490,60 @@ rm -Rf %{build_install_prefix}/share/opt-viewer
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# llvm-config special casing. llvm-config is managed by update-alternatives.
|
||||||
|
# the original file must remain available for compatibility with the CMake
|
||||||
|
# infrastructure. Without compat, cmake points to the symlink, with compat it
|
||||||
|
# points to the original file.
|
||||||
|
|
||||||
|
%if %{without compat_build}
|
||||||
|
|
||||||
|
mv %{buildroot}/%{install_bindir}/llvm-config %{buildroot}/%{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
|
# We still maintain a versionned symlink for consistency across llvm versions.
|
||||||
|
# This is specific to the non-compat build and matches the exec prefix for
|
||||||
|
# compat builds. An isa-agnostic versionned symlink is also maintained in the (un)install
|
||||||
|
# steps.
|
||||||
|
(cd %{buildroot}/%{install_bindir} ; ln -s llvm-config%{exec_suffix}-%{__isa_bits} llvm-config-%{maj_ver}-%{__isa_bits} )
|
||||||
|
# ghost presence
|
||||||
|
touch %{buildroot}%{_bindir}/llvm-config-%{maj_ver}
|
||||||
|
|
||||||
|
%else
|
||||||
|
|
||||||
|
rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
||||||
|
(cd %{buildroot}/%{install_bindir} ; ln -s llvm-config llvm-config%{exec_suffix}-%{__isa_bits} )
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# ghost presence
|
||||||
|
touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{pkg_datadir}/llvm/cmake
|
||||||
|
cp -Rv ../cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# TODO: Fix test failures on arm
|
|
||||||
|
# non reproducible errors
|
||||||
|
rm test/tools/dsymutil/X86/swift-interface.test
|
||||||
|
|
||||||
|
%if %{with check}
|
||||||
# FIXME: use %%cmake_build instead of %%__ninja
|
# FIXME: use %%cmake_build instead of %%__ninja
|
||||||
LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} check-all -C _build || \
|
LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %{__ninja} check-all -C %{_vpath_builddir}
|
||||||
%ifarch %{arm}
|
|
||||||
:
|
|
||||||
%else
|
|
||||||
false
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ldconfig_scriptlets libs
|
%ldconfig_scriptlets libs
|
||||||
|
|
||||||
%if %{without compat_build}
|
|
||||||
|
|
||||||
%post devel
|
%post devel
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{__isa_bits}
|
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
|
||||||
|
%if %{without compat_build}
|
||||||
|
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun devel
|
%postun devel
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
%{_sbindir}/update-alternatives --remove llvm-config %{_bindir}/llvm-config-%{__isa_bits}
|
%{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
fi
|
%if %{without compat_build}
|
||||||
|
%{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
%endif
|
%endif
|
||||||
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
|
@ -451,9 +551,12 @@ fi
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
|
||||||
|
%exclude %{_bindir}/llvm-config%{exec_suffix}
|
||||||
|
%exclude %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%exclude %{_bindir}/llvm-config
|
%exclude %{_bindir}/llvm-config-%{maj_ver}
|
||||||
%exclude %{_bindir}/llvm-config-%{__isa_bits}
|
%exclude %{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
||||||
%exclude %{_bindir}/not
|
%exclude %{_bindir}/not
|
||||||
%exclude %{_bindir}/count
|
%exclude %{_bindir}/count
|
||||||
%exclude %{_bindir}/yaml-bench
|
%exclude %{_bindir}/yaml-bench
|
||||||
|
@ -462,13 +565,12 @@ fi
|
||||||
%exclude %{_bindir}/llvm-opt-fuzzer
|
%exclude %{_bindir}/llvm-opt-fuzzer
|
||||||
%{_datadir}/opt-viewer
|
%{_datadir}/opt-viewer
|
||||||
%else
|
%else
|
||||||
%exclude %{pkg_bindir}/llvm-config
|
%{install_bindir}
|
||||||
%{pkg_bindir}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{pkg_libdir}/libLLVM-%{maj_ver}.so
|
%{install_libdir}/libLLVM-%{maj_ver}%{?llvm_snapshot_version_suffix:%{llvm_snapshot_version_suffix}}.so
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
%{_libdir}/LLVMgold.so
|
%{_libdir}/LLVMgold.so
|
||||||
|
@ -477,39 +579,34 @@ fi
|
||||||
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
||||||
%{_libdir}/libLTO.so*
|
%{_libdir}/libLTO.so*
|
||||||
%else
|
%else
|
||||||
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
|
%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
%{_libdir}/%{name}/lib/LLVMgold.so
|
%{_libdir}/%{name}/lib/LLVMgold.so
|
||||||
%endif
|
%endif
|
||||||
%{pkg_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
%{install_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
||||||
%{pkg_libdir}/libLTO.so*
|
%{install_libdir}/libLTO.so*
|
||||||
%exclude %{pkg_libdir}/libLTO.so
|
%exclude %{install_libdir}/libLTO.so
|
||||||
%endif
|
%endif
|
||||||
%{pkg_libdir}/libRemarks.so*
|
%{install_libdir}/libRemarks.so*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%if %{without compat_build}
|
|
||||||
%ghost %{_bindir}/llvm-config
|
%ghost %{_bindir}/llvm-config%{exec_suffix}
|
||||||
%{_bindir}/llvm-config-%{__isa_bits}
|
%{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
%{_mandir}/man1/llvm-config*
|
%{_mandir}/man1/llvm-config*
|
||||||
%{_includedir}/llvm
|
|
||||||
%{_includedir}/llvm-c
|
|
||||||
%{_libdir}/libLLVM.so
|
|
||||||
%{_libdir}/cmake/llvm
|
|
||||||
%exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
|
|
||||||
%exclude %{_libdir}/cmake/llvm/LLVMTestExports.cmake
|
|
||||||
%else
|
|
||||||
%{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
|
||||||
%{pkg_bindir}/llvm-config
|
|
||||||
%{_mandir}/man1/llvm-config%{exec_suffix}.1.gz
|
|
||||||
%{install_includedir}/llvm
|
%{install_includedir}/llvm
|
||||||
%{install_includedir}/llvm-c
|
%{install_includedir}/llvm-c
|
||||||
|
%{install_libdir}/libLLVM.so
|
||||||
|
%{install_libdir}/cmake/llvm
|
||||||
|
%if %{without compat_build}
|
||||||
|
%{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
||||||
|
%ghost %{_bindir}/llvm-config-%{maj_ver}
|
||||||
|
%else
|
||||||
%{pkg_includedir}/llvm
|
%{pkg_includedir}/llvm
|
||||||
%{pkg_includedir}/llvm-c
|
%{pkg_includedir}/llvm-c
|
||||||
%{pkg_libdir}/libLTO.so
|
%{install_libdir}/libLTO.so
|
||||||
%{pkg_libdir}/libLLVM.so
|
|
||||||
%{pkg_libdir}/cmake/llvm
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
|
@ -518,44 +615,122 @@ fi
|
||||||
|
|
||||||
%files static
|
%files static
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
|
%{install_libdir}/*.a
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%{_libdir}/*.a
|
%exclude %{install_libdir}/libLLVMTestingSupport.a
|
||||||
%exclude %{_libdir}/libLLVMTestingSupport.a
|
%exclude %{install_libdir}/libLLVMTestingAnnotations.a
|
||||||
%{_libdir}/cmake/llvm/LLVMStaticExports.cmake
|
%exclude %{install_libdir}/libllvm_gtest.a
|
||||||
%else
|
%exclude %{install_libdir}/libllvm_gtest_main.a
|
||||||
%{_libdir}/%{name}/lib/*.a
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%files cmake-utils
|
||||||
|
%license LICENSE.TXT
|
||||||
|
%{pkg_datadir}/llvm/cmake
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
|
|
||||||
%files test
|
%files test
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{_libexecdir}/tests/llvm/
|
|
||||||
%{llvm_libdir}/unittests/
|
|
||||||
%{_datadir}/llvm/src/unittests
|
|
||||||
%{_datadir}/llvm/src/test.tar.gz
|
|
||||||
%{_datadir}/llvm/src/%{_arch}.site.cfg.py
|
|
||||||
%{_datadir}/llvm/src/%{_arch}.Unit.site.cfg.py
|
|
||||||
%{_datadir}/llvm/lit.fedora.cfg.py
|
|
||||||
%{_datadir}/llvm/src/docs/CommandGuide/dsymutil.rst
|
|
||||||
%{_bindir}/not
|
%{_bindir}/not
|
||||||
%{_bindir}/count
|
%{_bindir}/count
|
||||||
%{_bindir}/yaml-bench
|
%{_bindir}/yaml-bench
|
||||||
%{_bindir}/lli-child-target
|
%{_bindir}/lli-child-target
|
||||||
%{_bindir}/llvm-isel-fuzzer
|
%{_bindir}/llvm-isel-fuzzer
|
||||||
%{_bindir}/llvm-opt-fuzzer
|
%{_bindir}/llvm-opt-fuzzer
|
||||||
%{_libdir}/BugpointPasses.so
|
|
||||||
%{_libdir}/LLVMHello.so
|
|
||||||
%{_libdir}/cmake/llvm/LLVMTestExports.cmake
|
|
||||||
|
|
||||||
%files googletest
|
%files googletest
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{_datadir}/llvm/src/utils
|
%{install_libdir}/libLLVMTestingSupport.a
|
||||||
%{_libdir}/libLLVMTestingSupport.a
|
%{install_libdir}/libLLVMTestingAnnotations.a
|
||||||
|
%{install_libdir}/libllvm_gtest.a
|
||||||
|
%{install_libdir}/libllvm_gtest_main.a
|
||||||
|
%{install_includedir}/llvm-gtest
|
||||||
|
%{install_includedir}/llvm-gmock
|
||||||
|
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%files toolset
|
||||||
|
%license LICENSE.TXT
|
||||||
|
%endif
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 02 2024 Nikita Popov <npopov@redhat.com> - 17.0.6-2
|
||||||
|
- Fix crash with -fzero-call-used-regs (RHEL-23865)
|
||||||
|
|
||||||
|
* Wed Nov 29 2023 Nikita Popov <npopov@redhat.com> - 17.0.6-1
|
||||||
|
- Update to LLVM 17.0.6
|
||||||
|
|
||||||
|
* Mon Oct 23 2023 Nikita Popov <npopov@redhat.com> - 17.0.2-2
|
||||||
|
- Add Conflicts to llvm-googletest
|
||||||
|
|
||||||
|
* Wed Oct 04 2023 Nikita Popov <npopov@redhat.com> - 17.0.2-1
|
||||||
|
- Update to LLVM 17.0.2
|
||||||
|
|
||||||
|
* Thu Aug 03 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-3
|
||||||
|
- Fix rhbz #2228944
|
||||||
|
|
||||||
|
* Wed Jul 19 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-2
|
||||||
|
- Improve error messages for unsupported relocs on s390x (rhbz#2216906)
|
||||||
|
- Disable LLVM_UNREACHABLE_OPTIMIZE
|
||||||
|
|
||||||
|
* Sat Jun 17 2023 Tom Stellard <tstellar@redhat.com> - 16.0.6-1
|
||||||
|
- 16.0.6 Release
|
||||||
|
|
||||||
|
* Wed Apr 05 2023 Timm Bäder <tbaeder@redhat.com> - 16.0.0-1
|
||||||
|
- 16.0.0 Release
|
||||||
|
|
||||||
|
* Thu Jan 19 2023 Tom Stellard <tstellar@redhat.com> - 15.0.7-1
|
||||||
|
- 15.0.7 Release
|
||||||
|
|
||||||
|
* Mon Oct 31 2022 Tom Stellard <tstellar@redhat.com> - 15.0.0-2
|
||||||
|
- Re-enable debuginfo for ppc64le
|
||||||
|
|
||||||
|
* Tue Sep 06 2022 Nikita Popov <npopov@redhat.com> - 15.0.0-1
|
||||||
|
- Update to LLVM 15.0.0
|
||||||
|
|
||||||
|
* Mon Jun 27 2022 Tom Stellard <tstellar@redhat.com> - 14.0.6-1
|
||||||
|
- 14.0.6 Release
|
||||||
|
|
||||||
|
* Mon May 23 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.0-3
|
||||||
|
- Build gold plugin on s390x as well
|
||||||
|
|
||||||
|
* Fri Apr 29 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.0-2
|
||||||
|
- Remove llvm-cmake-devel package again
|
||||||
|
|
||||||
|
* Thu Apr 07 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.0-1
|
||||||
|
- Update to 14.0.0
|
||||||
|
|
||||||
|
* Wed Feb 02 2022 Tom Stellard <tstellar@redhat.com> - 13.0.1-1
|
||||||
|
- 13.0.1 Release
|
||||||
|
|
||||||
|
* Sat Jan 29 2022 Tom Stellard <tstellar@redhat.com> - 13.0.0-4
|
||||||
|
- Rebuild with gcc fix from rhbz#2028609
|
||||||
|
|
||||||
|
* Thu Oct 21 2021 sguelton@redhat.com - 13.0.0-3
|
||||||
|
- Correctly set ldflags
|
||||||
|
|
||||||
|
* Wed Oct 20 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-2
|
||||||
|
- Disable failing test on s390x
|
||||||
|
|
||||||
|
* Thu Oct 14 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-1
|
||||||
|
- 13.0.0 Release
|
||||||
|
|
||||||
|
* Fri Jul 16 2021 sguelton@redhat.com - 12.0.1-1
|
||||||
|
- 12.0.1 release
|
||||||
|
|
||||||
|
* Fri Jul 02 2021 Tom Stellard <tstellar@redhat.com> - 12.0.0-2
|
||||||
|
- Stop installing lit tests
|
||||||
|
|
||||||
|
* Tue May 25 2021 sguelton@redhat.com - 12.0.0-1
|
||||||
|
- Remove obsolete patch
|
||||||
|
|
||||||
|
* Thu Oct 29 2020 sguelton@redhat.com - 11.0.0-2
|
||||||
|
- Remove obsolete patch
|
||||||
|
|
||||||
|
* Wed Sep 30 2020 sguelton@redhat.com - 11.0.0-1
|
||||||
|
- 11.0.1 final release
|
||||||
|
|
||||||
* Wed Sep 30 2020 sguelton@redhat.com - 11.0.0-0.6.rc2
|
* Wed Sep 30 2020 sguelton@redhat.com - 11.0.0-0.6.rc2
|
||||||
- Restore default CI behavior wrt. number of threads
|
- Restore default CI behavior wrt. number of threads
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue