Compare commits
No commits in common. "c8-stream-rhel8" and "stream-llvm-toolset-rhel-next-rhel-8.10.0" have entirely different histories.
c8-stream-
...
stream-llv
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -1,6 +1,28 @@
|
||||||
SOURCES/cmake-17.0.6.src.tar.xz
|
SOURCES/cmake-15.0.7.src.tar.xz
|
||||||
SOURCES/cmake-17.0.6.src.tar.xz.sig
|
SOURCES/llvm-15.0.7.src.tar.xz
|
||||||
SOURCES/llvm-17.0.6.src.tar.xz
|
/cmake-15.0.7.src.tar.xz
|
||||||
SOURCES/llvm-17.0.6.src.tar.xz.sig
|
/llvm-15.0.7.src.tar.xz
|
||||||
SOURCES/third-party-17.0.6.src.tar.xz
|
/llvm-16.0.0.src.tar.xz
|
||||||
SOURCES/third-party-17.0.6.src.tar.xz.sig
|
/llvm-16.0.0.src.tar.xz.sig
|
||||||
|
/cmake-16.0.0.src.tar.xz
|
||||||
|
/cmake-16.0.0.src.tar.xz.sig
|
||||||
|
/third-party-16.0.0.src.tar.xz
|
||||||
|
/third-party-16.0.0.src.tar.xz.sig
|
||||||
|
/llvm-16.0.6.src.tar.xz
|
||||||
|
/llvm-16.0.6.src.tar.xz.sig
|
||||||
|
/cmake-16.0.6.src.tar.xz
|
||||||
|
/cmake-16.0.6.src.tar.xz.sig
|
||||||
|
/third-party-16.0.6.src.tar.xz
|
||||||
|
/third-party-16.0.6.src.tar.xz.sig
|
||||||
|
/llvm-17.0.2.src.tar.xz
|
||||||
|
/llvm-17.0.2.src.tar.xz.sig
|
||||||
|
/cmake-17.0.2.src.tar.xz
|
||||||
|
/cmake-17.0.2.src.tar.xz.sig
|
||||||
|
/third-party-17.0.2.src.tar.xz
|
||||||
|
/third-party-17.0.2.src.tar.xz.sig
|
||||||
|
/llvm-17.0.6.src.tar.xz
|
||||||
|
/llvm-17.0.6.src.tar.xz.sig
|
||||||
|
/cmake-17.0.6.src.tar.xz
|
||||||
|
/cmake-17.0.6.src.tar.xz.sig
|
||||||
|
/third-party-17.0.6.src.tar.xz
|
||||||
|
/third-party-17.0.6.src.tar.xz.sig
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
4b397344260c934e687be7efa0f8456a9dd46f44 SOURCES/cmake-17.0.6.src.tar.xz
|
ad230bc2bcb3a7dcedd9bf462a5915f3b5cee598 llvm-18.1.2.src.tar.xz
|
||||||
fa31d348b6780478403484e22139d25f403503d4 SOURCES/cmake-17.0.6.src.tar.xz.sig
|
8c7be6f58c0a1bf6edfcc1447e1356a72c13bf96 llvm-18.1.2.src.tar.xz.sig
|
||||||
860a3605f08a0a56a8de4e073e26a259871623a6 SOURCES/llvm-17.0.6.src.tar.xz
|
b04c79da253b97af9dae59675bc29cd1d3c6257f cmake-18.1.2.src.tar.xz
|
||||||
2ad479ab00a6d5e61ecb953997cfeef6650a687a SOURCES/llvm-17.0.6.src.tar.xz.sig
|
cb4b762163f99c329441ca724f2d8729c3df56dd cmake-18.1.2.src.tar.xz.sig
|
||||||
a35dc22cd3d983a556f6e4a63c8dac6a84e01caf SOURCES/third-party-17.0.6.src.tar.xz
|
209a7890d8852fa626a326e6e156af2ab8949174 third-party-18.1.2.src.tar.xz
|
||||||
12128cdab7414aeedd573c61cbc2fa82e75491db SOURCES/third-party-17.0.6.src.tar.xz.sig
|
844233bf713229273f23bb082cc7807e52f3127f third-party-18.1.2.src.tar.xz.sig
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/llvm/docs/conf.py b/llvm/docs/conf.py
|
||||||
|
index cf8a75980b53..b208ad138e89 100644
|
||||||
|
--- a/llvm/docs/conf.py
|
||||||
|
+++ b/llvm/docs/conf.py
|
||||||
|
@@ -26,7 +26,7 @@ from datetime import date
|
||||||
|
|
||||||
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||||
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
|
-extensions = ["myst_parser", "sphinx.ext.intersphinx", "sphinx.ext.todo"]
|
||||||
|
+extensions = ["sphinx.ext.intersphinx", "sphinx.ext.todo"]
|
||||||
|
|
||||||
|
# Automatic anchors for markdown titles
|
||||||
|
from llvm_slug import make_slug
|
|
@ -1,74 +0,0 @@
|
||||||
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,26 +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,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'
|
|
Binary file not shown.
|
@ -0,0 +1,19 @@
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_testing
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_stable
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier0.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation}
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
# This library has no dependencies.
|
||||||
|
addFilter("llvm-libs.x86_64: E: shared-lib-without-dependency-information /usr/lib64/libRemarks.so.[0-9]+")
|
|
@ -31,9 +31,9 @@
|
||||||
%bcond_without lto_build
|
%bcond_without lto_build
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global maj_ver 17
|
%global maj_ver 18
|
||||||
%global min_ver 0
|
%global min_ver 1
|
||||||
%global patch_ver 6
|
%global patch_ver 2
|
||||||
#global rc_ver 4
|
#global rc_ver 4
|
||||||
|
|
||||||
%if %{with snapshot_build}
|
%if %{with snapshot_build}
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
|
|
||||||
Name: %{pkg_name}
|
Name: %{pkg_name}
|
||||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
|
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
|
||||||
Release: 2%{?dist}
|
Release: 1%{?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
|
||||||
|
@ -138,10 +138,7 @@ Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve
|
||||||
Source6: release-keys.asc
|
Source6: release-keys.asc
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Backport of https://reviews.llvm.org/D156485 for RHEL-23865.
|
# RHEL-specific patch to avoid unwanted python3-myst-parser dep
|
||||||
Patch0: 0001-PEI-Don-t-zero-out-noreg-operands.patch
|
|
||||||
|
|
||||||
# RHEL-specific patch to avoid unwanted recommonmark dep
|
|
||||||
Patch101: 0101-Deactivate-markdown-doc.patch
|
Patch101: 0101-Deactivate-markdown-doc.patch
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
|
@ -155,7 +152,7 @@ BuildRequires: ncurses-devel
|
||||||
BuildRequires: python3-psutil
|
BuildRequires: python3-psutil
|
||||||
BuildRequires: python3-sphinx
|
BuildRequires: python3-sphinx
|
||||||
%if %{undefined rhel}
|
%if %{undefined rhel}
|
||||||
BuildRequires: python3-recommonmark
|
BuildRequires: python3-myst-parser
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: multilib-rpm-config
|
BuildRequires: multilib-rpm-config
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
|
@ -209,14 +206,12 @@ Requires: libedit-devel
|
||||||
# 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}
|
|
||||||
Requires: %{name}-test%{?_isa} = %{version}-%{release}
|
Requires: %{name}-test%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{name}-googletest%{?_isa} = %{version}-%{release}
|
Requires: %{name}-googletest%{?_isa} = %{version}-%{release}
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
Requires(post): %{_sbindir}/alternatives
|
Requires(post): /usr/sbin/alternatives
|
||||||
Requires(postun): %{_sbindir}/alternatives
|
Requires(postun): /usr/sbin/alternatives
|
||||||
|
|
||||||
Provides: llvm-devel(major) = %{maj_ver}
|
Provides: llvm-devel(major) = %{maj_ver}
|
||||||
|
|
||||||
|
@ -234,6 +229,8 @@ Documentation for the LLVM compiler infrastructure.
|
||||||
|
|
||||||
%package libs
|
%package libs
|
||||||
Summary: LLVM shared libraries
|
Summary: LLVM shared libraries
|
||||||
|
Requires(post): /sbin/ldconfig
|
||||||
|
Requires(postun): /sbin/ldconfig
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
Shared libraries for the LLVM compiler infrastructure.
|
Shared libraries for the LLVM compiler infrastructure.
|
||||||
|
@ -254,8 +251,6 @@ Summary: CMake utilities shared across LLVM subprojects
|
||||||
CMake utilities shared across LLVM subprojects.
|
CMake utilities shared across LLVM subprojects.
|
||||||
This is for internal use by LLVM packages only.
|
This is for internal use by LLVM packages only.
|
||||||
|
|
||||||
%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}
|
||||||
|
@ -280,22 +275,14 @@ Summary: Package that installs llvm-toolset
|
||||||
Requires: clang = %{version}
|
Requires: clang = %{version}
|
||||||
Requires: llvm = %{version}
|
Requires: llvm = %{version}
|
||||||
|
|
||||||
%ifnarch s390x
|
|
||||||
Requires: lld = %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description toolset
|
%description toolset
|
||||||
This is the main package for llvm-toolset.
|
This is the main package for llvm-toolset.
|
||||||
%endif
|
%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}'
|
||||||
%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},
|
||||||
# but this is not a CACHED variable, so we can't actually set it externally :(
|
# but this is not a CACHED variable, so we can't actually set it externally :(
|
||||||
|
@ -370,24 +357,16 @@ export ASMFLAGS="%{build_cflags}"
|
||||||
\
|
\
|
||||||
-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 \
|
-DLLVM_INSTALL_GTEST:BOOL=ON \
|
||||||
%endif
|
|
||||||
-DLLVM_LIT_ARGS=-v \
|
-DLLVM_LIT_ARGS=-v \
|
||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
|
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
|
||||||
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_UTILS:BOOL=ON \
|
-DLLVM_INCLUDE_UTILS:BOOL=ON \
|
||||||
%if %{with compat_build}
|
|
||||||
-DLLVM_INSTALL_UTILS:BOOL=OFF \
|
|
||||||
%else
|
|
||||||
-DLLVM_INSTALL_UTILS:BOOL=ON \
|
-DLLVM_INSTALL_UTILS:BOOL=ON \
|
||||||
-DLLVM_UTILS_INSTALL_DIR:PATH=%{_bindir} \
|
-DLLVM_UTILS_INSTALL_DIR:PATH=bin \
|
||||||
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \
|
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \
|
||||||
%endif
|
|
||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_DOCS:BOOL=ON \
|
-DLLVM_INCLUDE_DOCS:BOOL=ON \
|
||||||
-DLLVM_BUILD_DOCS:BOOL=ON \
|
-DLLVM_BUILD_DOCS:BOOL=ON \
|
||||||
|
@ -408,12 +387,14 @@ export ASMFLAGS="%{build_cflags}"
|
||||||
-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=/usr/bin/sphinx-build-3 \
|
||||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||||
%if %{with lto_build}
|
%if %{with lto_build}
|
||||||
-DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0" \
|
-DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0" \
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error"
|
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error"
|
||||||
|
%endif
|
||||||
|
|
||||||
# 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
|
||||||
|
@ -426,29 +407,34 @@ export ASMFLAGS="%{build_cflags}"
|
||||||
|
|
||||||
mkdir -p %{buildroot}/%{_bindir}
|
mkdir -p %{buildroot}/%{_bindir}
|
||||||
|
|
||||||
%if %{without compat_build}
|
|
||||||
|
|
||||||
# Fix some man pages
|
|
||||||
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.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 %{_vpath_builddir}/bin/$f %{buildroot}%{_bindir}
|
install -m 0755 %{_vpath_builddir}/bin/$f %{buildroot}%{install_bindir}
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove testing of update utility tools
|
# Remove testing of update utility tools
|
||||||
rm -rf test/tools/UpdateTestChecks
|
rm -rf test/tools/UpdateTestChecks
|
||||||
|
|
||||||
%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
|
|
||||||
|
|
||||||
# Install libraries needed for unittests
|
# Install libraries needed for unittests
|
||||||
|
%if %{without compat_build}
|
||||||
%global build_libdir %{_vpath_builddir}/%{_lib}
|
%global build_libdir %{_vpath_builddir}/%{_lib}
|
||||||
|
%else
|
||||||
|
%global build_libdir %{_vpath_builddir}/lib
|
||||||
|
%endif
|
||||||
|
|
||||||
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{install_libdir}
|
||||||
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir}
|
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{install_libdir}
|
||||||
|
|
||||||
|
# Fix multi-lib
|
||||||
|
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
|
||||||
|
|
||||||
|
%if %{without compat_build}
|
||||||
|
|
||||||
|
# Fix some man pages
|
||||||
|
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1
|
||||||
|
|
||||||
%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.
|
||||||
|
@ -464,14 +450,6 @@ for f in %{buildroot}/%{install_bindir}/*; do
|
||||||
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
|
|
||||||
mkdir -p %{buildroot}/%{pkg_includedir}
|
|
||||||
ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
|
|
||||||
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
|
|
||||||
|
|
||||||
# Fix multi-lib
|
|
||||||
%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}/etc/ld.so.conf.d
|
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||||
cat >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
|
cat >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
|
||||||
|
@ -485,9 +463,6 @@ for f in %{build_install_prefix}/share/man/man1/*; do
|
||||||
mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
|
mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove opt-viewer, since this is just a compatibility package.
|
|
||||||
rm -Rf %{build_install_prefix}/share/opt-viewer
|
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# llvm-config special casing. llvm-config is managed by update-alternatives.
|
# llvm-config special casing. llvm-config is managed by update-alternatives.
|
||||||
|
@ -520,7 +495,6 @@ mkdir -p %{buildroot}%{pkg_datadir}/llvm/cmake
|
||||||
cp -Rv ../cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake
|
cp -Rv ../cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
|
||||||
# non reproducible errors
|
# non reproducible errors
|
||||||
rm test/tools/dsymutil/X86/swift-interface.test
|
rm test/tools/dsymutil/X86/swift-interface.test
|
||||||
|
|
||||||
|
@ -529,19 +503,45 @@ rm test/tools/dsymutil/X86/swift-interface.test
|
||||||
LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %{__ninja} check-all -C %{_vpath_builddir}
|
LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %{__ninja} check-all -C %{_vpath_builddir}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ldconfig_scriptlets libs
|
%if %{with compat_build}
|
||||||
|
# Packages that install files in /etc/ld.so.conf have to manually run
|
||||||
|
# ldconfig.
|
||||||
|
# See https://bugzilla.redhat.com/show_bug.cgi?id=2001328 and
|
||||||
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_linker_configuration_files
|
||||||
|
%post -p /sbin/ldconfig libs
|
||||||
|
%postun -p /sbin/ldconfig libs
|
||||||
|
%endif
|
||||||
|
|
||||||
%post devel
|
%post devel
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
|
/usr/sbin/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} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
|
/usr/sbin/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
|
||||||
|
|
||||||
|
# During the upgrade from LLVM 16 (F38) to LLVM 17 (F39), we found out the
|
||||||
|
# main llvm-devel package was leaving entries in the alternatives system.
|
||||||
|
# Try to remove them now.
|
||||||
|
for v in 14 15 16; do
|
||||||
|
if [[ -e %{_bindir}/llvm-config-$v
|
||||||
|
&& "x$(%{_bindir}/llvm-config-$v --version | awk -F . '{ print $1 }')" != "x$v" ]]; then
|
||||||
|
/usr/sbin/update-alternatives --remove llvm-config-$v %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
|
fi
|
||||||
|
done
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%postun devel
|
%postun devel
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
%{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
/usr/sbin/update-alternatives --remove llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
|
fi
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
# When upgrading between minor versions (i.e. from x.y.1 to x.y.2), we must
|
||||||
|
# not remove the alternative.
|
||||||
|
# However, during a major version upgrade (i.e. from 16.x.y to 17.z.w), the
|
||||||
|
# alternative must be removed in order to give priority to a newly installed
|
||||||
|
# compat package.
|
||||||
|
if [[ $1 -eq 0
|
||||||
|
|| "x$(%{_bindir}/llvm-config-%{maj_ver} --version | awk -F . '{ print $1 }')" != "x%{maj_ver}" ]]; then
|
||||||
|
/usr/sbin/update-alternatives --remove llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
|
fi
|
||||||
%endif
|
%endif
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -549,45 +549,41 @@ fi
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%exclude %{_mandir}/man1/llvm-config*
|
%exclude %{_mandir}/man1/llvm-config*
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
%{_bindir}/*
|
%{install_bindir}/*
|
||||||
|
%if %{with compat_build}
|
||||||
|
# This is for all the binaries with the version suffix.
|
||||||
|
%{_bindir}/*%{exec_suffix}
|
||||||
|
%endif
|
||||||
|
|
||||||
%exclude %{_bindir}/llvm-config%{exec_suffix}
|
%exclude %{_bindir}/llvm-config%{exec_suffix}
|
||||||
%exclude %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
%exclude %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
|
|
||||||
%if %{without compat_build}
|
|
||||||
%exclude %{_bindir}/llvm-config-%{maj_ver}
|
%exclude %{_bindir}/llvm-config-%{maj_ver}
|
||||||
%exclude %{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
%exclude %{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
||||||
%exclude %{_bindir}/not
|
%exclude %{install_bindir}/not
|
||||||
%exclude %{_bindir}/count
|
%exclude %{install_bindir}/count
|
||||||
%exclude %{_bindir}/yaml-bench
|
%exclude %{install_bindir}/yaml-bench
|
||||||
%exclude %{_bindir}/lli-child-target
|
%exclude %{install_bindir}/lli-child-target
|
||||||
%exclude %{_bindir}/llvm-isel-fuzzer
|
%exclude %{install_bindir}/llvm-isel-fuzzer
|
||||||
%exclude %{_bindir}/llvm-opt-fuzzer
|
%exclude %{install_bindir}/llvm-opt-fuzzer
|
||||||
%{_datadir}/opt-viewer
|
%{pkg_datadir}/opt-viewer
|
||||||
%else
|
|
||||||
%{install_bindir}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{install_libdir}/libLLVM-%{maj_ver}%{?llvm_snapshot_version_suffix:%{llvm_snapshot_version_suffix}}.so
|
%{install_libdir}/libLLVM-%{maj_ver}%{?llvm_snapshot_version_suffix:%{llvm_snapshot_version_suffix}}.so
|
||||||
%if %{without compat_build}
|
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
%{_libdir}/LLVMgold.so
|
%{install_libdir}/LLVMgold.so
|
||||||
|
%if %{without compat_build}
|
||||||
%{_libdir}/bfd-plugins/LLVMgold.so
|
%{_libdir}/bfd-plugins/LLVMgold.so
|
||||||
%endif
|
%endif
|
||||||
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
|
||||||
%{_libdir}/libLTO.so*
|
|
||||||
%else
|
|
||||||
%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
|
||||||
%if %{with gold}
|
|
||||||
%{_libdir}/%{name}/lib/LLVMgold.so
|
|
||||||
%endif
|
%endif
|
||||||
%{install_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
%{install_libdir}/libLLVM-%{maj_ver}.so
|
||||||
|
%{install_libdir}/libLLVM.so.%{maj_ver}.%{min_ver}
|
||||||
%{install_libdir}/libLTO.so*
|
%{install_libdir}/libLTO.so*
|
||||||
%exclude %{install_libdir}/libLTO.so
|
|
||||||
%endif
|
|
||||||
%{install_libdir}/libRemarks.so*
|
%{install_libdir}/libRemarks.so*
|
||||||
|
%if %{with compat_build}
|
||||||
|
%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||||
|
%endif
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
|
@ -600,14 +596,8 @@ fi
|
||||||
%{install_includedir}/llvm-c
|
%{install_includedir}/llvm-c
|
||||||
%{install_libdir}/libLLVM.so
|
%{install_libdir}/libLLVM.so
|
||||||
%{install_libdir}/cmake/llvm
|
%{install_libdir}/cmake/llvm
|
||||||
%if %{without compat_build}
|
|
||||||
%{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
%{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
||||||
%ghost %{_bindir}/llvm-config-%{maj_ver}
|
%ghost %{_bindir}/llvm-config-%{maj_ver}
|
||||||
%else
|
|
||||||
%{pkg_includedir}/llvm
|
|
||||||
%{pkg_includedir}/llvm-c
|
|
||||||
%{install_libdir}/libLTO.so
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
|
@ -616,27 +606,23 @@ fi
|
||||||
%files static
|
%files static
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{install_libdir}/*.a
|
%{install_libdir}/*.a
|
||||||
%if %{without compat_build}
|
|
||||||
%exclude %{install_libdir}/libLLVMTestingSupport.a
|
%exclude %{install_libdir}/libLLVMTestingSupport.a
|
||||||
%exclude %{install_libdir}/libLLVMTestingAnnotations.a
|
%exclude %{install_libdir}/libLLVMTestingAnnotations.a
|
||||||
%exclude %{install_libdir}/libllvm_gtest.a
|
%exclude %{install_libdir}/libllvm_gtest.a
|
||||||
%exclude %{install_libdir}/libllvm_gtest_main.a
|
%exclude %{install_libdir}/libllvm_gtest_main.a
|
||||||
%endif
|
|
||||||
|
|
||||||
%files cmake-utils
|
%files cmake-utils
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{pkg_datadir}/llvm/cmake
|
%{pkg_datadir}/llvm/cmake
|
||||||
|
|
||||||
%if %{without compat_build}
|
|
||||||
|
|
||||||
%files test
|
%files test
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{_bindir}/not
|
%{install_bindir}/not
|
||||||
%{_bindir}/count
|
%{install_bindir}/count
|
||||||
%{_bindir}/yaml-bench
|
%{install_bindir}/yaml-bench
|
||||||
%{_bindir}/lli-child-target
|
%{install_bindir}/lli-child-target
|
||||||
%{_bindir}/llvm-isel-fuzzer
|
%{install_bindir}/llvm-isel-fuzzer
|
||||||
%{_bindir}/llvm-opt-fuzzer
|
%{install_bindir}/llvm-opt-fuzzer
|
||||||
|
|
||||||
%files googletest
|
%files googletest
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
|
@ -652,9 +638,10 @@ fi
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 21 2024 Tom Stellard <tstellar@redhat.com> - 18.1.2-1
|
||||||
|
- 18.1.2 Release
|
||||||
|
|
||||||
* Fri Feb 02 2024 Nikita Popov <npopov@redhat.com> - 17.0.6-2
|
* Fri Feb 02 2024 Nikita Popov <npopov@redhat.com> - 17.0.6-2
|
||||||
- Fix crash with -fzero-call-used-regs (RHEL-23865)
|
- Fix crash with -fzero-call-used-regs (RHEL-23865)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
SHA512 (llvm-18.1.2.src.tar.xz) = 7cc429e21685b2b6123dfbbdb848d9ca2091acef4d0ad52a28054af06a228aa489551305a072692bb634b34b5ceb7373266ee973dc306a71b9b339fe05a77c25
|
||||||
|
SHA512 (llvm-18.1.2.src.tar.xz.sig) = 8605109d6db1e88ea3a8a53e1288f77026392a41252fa4a84ef3ec817cc659a391c1795b39f258a5db49fac05adf5c6285ebac51979a8b42e72599ac55e4c0b3
|
||||||
|
SHA512 (cmake-18.1.2.src.tar.xz) = 18df1b6d334757bc9c1c208f90a800d17905444055b49cb231cf80721b5e55f97d01d0102c931d278a138927ae64e6cb53d38dbc9bf93dea5b32c8a6a3f51d05
|
||||||
|
SHA512 (cmake-18.1.2.src.tar.xz.sig) = afb10d0da43e51e6a403860d19de2bd906d335fcb8ce97fa7fd457b940aa5c166f7f6d99fbde5ea00515ca11be9d0f6cb02db3e3dae5c60ba8d84cb0fe528a93
|
||||||
|
SHA512 (third-party-18.1.2.src.tar.xz) = 2378b4eb79701ead30b10d95f7f9ae632c5a1e83c2149ca687afeb9f80c2e8b4aeae12ebe431f41652fb9b8ea058c3ed1bad6716a2914056de94cd55d90cf680
|
||||||
|
SHA512 (third-party-18.1.2.src.tar.xz.sig) = 379c6f98a064a46cc47c8049ff43c50193f140bbfe605c1146117ae4919abb10824674fadf45e71fff1e46478beaf5b48eafbf3a100d715691db06aab6c28659
|
|
@ -0,0 +1,50 @@
|
||||||
|
#
|
||||||
|
# Build/PR gating tests for *LLVM 13*
|
||||||
|
#
|
||||||
|
# Imports and runs tests provided by Fedora LLVM git for the matching LLVM version.
|
||||||
|
#
|
||||||
|
# NOTE: *always* keep this file in sync with upstream, i.e. Fedora. Since we cannot "discover" a plan,
|
||||||
|
# we must duplicate at least some part of upstream plan setup, like `adjust` or `provision`. Not necessarily
|
||||||
|
# all steps, btu if we do need some of them here, let's focus on making changes in upstream first, to preserve
|
||||||
|
# one source of truth. Once TMT learns to include whole plans, we could drop the copied content from here.
|
||||||
|
#
|
||||||
|
|
||||||
|
summary: LLVM tests for build/PR gating
|
||||||
|
|
||||||
|
adjust:
|
||||||
|
- because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR."
|
||||||
|
when: >-
|
||||||
|
trigger is defined
|
||||||
|
and trigger != commit
|
||||||
|
and trigger != build
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# Unfortunatelly, TMT does not support more declarative approach, we need to run commands on our own.
|
||||||
|
- because: "On RHEL, CRB must be enabled to provide rarer packages"
|
||||||
|
when: >-
|
||||||
|
distro == rhel-9
|
||||||
|
or distro == rhel-8
|
||||||
|
prepare+:
|
||||||
|
- name: Enable CRB
|
||||||
|
how: shell
|
||||||
|
script: dnf config-manager --set-enabled rhel-CRB
|
||||||
|
- because: "On RHEL, CRB must be enabled to provide rarer packages"
|
||||||
|
when: >-
|
||||||
|
distro == centos
|
||||||
|
prepare+:
|
||||||
|
- name: Enable CRB
|
||||||
|
how: shell
|
||||||
|
script: dnf config-manager --set-enabled crb
|
||||||
|
|
||||||
|
discover:
|
||||||
|
- name: "Upstream LLVM tests for build/PR gating"
|
||||||
|
how: fmf
|
||||||
|
url: https://src.fedoraproject.org/rpms/llvm.git
|
||||||
|
ref: rawhide
|
||||||
|
|
||||||
|
execute:
|
||||||
|
how: tmt
|
||||||
|
|
||||||
|
provision:
|
||||||
|
hardware:
|
||||||
|
memory: ">= 4 GiB"
|
Loading…
Reference in New Issue