import UBI llvm-17.0.6-5.el9
This commit is contained in:
parent
058e825387
commit
044e32bc85
12
.gitignore
vendored
12
.gitignore
vendored
@ -1,6 +1,6 @@
|
|||||||
SOURCES/cmake-16.0.6.src.tar.xz
|
SOURCES/cmake-17.0.6.src.tar.xz
|
||||||
SOURCES/cmake-16.0.6.src.tar.xz.sig
|
SOURCES/cmake-17.0.6.src.tar.xz.sig
|
||||||
SOURCES/llvm-16.0.6.src.tar.xz
|
SOURCES/llvm-17.0.6.src.tar.xz
|
||||||
SOURCES/llvm-16.0.6.src.tar.xz.sig
|
SOURCES/llvm-17.0.6.src.tar.xz.sig
|
||||||
SOURCES/third-party-16.0.6.src.tar.xz
|
SOURCES/third-party-17.0.6.src.tar.xz
|
||||||
SOURCES/third-party-16.0.6.src.tar.xz.sig
|
SOURCES/third-party-17.0.6.src.tar.xz.sig
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
0de534cfef38697e115c3ae80634765f05e78e5b SOURCES/cmake-16.0.6.src.tar.xz
|
4b397344260c934e687be7efa0f8456a9dd46f44 SOURCES/cmake-17.0.6.src.tar.xz
|
||||||
2db5c88fe9277bb0fa85f49b58e946e49ff235c2 SOURCES/cmake-16.0.6.src.tar.xz.sig
|
fa31d348b6780478403484e22139d25f403503d4 SOURCES/cmake-17.0.6.src.tar.xz.sig
|
||||||
072d2fb4b10f95d06189de00eb7f7e9b35c54e9a SOURCES/llvm-16.0.6.src.tar.xz
|
860a3605f08a0a56a8de4e073e26a259871623a6 SOURCES/llvm-17.0.6.src.tar.xz
|
||||||
bfc74b3868c69ce674a583c91e938b6d4cf0fded SOURCES/llvm-16.0.6.src.tar.xz.sig
|
2ad479ab00a6d5e61ecb953997cfeef6650a687a SOURCES/llvm-17.0.6.src.tar.xz.sig
|
||||||
5b1a58de6ed9d154a38edb6386a5749576e0b96a SOURCES/third-party-16.0.6.src.tar.xz
|
a35dc22cd3d983a556f6e4a63c8dac6a84e01caf SOURCES/third-party-17.0.6.src.tar.xz
|
||||||
51ad6a8ccc5ccd40faff6f1c98a2f33a9b600f88 SOURCES/third-party-16.0.6.src.tar.xz.sig
|
12128cdab7414aeedd573c61cbc2fa82e75491db SOURCES/third-party-17.0.6.src.tar.xz.sig
|
||||||
|
@ -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'
|
|
74
SOURCES/0001-PEI-Don-t-zero-out-noreg-operands.patch
Normal file
74
SOURCES/0001-PEI-Don-t-zero-out-noreg-operands.patch
Normal file
@ -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,184 +0,0 @@
|
|||||||
From efbaf8bc61f4c0e29a3eaafb11ac0ddda8bd3dff Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ulrich Weigand <ulrich.weigand@de.ibm.com>
|
|
||||||
Date: Fri, 30 Jun 2023 16:02:56 +0200
|
|
||||||
Subject: [PATCH] [SystemZ] Improve error messages for unsupported relocations
|
|
||||||
|
|
||||||
In the SystemZMCObjectWriter, we currently just abort in case
|
|
||||||
some unsupported relocation in requested. However, as this
|
|
||||||
situation can be triggered by invalid (inline) assembler input,
|
|
||||||
we should really get a regular error message instead.
|
|
||||||
---
|
|
||||||
.../MCTargetDesc/SystemZMCObjectWriter.cpp | 59 +++++++++++--------
|
|
||||||
1 file changed, 35 insertions(+), 24 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
|
|
||||||
index c23463ab9bde..0b11468afc52 100644
|
|
||||||
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
|
|
||||||
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
|
|
||||||
@@ -9,6 +9,7 @@
|
|
||||||
#include "MCTargetDesc/SystemZMCFixups.h"
|
|
||||||
#include "MCTargetDesc/SystemZMCTargetDesc.h"
|
|
||||||
#include "llvm/BinaryFormat/ELF.h"
|
|
||||||
+#include "llvm/MC/MCContext.h"
|
|
||||||
#include "llvm/MC/MCELFObjectWriter.h"
|
|
||||||
#include "llvm/MC/MCExpr.h"
|
|
||||||
#include "llvm/MC/MCFixup.h"
|
|
||||||
@@ -40,7 +41,7 @@ SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
|
|
||||||
/*HasRelocationAddend_=*/ true) {}
|
|
||||||
|
|
||||||
// Return the relocation type for an absolute value of MCFixupKind Kind.
|
|
||||||
-static unsigned getAbsoluteReloc(unsigned Kind) {
|
|
||||||
+static unsigned getAbsoluteReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
|
||||||
switch (Kind) {
|
|
||||||
case FK_Data_1: return ELF::R_390_8;
|
|
||||||
case FK_Data_2: return ELF::R_390_16;
|
|
||||||
@@ -49,11 +50,12 @@ static unsigned getAbsoluteReloc(unsigned Kind) {
|
|
||||||
case SystemZ::FK_390_12: return ELF::R_390_12;
|
|
||||||
case SystemZ::FK_390_20: return ELF::R_390_20;
|
|
||||||
}
|
|
||||||
- llvm_unreachable("Unsupported absolute address");
|
|
||||||
+ Ctx.reportError(Loc, "Unsupported absolute address");
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the relocation type for a PC-relative value of MCFixupKind Kind.
|
|
||||||
-static unsigned getPCRelReloc(unsigned Kind) {
|
|
||||||
+static unsigned getPCRelReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
|
||||||
switch (Kind) {
|
|
||||||
case FK_Data_2: return ELF::R_390_PC16;
|
|
||||||
case FK_Data_4: return ELF::R_390_PC32;
|
|
||||||
@@ -63,62 +65,69 @@ static unsigned getPCRelReloc(unsigned Kind) {
|
|
||||||
case SystemZ::FK_390_PC24DBL: return ELF::R_390_PC24DBL;
|
|
||||||
case SystemZ::FK_390_PC32DBL: return ELF::R_390_PC32DBL;
|
|
||||||
}
|
|
||||||
- llvm_unreachable("Unsupported PC-relative address");
|
|
||||||
+ Ctx.reportError(Loc, "Unsupported PC-relative address");
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the R_390_TLS_LE* relocation type for MCFixupKind Kind.
|
|
||||||
-static unsigned getTLSLEReloc(unsigned Kind) {
|
|
||||||
+static unsigned getTLSLEReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
|
||||||
switch (Kind) {
|
|
||||||
case FK_Data_4: return ELF::R_390_TLS_LE32;
|
|
||||||
case FK_Data_8: return ELF::R_390_TLS_LE64;
|
|
||||||
}
|
|
||||||
- llvm_unreachable("Unsupported absolute address");
|
|
||||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-exec)");
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the R_390_TLS_LDO* relocation type for MCFixupKind Kind.
|
|
||||||
-static unsigned getTLSLDOReloc(unsigned Kind) {
|
|
||||||
+static unsigned getTLSLDOReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
|
||||||
switch (Kind) {
|
|
||||||
case FK_Data_4: return ELF::R_390_TLS_LDO32;
|
|
||||||
case FK_Data_8: return ELF::R_390_TLS_LDO64;
|
|
||||||
}
|
|
||||||
- llvm_unreachable("Unsupported absolute address");
|
|
||||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the R_390_TLS_LDM* relocation type for MCFixupKind Kind.
|
|
||||||
-static unsigned getTLSLDMReloc(unsigned Kind) {
|
|
||||||
+static unsigned getTLSLDMReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
|
||||||
switch (Kind) {
|
|
||||||
case FK_Data_4: return ELF::R_390_TLS_LDM32;
|
|
||||||
case FK_Data_8: return ELF::R_390_TLS_LDM64;
|
|
||||||
case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_LDCALL;
|
|
||||||
}
|
|
||||||
- llvm_unreachable("Unsupported absolute address");
|
|
||||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the R_390_TLS_GD* relocation type for MCFixupKind Kind.
|
|
||||||
-static unsigned getTLSGDReloc(unsigned Kind) {
|
|
||||||
+static unsigned getTLSGDReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
|
||||||
switch (Kind) {
|
|
||||||
case FK_Data_4: return ELF::R_390_TLS_GD32;
|
|
||||||
case FK_Data_8: return ELF::R_390_TLS_GD64;
|
|
||||||
case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_GDCALL;
|
|
||||||
}
|
|
||||||
- llvm_unreachable("Unsupported absolute address");
|
|
||||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (general-dynamic)");
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the PLT relocation counterpart of MCFixupKind Kind.
|
|
||||||
-static unsigned getPLTReloc(unsigned Kind) {
|
|
||||||
+static unsigned getPLTReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
|
||||||
switch (Kind) {
|
|
||||||
case SystemZ::FK_390_PC12DBL: return ELF::R_390_PLT12DBL;
|
|
||||||
case SystemZ::FK_390_PC16DBL: return ELF::R_390_PLT16DBL;
|
|
||||||
case SystemZ::FK_390_PC24DBL: return ELF::R_390_PLT24DBL;
|
|
||||||
case SystemZ::FK_390_PC32DBL: return ELF::R_390_PLT32DBL;
|
|
||||||
}
|
|
||||||
- llvm_unreachable("Unsupported absolute address");
|
|
||||||
+ Ctx.reportError(Loc, "Unsupported PC-relative PLT address");
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
|
|
||||||
const MCValue &Target,
|
|
||||||
const MCFixup &Fixup,
|
|
||||||
bool IsPCRel) const {
|
|
||||||
+ SMLoc Loc = Fixup.getLoc();
|
|
||||||
unsigned Kind = Fixup.getKind();
|
|
||||||
if (Kind >= FirstLiteralRelocationKind)
|
|
||||||
return Kind - FirstLiteralRelocationKind;
|
|
||||||
@@ -126,38 +135,40 @@ unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
|
|
||||||
switch (Modifier) {
|
|
||||||
case MCSymbolRefExpr::VK_None:
|
|
||||||
if (IsPCRel)
|
|
||||||
- return getPCRelReloc(Kind);
|
|
||||||
- return getAbsoluteReloc(Kind);
|
|
||||||
+ return getPCRelReloc(Ctx, Loc, Kind);
|
|
||||||
+ return getAbsoluteReloc(Ctx, Loc, Kind);
|
|
||||||
|
|
||||||
case MCSymbolRefExpr::VK_NTPOFF:
|
|
||||||
assert(!IsPCRel && "NTPOFF shouldn't be PC-relative");
|
|
||||||
- return getTLSLEReloc(Kind);
|
|
||||||
+ return getTLSLEReloc(Ctx, Loc, Kind);
|
|
||||||
|
|
||||||
case MCSymbolRefExpr::VK_INDNTPOFF:
|
|
||||||
if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
|
|
||||||
return ELF::R_390_TLS_IEENT;
|
|
||||||
- llvm_unreachable("Only PC-relative INDNTPOFF accesses are supported for now");
|
|
||||||
+ Ctx.reportError(Loc, "Only PC-relative INDNTPOFF accesses are supported for now");
|
|
||||||
+ return 0;
|
|
||||||
|
|
||||||
case MCSymbolRefExpr::VK_DTPOFF:
|
|
||||||
assert(!IsPCRel && "DTPOFF shouldn't be PC-relative");
|
|
||||||
- return getTLSLDOReloc(Kind);
|
|
||||||
+ return getTLSLDOReloc(Ctx, Loc, Kind);
|
|
||||||
|
|
||||||
case MCSymbolRefExpr::VK_TLSLDM:
|
|
||||||
assert(!IsPCRel && "TLSLDM shouldn't be PC-relative");
|
|
||||||
- return getTLSLDMReloc(Kind);
|
|
||||||
+ return getTLSLDMReloc(Ctx, Loc, Kind);
|
|
||||||
|
|
||||||
case MCSymbolRefExpr::VK_TLSGD:
|
|
||||||
assert(!IsPCRel && "TLSGD shouldn't be PC-relative");
|
|
||||||
- return getTLSGDReloc(Kind);
|
|
||||||
+ return getTLSGDReloc(Ctx, Loc, Kind);
|
|
||||||
|
|
||||||
case MCSymbolRefExpr::VK_GOT:
|
|
||||||
if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
|
|
||||||
return ELF::R_390_GOTENT;
|
|
||||||
- llvm_unreachable("Only PC-relative GOT accesses are supported for now");
|
|
||||||
+ Ctx.reportError(Loc, "Only PC-relative GOT accesses are supported for now");
|
|
||||||
+ return 0;
|
|
||||||
|
|
||||||
case MCSymbolRefExpr::VK_PLT:
|
|
||||||
- assert(IsPCRel && "@PLT shouldt be PC-relative");
|
|
||||||
- return getPLTReloc(Kind);
|
|
||||||
+ assert(IsPCRel && "@PLT shouldn't be PC-relative");
|
|
||||||
+ return getPLTReloc(Ctx, Loc, Kind);
|
|
||||||
|
|
||||||
default:
|
|
||||||
llvm_unreachable("Modifier not supported");
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Thu, 17 Nov 2022 09:01:10 +0000
|
|
||||||
Subject: Add install targets for gtest
|
|
||||||
|
|
||||||
Stand-alone builds need an installed version of gtest in order to run
|
|
||||||
the unittests.
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D137890
|
|
||||||
---
|
|
||||||
llvm/CMakeLists.txt | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
|
|
||||||
index 60e1f29620af..d91338532815 100644
|
|
||||||
--- a/llvm/CMakeLists.txt
|
|
||||||
+++ b/llvm/CMakeLists.txt
|
|
||||||
@@ -693,6 +693,11 @@ option(LLVM_BUILD_TESTS
|
|
||||||
"Build LLVM unit tests. If OFF, just generate build targets." OFF)
|
|
||||||
option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)
|
|
||||||
|
|
||||||
+option(LLVM_INSTALL_GTEST
|
|
||||||
+ "Install the llvm gtest library. This should be on if you want to do
|
|
||||||
+ stand-alone builds of the other projects and run their unit tests." OFF)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
option(LLVM_BUILD_BENCHMARKS "Add LLVM benchmark targets to the list of default
|
|
||||||
targets. If OFF, benchmarks still could be built using Benchmarks target." OFF)
|
|
||||||
option(LLVM_INCLUDE_BENCHMARKS "Generate benchmark targets. If OFF, benchmarks can't be built." ON)
|
|
||||||
--
|
|
||||||
2.34.3
|
|
||||||
|
|
26
SOURCES/0101-Deactivate-markdown-doc.patch
Normal file
26
SOURCES/0101-Deactivate-markdown-doc.patch
Normal file
@ -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,47 +0,0 @@
|
|||||||
From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Thu, 17 Nov 2022 09:01:10 +0000
|
|
||||||
Subject: Add install targets for gtest
|
|
||||||
|
|
||||||
Stand-alone builds need an installed version of gtest in order to run
|
|
||||||
the unittests.
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D137890
|
|
||||||
---
|
|
||||||
third-party/unittest/CMakeLists.txt | 15 ++++++++++++++-
|
|
||||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/third-party/unittest/CMakeLists.txt b/third-party/unittest/CMakeLists.txt
|
|
||||||
index 0e54e0e57c35..1d2a52730d7d 100644
|
|
||||||
--- a/third-party/unittest/CMakeLists.txt
|
|
||||||
+++ b/third-party/unittest/CMakeLists.txt
|
|
||||||
@@ -65,12 +65,25 @@ if (NOT LLVM_ENABLE_THREADS)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
target_include_directories(llvm_gtest
|
|
||||||
- PUBLIC googletest/include googlemock/include
|
|
||||||
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googletest/include>
|
|
||||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googlemock/include>
|
|
||||||
+ $<INSTALL_INTERFACE:include/llvm-gtest/>
|
|
||||||
+ $<INSTALL_INTERFACE:include/llvm-gmock/>
|
|
||||||
PRIVATE googletest googlemock
|
|
||||||
)
|
|
||||||
|
|
||||||
add_subdirectory(UnitTestMain)
|
|
||||||
|
|
||||||
+if (LLVM_INSTALL_GTEST)
|
|
||||||
+export(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport FILE LLVMGTestConfig.cmake)
|
|
||||||
+install(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport EXPORT LLVMGTestConfig
|
|
||||||
+ ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT llvm_gtest)
|
|
||||||
+ install(EXPORT LLVMGTestConfig DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} COMPONENT llvm_gtest)
|
|
||||||
+ add_llvm_install_targets(install-llvm_gtest COMPONENT llvm_gtest DEPENDS llvm_gtest LLVMGTestConfig.cmake)
|
|
||||||
+ install(DIRECTORY googletest/include/gtest/ DESTINATION include/llvm-gtest/gtest/ COMPONENT llvm_gtest)
|
|
||||||
+ install(DIRECTORY googlemock/include/gmock/ DESTINATION include/llvm-gmock/gmock/ COMPONENT llvm_gtest)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
# When LLVM_LINK_LLVM_DYLIB is enabled, libLLVM.so is added to the interface
|
|
||||||
# link libraries for gtest and gtest_main. This means that any target, like
|
|
||||||
# unittests for example, that links against gtest will be forced to link
|
|
||||||
--
|
|
||||||
2.34.3
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
|||||||
diff --git a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
|
|
||||||
--- a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
|
|
||||||
+++ b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
|
|
||||||
@@ -1152,6 +1152,11 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Type legalization (via getNumberOfParts) can't handle structs
|
|
||||||
+ if (TLI->getValueType(DL, Src, true) == MVT::Other)
|
|
||||||
+ return BaseT::getMemoryOpCost(Opcode, Src, Alignment, AddressSpace,
|
|
||||||
+ CostKind);
|
|
||||||
+
|
|
||||||
unsigned NumOps =
|
|
||||||
(Src->isVectorTy() ? getNumVectorRegs(Src) : getNumberOfParts(Src));
|
|
||||||
|
|
||||||
diff --git a/llvm/test/Analysis/CostModel/SystemZ/struct-cost-crash.ll b/llvm/test/Analysis/CostModel/SystemZ/struct-cost-crash.ll
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/llvm/test/Analysis/CostModel/SystemZ/struct-cost-crash.ll
|
|
||||||
@@ -0,0 +1,25 @@
|
|
||||||
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 2
|
|
||||||
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output < %s | FileCheck %s
|
|
||||||
+;
|
|
||||||
+; Check that SystemZTTIImpl::getMemoryOpCost doesn't try to legalize structs,
|
|
||||||
+; which was failing llvm_unreachable in MVT::getVT.
|
|
||||||
+
|
|
||||||
+target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
|
|
||||||
+target triple = "s390x-unknown-linux-gnu"
|
|
||||||
+
|
|
||||||
+declare { i64, i32 } @bar()
|
|
||||||
+
|
|
||||||
+define i8 @foo() {
|
|
||||||
+; CHECK-LABEL: 'foo'
|
|
||||||
+; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: br label %1
|
|
||||||
+; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = call { i64, i32 } @bar()
|
|
||||||
+; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store { i64, i32 } %2, ptr inttoptr (i64 16 to ptr), align 16
|
|
||||||
+; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: br label %1
|
|
||||||
+;
|
|
||||||
+ br label %1
|
|
||||||
+
|
|
||||||
+1: ; preds = %1, %0
|
|
||||||
+ %2 = call { i64, i32 } @bar()
|
|
||||||
+ store { i64, i32 } %2, ptr inttoptr (i64 16 to ptr), align 16
|
|
||||||
+ br label %1
|
|
||||||
+}
|
|
||||||
|
|
219
SPECS/llvm.spec
219
SPECS/llvm.spec
@ -1,3 +1,10 @@
|
|||||||
|
%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.
|
# We are building with clang for faster/lower memory LTO builds.
|
||||||
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
|
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
|
||||||
%global toolchain clang
|
%global toolchain clang
|
||||||
@ -16,21 +23,37 @@
|
|||||||
%bcond_with bundle_compat_lib
|
%bcond_with bundle_compat_lib
|
||||||
%bcond_without check
|
%bcond_without check
|
||||||
|
|
||||||
%if %{with bundle_compat_lib}
|
%ifarch %ix86
|
||||||
%global compat_maj_ver 15
|
# Disable LTO on x86 in order to reduce memory consumption
|
||||||
%global compat_ver %{compat_maj_ver}.0.7
|
%bcond_with lto_build
|
||||||
|
%elif %{with snapshot_build}
|
||||||
|
# Disable LTO to speed up builds
|
||||||
|
%bcond_with lto_build
|
||||||
|
%else
|
||||||
|
%bcond_without lto_build
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global llvm_libdir %{_libdir}/%{name}
|
%if %{with bundle_compat_lib}
|
||||||
%global build_llvm_libdir %{buildroot}%{llvm_libdir}
|
%global compat_maj_ver 16
|
||||||
#global rc_ver 3
|
%global compat_ver %{compat_maj_ver}.0.6
|
||||||
%global maj_ver 16
|
%endif
|
||||||
|
|
||||||
|
%global maj_ver 17
|
||||||
%global min_ver 0
|
%global min_ver 0
|
||||||
%global patch_ver 6
|
%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 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 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_
|
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
ver:rc%{rc_ver}}.src
|
%global _lto_cflags -flto=thin
|
||||||
|
|
||||||
%if %{with compat_build}
|
%if %{with compat_build}
|
||||||
%global pkg_name llvm%{maj_ver}
|
%global pkg_name llvm%{maj_ver}
|
||||||
@ -40,15 +63,15 @@ ver:rc%{rc_ver}}.src
|
|||||||
%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_bindir %{_bindir}
|
%global install_includedir %{_includedir}
|
||||||
%global pkg_libdir %{install_libdir}
|
%global pkg_datadir %{_datadir}
|
||||||
%global exec_suffix %{nil}
|
%global exec_suffix %{nil}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -80,12 +103,18 @@ ver:rc%{rc_ver}}.src
|
|||||||
%undefine _py3_shebang_P
|
%undefine _py3_shebang_P
|
||||||
|
|
||||||
Name: %{pkg_name}
|
Name: %{pkg_name}
|
||||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
|
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
Summary: The Low Level Virtual Machine
|
Summary: The Low Level Virtual Machine
|
||||||
|
|
||||||
License: Apache-2.0 WITH LLVM-exception OR NCSA
|
License: Apache-2.0 WITH LLVM-exception OR NCSA
|
||||||
URL: http://llvm.org
|
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
|
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
|
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
|
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
|
||||||
@ -98,20 +127,13 @@ Source6: release-keys.asc
|
|||||||
Source7: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz
|
Source7: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz
|
||||||
Source8: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz.sig
|
Source8: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz.sig
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
# Backported from LLVM 17
|
# Backport of https://reviews.llvm.org/D156485 for rhbz#2262260/RHEL-23638
|
||||||
Patch1: 0001-SystemZ-Improve-error-messages-for-unsupported-reloc.patch
|
Patch0: 0001-PEI-Don-t-zero-out-noreg-operands.patch
|
||||||
# See https://reviews.llvm.org/D137890 for the next two patches
|
|
||||||
Patch2: 0001-llvm-Add-install-targets-for-gtest.patch
|
|
||||||
# Backport of https://reviews.llvm.org/D156379 from LLVM 18.
|
|
||||||
Patch3: D156379.diff
|
|
||||||
|
|
||||||
# Patching third-party dir with a 200 offset in patch number
|
# RHEL-specific patch to avoid unwanted recommonmark dep
|
||||||
Patch201: 0201-third-party-Add-install-targets-for-gtest.patch
|
Patch101: 0101-Deactivate-markdown-doc.patch
|
||||||
|
|
||||||
# RHEL-specific patches
|
|
||||||
Patch101: 0001-Deactivate-markdown-doc.patch
|
|
||||||
#Patch102: 1.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -163,14 +185,15 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|||||||
# app that requires the libLLVMLineEditor, so we need to make sure
|
# app that requires the libLLVMLineEditor, so we need to make sure
|
||||||
# libedit-devel is available.
|
# libedit-devel is available.
|
||||||
Requires: libedit-devel
|
Requires: libedit-devel
|
||||||
# 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: %{name}-static%{?_isa} = %{version}-%{release}
|
Requires: %{name}-static%{?_isa} = %{version}-%{release}
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
Requires: %{name}-test%{?_isa} = %{version}-%{release}
|
Requires: %{name}-test%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: %{name}-googletest%{?_isa} = %{version}-%{release}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -206,6 +229,13 @@ 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
|
||||||
@ -239,12 +269,14 @@ This is the main package for llvm-toolset.
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
%if %{without snapshot_build}
|
||||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
|
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
|
||||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}'
|
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}'
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE8}' --data='%{SOURCE7}'
|
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE8}' --data='%{SOURCE7}'
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%setup -T -q -b 2 -n %{cmake_srcdir}
|
%setup -T -q -b 2 -n %{cmake_srcdir}
|
||||||
# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir},
|
# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir},
|
||||||
@ -285,6 +317,7 @@ mv %{third_party_srcdir} third-party
|
|||||||
export ASMFLAGS="%{build_cflags}"
|
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.
|
||||||
%cmake -G Ninja \
|
%cmake -G Ninja \
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||||
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||||
@ -347,18 +380,20 @@ export ASMFLAGS="%{build_cflags}"
|
|||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
-DLLVM_VERSION_SUFFIX='' \
|
-DLLVM_VERSION_SUFFIX='' \
|
||||||
%endif
|
%endif
|
||||||
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \
|
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=ON \
|
||||||
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_BUILD_LLVM_DYLIB: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} \
|
-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 \
|
-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"
|
-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
|
||||||
@ -419,11 +454,7 @@ 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 %{_vpath_builddir}/lib64
|
|
||||||
%else
|
|
||||||
%global build_libdir %{_vpath_builddir}/lib
|
|
||||||
%endif
|
|
||||||
|
|
||||||
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
||||||
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir}
|
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir}
|
||||||
@ -453,7 +484,7 @@ ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-
|
|||||||
# Create ld.so.conf.d entry
|
# Create ld.so.conf.d entry
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
||||||
cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
|
cat >> %{buildroot}%{_sysconfdir}/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.
|
||||||
@ -475,19 +506,19 @@ rm -Rf %{build_install_prefix}/share/opt-viewer
|
|||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
|
|
||||||
mv %{buildroot}/%{pkg_bindir}/llvm-config %{buildroot}/%{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
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.
|
# 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
|
# 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
|
# compat builds. An isa-agnostic versionned symlink is also maintained in the (un)install
|
||||||
# steps.
|
# steps.
|
||||||
(cd %{buildroot}/%{pkg_bindir} ; ln -s llvm-config%{exec_suffix}-%{__isa_bits} llvm-config-%{maj_ver}-%{__isa_bits} )
|
(cd %{buildroot}/%{install_bindir} ; ln -s llvm-config%{exec_suffix}-%{__isa_bits} llvm-config-%{maj_ver}-%{__isa_bits} )
|
||||||
# ghost presence
|
# ghost presence
|
||||||
touch %{buildroot}%{_bindir}/llvm-config-%{maj_ver}
|
touch %{buildroot}%{_bindir}/llvm-config-%{maj_ver}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
|
|
||||||
rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
||||||
(cd %{buildroot}/%{pkg_bindir} ; ln -s llvm-config llvm-config%{exec_suffix}-%{__isa_bits} )
|
(cd %{buildroot}/%{install_bindir} ; ln -s llvm-config llvm-config%{exec_suffix}-%{__isa_bits} )
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -495,7 +526,8 @@ rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
|||||||
touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
cp -Rv ../cmake/Modules/* %{buildroot}%{_libdir}/cmake/llvm
|
mkdir -p %{buildroot}%{pkg_datadir}/llvm/cmake
|
||||||
|
cp -Rv ../cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -514,7 +546,7 @@ rm test/tools/dsymutil/X86/swift-interface.test
|
|||||||
|
|
||||||
%if %{with check}
|
%if %{with check}
|
||||||
# FIXME: use %%cmake_build instead of %%__ninja
|
# FIXME: use %%cmake_build instead of %%__ninja
|
||||||
LD_LIBRARY_PATH=%{buildroot}/%{pkg_libdir} %{__ninja} check-all -C %{_vpath_builddir}
|
LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %{__ninja} check-all -C %{_vpath_builddir}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -522,16 +554,16 @@ LD_LIBRARY_PATH=%{buildroot}/%{pkg_libdir} %{__ninja} check-all -C %{_vpath_bui
|
|||||||
%ldconfig_scriptlets libs
|
%ldconfig_scriptlets libs
|
||||||
|
|
||||||
%post devel
|
%post devel
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__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}
|
%if %{without compat_build}
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
|
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%postun devel
|
%postun devel
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
%{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
%{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
%{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
%endif
|
%endif
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -542,11 +574,11 @@ fi
|
|||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
|
||||||
%exclude %{_bindir}/llvm-config%{exec_suffix}
|
%exclude %{_bindir}/llvm-config%{exec_suffix}
|
||||||
%exclude %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
%exclude %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%exclude %{_bindir}/llvm-config-%{maj_ver}
|
%exclude %{_bindir}/llvm-config-%{maj_ver}
|
||||||
%exclude %{pkg_bindir}/llvm-config-%{maj_ver}-%{__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
|
||||||
@ -555,12 +587,12 @@ fi
|
|||||||
%exclude %{_bindir}/llvm-opt-fuzzer
|
%exclude %{_bindir}/llvm-opt-fuzzer
|
||||||
%{_datadir}/opt-viewer
|
%{_datadir}/opt-viewer
|
||||||
%else
|
%else
|
||||||
%{pkg_bindir}
|
%{install_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
|
||||||
@ -573,11 +605,11 @@ fi
|
|||||||
%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*
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
%{_libdir}/libLLVM-%{compat_maj_ver}.so
|
%{_libdir}/libLLVM-%{compat_maj_ver}.so
|
||||||
%endif
|
%endif
|
||||||
@ -586,24 +618,20 @@ fi
|
|||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
|
|
||||||
%ghost %{_bindir}/llvm-config%{exec_suffix}
|
%ghost %{_bindir}/llvm-config%{exec_suffix}
|
||||||
%{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
%{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
%{_mandir}/man1/llvm-config*
|
%{_mandir}/man1/llvm-config*
|
||||||
|
|
||||||
%if %{without compat_build}
|
|
||||||
%{_includedir}/llvm
|
|
||||||
%{_includedir}/llvm-c
|
|
||||||
%{_libdir}/libLLVM.so
|
|
||||||
%{_libdir}/cmake/llvm
|
|
||||||
%{pkg_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
|
||||||
%ghost %{_bindir}/llvm-config-%{maj_ver}
|
|
||||||
%else
|
|
||||||
%{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
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
%{_libdir}/llvm%{compat_maj_ver}/
|
%{_libdir}/llvm%{compat_maj_ver}/
|
||||||
@ -615,16 +643,18 @@ 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
|
||||||
%exclude %{_libdir}/libLLVMTestingAnnotations.a
|
%exclude %{install_libdir}/libllvm_gtest.a
|
||||||
%exclude %{_libdir}/libllvm_gtest.a
|
%exclude %{install_libdir}/libllvm_gtest_main.a
|
||||||
%exclude %{_libdir}/libllvm_gtest_main.a
|
|
||||||
%else
|
|
||||||
%{_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
|
||||||
@ -638,19 +668,44 @@ fi
|
|||||||
|
|
||||||
%files googletest
|
%files googletest
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{_libdir}/libLLVMTestingSupport.a
|
%{install_libdir}/libLLVMTestingSupport.a
|
||||||
%{_libdir}/libLLVMTestingAnnotations.a
|
%{install_libdir}/libLLVMTestingAnnotations.a
|
||||||
%{_libdir}/libllvm_gtest.a
|
%{install_libdir}/libllvm_gtest.a
|
||||||
%{_libdir}/libllvm_gtest_main.a
|
%{install_libdir}/libllvm_gtest_main.a
|
||||||
%{_includedir}/llvm-gtest
|
%{install_includedir}/llvm-gtest
|
||||||
%{_includedir}/llvm-gmock
|
%{install_includedir}/llvm-gmock
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%files toolset
|
%files toolset
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 02 2024 Timm Bäder <tbaeder@redhat.com> - 17.0.6-5
|
||||||
|
- Backport a patch for RHEL-23638
|
||||||
|
|
||||||
|
* Mon Jan 08 2024 Timm Bäder <tbaeder@redhat.com> - 17.0.6-4
|
||||||
|
- Remove compat libs for real.
|
||||||
|
|
||||||
|
* Thu Dec 14 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.6-3
|
||||||
|
- Add back compat libs until all necessary packages have been rebuilt.
|
||||||
|
|
||||||
|
* Fri Dec 08 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.6-2
|
||||||
|
- Remove compat libs
|
||||||
|
|
||||||
|
* Tue Dec 05 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.6-1
|
||||||
|
- Update to 17.0.6
|
||||||
|
|
||||||
|
* Fri Oct 06 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.1-3
|
||||||
|
- Add llvm-toolset files section back
|
||||||
|
|
||||||
|
* Mon Oct 02 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.1-2
|
||||||
|
- Rebuild with newer redhat-rpm-config
|
||||||
|
|
||||||
|
* Tue Sep 26 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.1-1
|
||||||
|
- Update to 17.0.1
|
||||||
|
|
||||||
* Fri Aug 04 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-4
|
* Fri Aug 04 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-4
|
||||||
- Re-add LDFLAGS to shared libraries
|
- Re-add LDFLAGS to shared libraries
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user