import llvm-13.0.0-1.el9
This commit is contained in:
parent
13f96460c9
commit
f93c14061b
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
SOURCES/llvm-12.0.1.src.tar.xz
|
SOURCES/llvm-12.0.1.src.tar.xz
|
||||||
|
SOURCES/llvm-13.0.0.src.tar.xz
|
||||||
SOURCES/tstellar-gpg-key.asc
|
SOURCES/tstellar-gpg-key.asc
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
619fe668e0972d11d0fa2db670a57a42d02fb8ca SOURCES/llvm-12.0.1.src.tar.xz
|
619fe668e0972d11d0fa2db670a57a42d02fb8ca SOURCES/llvm-12.0.1.src.tar.xz
|
||||||
|
0be63c8b3b44f3af49d9e57130f7b76a6040427c SOURCES/llvm-13.0.0.src.tar.xz
|
||||||
b8d2648a01d36ed0186fd2c5af325fd28797f9a0 SOURCES/tstellar-gpg-key.asc
|
b8d2648a01d36ed0186fd2c5af325fd28797f9a0 SOURCES/tstellar-gpg-key.asc
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
From 60760d66030695105bcf4364f22b7f6053a25253 Mon Sep 17 00:00:00 2001
|
|
||||||
From: serge-sans-paille <sguelton@redhat.com>
|
|
||||||
Date: Thu, 8 Apr 2021 09:33:37 +0200
|
|
||||||
Subject: [PATCH] [PATCH][llvm] Make source-interleave-prefix test case
|
|
||||||
compatible with llvm-test
|
|
||||||
|
|
||||||
llvm-test runs test from a directory that's not the upstream one, and that leads
|
|
||||||
to some false positive. Workaround this by forcing the current working
|
|
||||||
directory.
|
|
||||||
---
|
|
||||||
llvm/test/tools/llvm-objdump/X86/source-interleave-prefix.test | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/llvm/test/tools/llvm-objdump/X86/source-interleave-prefix.test b/llvm/test/tools/llvm-objdump/X86/source-interleave-prefix.test
|
|
||||||
index 23ce55a..d260ee2 100644
|
|
||||||
--- a/llvm/test/tools/llvm-objdump/X86/source-interleave-prefix.test
|
|
||||||
+++ b/llvm/test/tools/llvm-objdump/X86/source-interleave-prefix.test
|
|
||||||
@@ -5,7 +5,7 @@
|
|
||||||
|
|
||||||
; RUN: sed -e "s,SRC_COMPDIR,./Inputs,g" %p/Inputs/source-interleave.ll > %t-relative-path.ll
|
|
||||||
; RUN: llc -o %t-relative-path.o -filetype=obj -mtriple=x86_64-pc-linux %t-relative-path.ll
|
|
||||||
-; RUN: llvm-objdump --prefix myprefix --source %t-relative-path.o 2>&1 | \
|
|
||||||
+; RUN: mkdir -p %t0 && cd %t0 && llvm-objdump --prefix myprefix --source %t-relative-path.o 2>&1 | \
|
|
||||||
; RUN: FileCheck %s --check-prefix=CHECK-BROKEN-PREFIX -DFILE=%t-relative-path.o -DPREFIX=.
|
|
||||||
; CHECK-BROKEN-PREFIX: warning: '[[FILE]]': failed to find source [[PREFIX]]/Inputs/source-interleave-x86_64.c
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
From 9320ffeda3915c8f7be744c983a3470a89107bd7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Tue, 14 Sep 2021 20:21:20 -0700
|
||||||
|
Subject: [PATCH] XFAIL missing-abstract-variable.ll test on ppc64le
|
||||||
|
|
||||||
|
It's seems the strategy with this test is to XFAIL it on all
|
||||||
|
architectures that it fails on. I wonder if we should be passing
|
||||||
|
it a specific triple? Also, from what I can tell, this tests only
|
||||||
|
runs when llvm is configured with LLVM_DEFAULT_TARGET_TRIPLE set
|
||||||
|
to a non-empty value, which is why it may not fail in every build
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D109806
|
||||||
|
---
|
||||||
|
llvm/test/DebugInfo/Generic/missing-abstract-variable.ll | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
|
||||||
|
index bd0de60268b6..cc5d56b0c512 100644
|
||||||
|
--- a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
|
||||||
|
+++ b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
; powerpc64 (and on x86_64 at at least -O2). Presumably this is a SelectionDAG
|
||||||
|
; issue.
|
||||||
|
; FIXME: arm64 is an alias for aarch64 on macs, apparently?
|
||||||
|
-; XFAIL: powerpc64, aarch64, arm64, hexagon
|
||||||
|
+; XFAIL: powerpc64, aarch64, arm64, hexagon, ppc64le
|
||||||
|
|
||||||
|
; Build from the following source with clang -O2.
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
27
SOURCES/0001-have-lit-preserve-SOURCE_DATE_EPOCH.patch
Normal file
27
SOURCES/0001-have-lit-preserve-SOURCE_DATE_EPOCH.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
commit 46c947af7ead0a939fbd7a93c370e7ead2128d07
|
||||||
|
Author: serge-sans-paille <sguelton@redhat.com>
|
||||||
|
Date: Wed Aug 18 23:48:14 2021 +0200
|
||||||
|
|
||||||
|
Have lit preserve SOURCE_DATE_EPOCH
|
||||||
|
|
||||||
|
This environment variable has been standardized for reproducible builds. Setting
|
||||||
|
it can help to have reproducible tests too, so keep it as part of the testing
|
||||||
|
env when set.
|
||||||
|
|
||||||
|
See https://reproducible-builds.org/docs/source-date-epoch/
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D108332
|
||||||
|
|
||||||
|
diff --git a/llvm/utils/lit/lit/TestingConfig.py b/llvm/utils/lit/lit/TestingConfig.py
|
||||||
|
index d534d895e4ba..37558bd5059c 100644
|
||||||
|
--- a/llvm/utils/lit/lit/TestingConfig.py
|
||||||
|
+++ b/llvm/utils/lit/lit/TestingConfig.py
|
||||||
|
@@ -28,7 +28,7 @@ class TestingConfig(object):
|
||||||
|
'TMPDIR', 'TMP', 'TEMP', 'TEMPDIR', 'AVRLIT_BOARD',
|
||||||
|
'AVRLIT_PORT', 'FILECHECK_OPTS', 'VCINSTALLDIR',
|
||||||
|
'VCToolsinstallDir', 'VSINSTALLDIR', 'WindowsSdkDir',
|
||||||
|
- 'WindowsSDKLibVersion']
|
||||||
|
+ 'WindowsSDKLibVersion', 'SOURCE_DATE_EPOCH']
|
||||||
|
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
pass_vars.append('INCLUDE')
|
@ -1,64 +0,0 @@
|
|||||||
From 9df652778fc92db9eb371c78bc7d1691417f3a60 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rafik Zurob <rzurob@ca.ibm.com>
|
|
||||||
Date: Fri, 22 Jan 2021 06:51:19 -0600
|
|
||||||
Subject: [PATCH] [llvm-jitlink] Replace use of deprecated gethostbyname by
|
|
||||||
getaddrinfo.
|
|
||||||
|
|
||||||
This patch replaces use of deprecated gethostbyname by getaddrinfo.
|
|
||||||
|
|
||||||
Author: Rafik Zurob
|
|
||||||
|
|
||||||
Reviewed By: lhames
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D95477
|
|
||||||
---
|
|
||||||
llvm/tools/llvm-jitlink/llvm-jitlink.cpp | 28 ++++++++++++++++++++++++----
|
|
||||||
1 file changed, 24 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
|
|
||||||
index da4a164..108dd61 100644
|
|
||||||
--- a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
|
|
||||||
+++ b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
|
|
||||||
@@ -690,15 +690,35 @@ LLVMJITLinkRemoteTargetProcessControl::ConnectToExecutor() {
|
|
||||||
" is not a valid integer",
|
|
||||||
inconvertibleErrorCode());
|
|
||||||
|
|
||||||
+ addrinfo *AI;
|
|
||||||
+ addrinfo Hints{};
|
|
||||||
+ Hints.ai_family = AF_INET;
|
|
||||||
+ Hints.ai_socktype = SOCK_STREAM;
|
|
||||||
+ Hints.ai_protocol = PF_INET;
|
|
||||||
+ Hints.ai_flags = AI_NUMERICSERV;
|
|
||||||
+ if (getaddrinfo(HostName.c_str(), PortStr.str().c_str(), &Hints, &AI) != 0)
|
|
||||||
+ return make_error<StringError>("Failed to resolve " + HostName + ":" +
|
|
||||||
+ Twine(Port),
|
|
||||||
+ inconvertibleErrorCode());
|
|
||||||
+
|
|
||||||
int SockFD = socket(PF_INET, SOCK_STREAM, 0);
|
|
||||||
- hostent *Server = gethostbyname(HostName.c_str());
|
|
||||||
sockaddr_in ServAddr;
|
|
||||||
memset(&ServAddr, 0, sizeof(ServAddr));
|
|
||||||
ServAddr.sin_family = PF_INET;
|
|
||||||
- memmove(&Server->h_addr, &ServAddr.sin_addr.s_addr, Server->h_length);
|
|
||||||
ServAddr.sin_port = htons(Port);
|
|
||||||
- if (connect(SockFD, reinterpret_cast<sockaddr *>(&ServAddr),
|
|
||||||
- sizeof(ServAddr)) < 0)
|
|
||||||
+
|
|
||||||
+ // getaddrinfo returns a list of address structures. Go through the list
|
|
||||||
+ // to find one we can connect to.
|
|
||||||
+ int ConnectRC = -1;
|
|
||||||
+ for (addrinfo *Server = AI; Server; Server = Server->ai_next) {
|
|
||||||
+ memmove(&Server->ai_addr, &ServAddr.sin_addr.s_addr, Server->ai_addrlen);
|
|
||||||
+ ConnectRC = connect(SockFD, reinterpret_cast<sockaddr *>(&ServAddr),
|
|
||||||
+ sizeof(ServAddr));
|
|
||||||
+ if (ConnectRC == 0)
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ freeaddrinfo(AI);
|
|
||||||
+ if (ConnectRC == -1)
|
|
||||||
return make_error<StringError>("Failed to connect to " + HostName + ":" +
|
|
||||||
Twine(Port),
|
|
||||||
inconvertibleErrorCode());
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
Binary file not shown.
BIN
SOURCES/llvm-13.0.0.src.tar.xz.sig
Normal file
BIN
SOURCES/llvm-13.0.0.src.tar.xz.sig
Normal file
Binary file not shown.
202
SPECS/llvm.spec
202
SPECS/llvm.spec
@ -7,21 +7,24 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%bcond_with compat_build
|
%bcond_with compat_build
|
||||||
|
%bcond_without bundle_compat_lib
|
||||||
%bcond_with bundle_compat_lib
|
%bcond_without check
|
||||||
|
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
%global compat_maj_ver 11
|
%global compat_maj_ver 12
|
||||||
%global compat_ver %{compat_maj_ver}.1.0rc2
|
%global compat_ver %{compat_maj_ver}.0.1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global llvm_libdir %{_libdir}/%{name}
|
%global llvm_libdir %{_libdir}/%{name}
|
||||||
%global build_llvm_libdir %{buildroot}%{llvm_libdir}
|
%global build_llvm_libdir %{buildroot}%{llvm_libdir}
|
||||||
#%%global rc_ver 5
|
#%%global rc_ver 5
|
||||||
%global llvm_srcdir llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
%global maj_ver 13
|
||||||
%global maj_ver 12
|
|
||||||
%global min_ver 0
|
%global min_ver 0
|
||||||
%global patch_ver 1
|
%global patch_ver 0
|
||||||
|
%if !%{maj_ver} && 0%{?rc_ver}
|
||||||
|
%global abi_revision 2
|
||||||
|
%endif
|
||||||
|
%global llvm_srcdir llvm-%{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}
|
%global pkg_name llvm%{maj_ver}
|
||||||
@ -38,7 +41,9 @@
|
|||||||
%global pkg_name llvm
|
%global pkg_name llvm
|
||||||
%global install_prefix /usr
|
%global install_prefix /usr
|
||||||
%global install_libdir %{_libdir}
|
%global install_libdir %{_libdir}
|
||||||
|
%global pkg_bindir %{_bindir}
|
||||||
%global pkg_libdir %{install_libdir}
|
%global pkg_libdir %{install_libdir}
|
||||||
|
%global exec_suffix %{nil}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
@ -51,15 +56,19 @@
|
|||||||
|
|
||||||
%global build_install_prefix %{buildroot}%{install_prefix}
|
%global build_install_prefix %{buildroot}%{install_prefix}
|
||||||
|
|
||||||
|
# Lower memory usage of dwz on s390x
|
||||||
|
%global _dwz_low_mem_die_limit_s390x 1
|
||||||
|
%global _dwz_max_die_limit_s390x 1000000
|
||||||
|
|
||||||
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}}
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: The Low Level Virtual Machine
|
Summary: The Low Level Virtual Machine
|
||||||
|
|
||||||
License: NCSA
|
License: NCSA
|
||||||
URL: http://llvm.org
|
URL: http://llvm.org
|
||||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?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-%{version}%{?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: tstellar-gpg-key.asc
|
Source2: tstellar-gpg-key.asc
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
@ -70,11 +79,15 @@ Source4: lit.fedora.cfg.py
|
|||||||
Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz
|
Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Patch0: 0001-PATCH-llvm-Make-source-interleave-prefix-test-case-c.patch
|
%if 0%{?abi_revision}
|
||||||
Patch1: 0001-llvm-jitlink-Replace-use-of-deprecated-gethostbyname.patch
|
Patch0: 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch
|
||||||
|
%endif
|
||||||
|
Patch2: 0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch
|
||||||
|
|
||||||
# RHEL-specific patches
|
# RHEL-specific patches
|
||||||
Patch101: 0001-Deactivate-markdown-doc.patch
|
Patch101: 0001-Deactivate-markdown-doc.patch
|
||||||
|
# Fixes the compress-debug-sections-zlib-gnu test failing on s390x
|
||||||
|
Patch102: 0001-have-lit-preserve-SOURCE_DATE_EPOCH.patch
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -83,6 +96,7 @@ 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 !0%{?rhel}
|
%if !0%{?rhel}
|
||||||
BuildRequires: python3-recommonmark
|
BuildRequires: python3-recommonmark
|
||||||
@ -97,7 +111,7 @@ BuildRequires: valgrind-devel
|
|||||||
%endif
|
%endif
|
||||||
# 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
|
||||||
# We need python3-devel for pathfix.py.
|
# We need python3-devel for %%py3_shebang_fix
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
|
|
||||||
@ -172,14 +186,6 @@ Static libraries for the LLVM compiler infrastructure.
|
|||||||
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}
|
||||||
|
|
||||||
@ -203,7 +209,7 @@ LLVM's modified googletest sources.
|
|||||||
|
|
||||||
%autosetup -n %{llvm_srcdir} -p2
|
%autosetup -n %{llvm_srcdir} -p2
|
||||||
|
|
||||||
pathfix.py -i %{__python3} -pn \
|
%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
|
||||||
@ -220,7 +226,7 @@ pathfix.py -i %{__python3} -pn \
|
|||||||
# Because of these failures, lto is disabled for now.
|
# Because of these failures, lto is disabled for now.
|
||||||
%global _lto_cflags %{nil}
|
%global _lto_cflags %{nil}
|
||||||
|
|
||||||
%ifarch s390 %{arm} %ix86
|
%ifarch s390 s390x %{arm} %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
|
||||||
@ -261,6 +267,7 @@ pathfix.py -i %{__python3} -pn \
|
|||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_TESTS:BOOL=ON \
|
-DLLVM_INCLUDE_TESTS:BOOL=ON \
|
||||||
-DLLVM_BUILD_TESTS:BOOL=ON \
|
-DLLVM_BUILD_TESTS:BOOL=ON \
|
||||||
|
-DLLVM_LIT_EXTRA_ARGS=-v \
|
||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
|
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
|
||||||
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
||||||
@ -283,10 +290,10 @@ pathfix.py -i %{__python3} -pn \
|
|||||||
-DLLVM_VERSION_SUFFIX='' \
|
-DLLVM_VERSION_SUFFIX='' \
|
||||||
%endif
|
%endif
|
||||||
-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 \
|
||||||
|
%{?abi_revision:-DLLVM_ABI_REVISION=%{abi_revision}} \
|
||||||
\
|
\
|
||||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||||
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
||||||
@ -303,6 +310,7 @@ pathfix.py -i %{__python3} -pn \
|
|||||||
|
|
||||||
%cmake -S ../llvm-%{compat_ver}.src -B ../llvm-compat-libs -G Ninja \
|
%cmake -S ../llvm-%{compat_ver}.src -B ../llvm-compat-libs -G Ninja \
|
||||||
-DCMAKE_INSTALL_PREFIX=%{buildroot}%{_libdir}/llvm%{compat_maj_ver}/ \
|
-DCMAKE_INSTALL_PREFIX=%{buildroot}%{_libdir}/llvm%{compat_maj_ver}/ \
|
||||||
|
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||||
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||||
@ -311,7 +319,6 @@ pathfix.py -i %{__python3} -pn \
|
|||||||
|
|
||||||
%ninja_build -C ../llvm-compat-libs LLVM
|
%ninja_build -C ../llvm-compat-libs LLVM
|
||||||
|
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -324,16 +331,12 @@ install -m 0755 ../llvm-compat-libs/lib/libLLVM-%{compat_maj_ver}.so %{buildroot
|
|||||||
rm -Rf ../llvm-compat-libs
|
rm -Rf ../llvm-compat-libs
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{without compat_build}
|
|
||||||
mkdir -p %{buildroot}/%{_bindir}
|
mkdir -p %{buildroot}/%{_bindir}
|
||||||
mv %{buildroot}/%{_bindir}/llvm-config %{buildroot}/%{_bindir}/llvm-config-%{__isa_bits}
|
|
||||||
|
|
||||||
# ghost presence
|
%if %{without compat_build}
|
||||||
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
|
||||||
@ -371,50 +374,6 @@ cp -R utils/unittest %{install_srcdir}/utils/
|
|||||||
cp utils/update_cc_test_checks.py %{install_srcdir}/utils/
|
cp utils/update_cc_test_checks.py %{install_srcdir}/utils/
|
||||||
cp -R utils/UpdateTestChecks %{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 %{_vpath_builddir}/test/lit.site.cfg.py >> %{lit_cfg}
|
|
||||||
head -n -2 %{_vpath_builddir}/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 %{_vpath_builddir}/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/
|
||||||
@ -424,7 +383,6 @@ ln -s %{_libdir}/LLVMgold.so %{buildroot}%{_libdir}/bfd-plugins/
|
|||||||
%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}
|
||||||
@ -436,7 +394,6 @@ 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
|
||||||
@ -457,8 +414,39 @@ 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}/%{pkg_bindir}/llvm-config %{buildroot}/%{pkg_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}/%{pkg_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}/%{pkg_bindir} ; ln -s llvm-config llvm-config%{exec_suffix}-%{__isa_bits} )
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# ghost presence
|
||||||
|
touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
# Disable check section on arm due to some kind of memory related failure.
|
||||||
|
# Possibly related to https://bugzilla.redhat.com/show_bug.cgi?id=1920183
|
||||||
|
%ifnarch %{arm}
|
||||||
|
|
||||||
# TODO: Fix the failures below
|
# TODO: Fix the failures below
|
||||||
%ifarch %{arm}
|
%ifarch %{arm}
|
||||||
rm test/tools/llvm-readobj/ELF/dependent-libraries.test
|
rm test/tools/llvm-readobj/ELF/dependent-libraries.test
|
||||||
@ -467,25 +455,28 @@ rm test/tools/llvm-readobj/ELF/dependent-libraries.test
|
|||||||
# non reproducible errors
|
# non reproducible errors
|
||||||
rm test/tools/dsymutil/X86/swift-interface.test
|
rm test/tools/dsymutil/X86/swift-interface.test
|
||||||
|
|
||||||
# see rhbz#1988288
|
%if %{with check}
|
||||||
sed -i -e "s/'ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH'/'ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH', 'DFLTCC'/" test/lit.cfg.py
|
|
||||||
|
|
||||||
# FIXME: use %%cmake_build instead of %%__ninja
|
# FIXME: use %%cmake_build instead of %%__ninja
|
||||||
DFLTCC=0 LD_LIBRARY_PATH=%{buildroot}/%{pkg_libdir} %{__ninja} check-all -C %{_vpath_builddir}
|
LD_LIBRARY_PATH=%{buildroot}/%{pkg_libdir} %{__ninja} check-all -C %{_vpath_builddir}
|
||||||
|
%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} %{pkg_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} %{pkg_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} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
fi
|
%if %{without compat_build}
|
||||||
|
%{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
%endif
|
%endif
|
||||||
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
@ -493,9 +484,12 @@ fi
|
|||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
|
||||||
|
%exclude %{_bindir}/llvm-config%{exec_suffix}
|
||||||
|
%exclude %{pkg_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 %{pkg_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
|
||||||
@ -504,7 +498,6 @@ fi
|
|||||||
%exclude %{_bindir}/llvm-opt-fuzzer
|
%exclude %{_bindir}/llvm-opt-fuzzer
|
||||||
%{_datadir}/opt-viewer
|
%{_datadir}/opt-viewer
|
||||||
%else
|
%else
|
||||||
%exclude %{pkg_bindir}/llvm-config
|
|
||||||
%{pkg_bindir}
|
%{pkg_bindir}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -517,6 +510,7 @@ fi
|
|||||||
%{_libdir}/bfd-plugins/LLVMgold.so
|
%{_libdir}/bfd-plugins/LLVMgold.so
|
||||||
%endif
|
%endif
|
||||||
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
||||||
|
%{_libdir}/libLLVM-%{maj_ver}.so%{?abi_revision:.%{abi_revision}}
|
||||||
%{_libdir}/libLTO.so*
|
%{_libdir}/libLTO.so*
|
||||||
%else
|
%else
|
||||||
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
|
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||||
@ -534,18 +528,19 @@ fi
|
|||||||
|
|
||||||
%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}
|
%{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||||
%{_mandir}/man1/llvm-config*
|
%{_mandir}/man1/llvm-config*
|
||||||
|
|
||||||
|
%if %{without compat_build}
|
||||||
%{_includedir}/llvm
|
%{_includedir}/llvm
|
||||||
%{_includedir}/llvm-c
|
%{_includedir}/llvm-c
|
||||||
%{_libdir}/libLLVM.so
|
%{_libdir}/libLLVM.so
|
||||||
%{_libdir}/cmake/llvm
|
%{_libdir}/cmake/llvm
|
||||||
|
%{pkg_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
|
||||||
|
%ghost %{_bindir}/llvm-config-%{maj_ver}
|
||||||
%else
|
%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
|
||||||
%{pkg_includedir}/llvm
|
%{pkg_includedir}/llvm
|
||||||
@ -575,22 +570,12 @@ fi
|
|||||||
|
|
||||||
%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
|
|
||||||
|
|
||||||
%files googletest
|
%files googletest
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
@ -600,6 +585,9 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 06 2021 Timm Bäder <tbaeder@redhat.com> - 13.0.0-1
|
||||||
|
- 13.0.0 Release
|
||||||
|
|
||||||
* Wed Aug 18 2021 DJ Delorie <dj@redhat.com> - 12.0.1-3
|
* Wed Aug 18 2021 DJ Delorie <dj@redhat.com> - 12.0.1-3
|
||||||
- Rebuilt for libffi 3.4.2 SONAME transition.
|
- Rebuilt for libffi 3.4.2 SONAME transition.
|
||||||
Related: rhbz#1891914
|
Related: rhbz#1891914
|
||||||
|
Loading…
Reference in New Issue
Block a user