Update to LLVM 20.1.4
Drop ARM and MIPS targets Resolves: RHEL-86089 Resolves: RHEL-89792
This commit is contained in:
parent
442ba971bf
commit
9780c26b36
51
0001-sanitizer_common-Disable-termio-ioctls-on-PowerPC.patch
Normal file
51
0001-sanitizer_common-Disable-termio-ioctls-on-PowerPC.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From be7b1ef7c8e58b454e20f7f70d0e316528e2c823 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Tue, 29 Apr 2025 21:35:57 +0000
|
||||||
|
Subject: [PATCH] [sanitizer_common] Disable termio ioctls on PowerPC
|
||||||
|
|
||||||
|
glibc-2.42 removed the termio.h header, but there are refrences to it
|
||||||
|
still in the kernel's ioctl.h, so we need disable these ioctls to fix
|
||||||
|
this build.
|
||||||
|
---
|
||||||
|
.../sanitizer_platform_limits_posix.cpp | 14 +++++++++++---
|
||||||
|
1 file changed, 11 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
index 7a89bf1c7498..7b81951f82ae 100644
|
||||||
|
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
@@ -182,6 +182,12 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+// Work around struct termio usage in ioctl.h on ppc64le.
|
||||||
|
+#if SANITIZER_GLIBC && !__has_include(<termio.h>) && defined(__powerpc64__)
|
||||||
|
+ #define DISABLE_TERMIO_IOCTLS 1
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+
|
||||||
|
// Include these after system headers to avoid name clashes and ambiguities.
|
||||||
|
# include "sanitizer_common.h"
|
||||||
|
# include "sanitizer_internal_defs.h"
|
||||||
|
@@ -779,13 +785,15 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||||
|
unsigned IOCTL_SOUND_PCM_WRITE_FILTER = SOUND_PCM_WRITE_FILTER;
|
||||||
|
#endif // SOUND_VERSION
|
||||||
|
unsigned IOCTL_TCFLSH = TCFLSH;
|
||||||
|
+#if !defined(DISABLE_TERMIO_IOCTLS)
|
||||||
|
unsigned IOCTL_TCGETA = TCGETA;
|
||||||
|
- unsigned IOCTL_TCGETS = TCGETS;
|
||||||
|
- unsigned IOCTL_TCSBRK = TCSBRK;
|
||||||
|
- unsigned IOCTL_TCSBRKP = TCSBRKP;
|
||||||
|
unsigned IOCTL_TCSETA = TCSETA;
|
||||||
|
unsigned IOCTL_TCSETAF = TCSETAF;
|
||||||
|
unsigned IOCTL_TCSETAW = TCSETAW;
|
||||||
|
+#endif
|
||||||
|
+ unsigned IOCTL_TCGETS = TCGETS;
|
||||||
|
+ unsigned IOCTL_TCSBRK = TCSBRK;
|
||||||
|
+ unsigned IOCTL_TCSBRKP = TCSBRKP;
|
||||||
|
unsigned IOCTL_TCSETS = TCSETS;
|
||||||
|
unsigned IOCTL_TCSETSF = TCSETSF;
|
||||||
|
unsigned IOCTL_TCSETSW = TCSETSW;
|
||||||
|
--
|
||||||
|
2.48.1
|
||||||
|
|
@ -0,0 +1,56 @@
|
|||||||
|
From 1e49835cc5737b2dffff5923e09546b70a54f90d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Tue, 29 Apr 2025 21:35:57 +0000
|
||||||
|
Subject: [PATCH] [sanitizer_common] Disable termio ioctls on PowerPC
|
||||||
|
|
||||||
|
glibc-2.42 removed the termio.h header, but there are refrences to it
|
||||||
|
still in the kernel's ioctl.h, so we need disable these ioctls to fix
|
||||||
|
this build.
|
||||||
|
---
|
||||||
|
.../sanitizer_platform_limits_posix.cpp | 19 ++++++++++++++++---
|
||||||
|
1 file changed, 16 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
index 10b6535499de..303c82783528 100644
|
||||||
|
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
@@ -173,6 +173,17 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||||
|
#include <sys/sockio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if SANITIZER_HAIKU
|
||||||
|
+#include <sys/sockio.h>
|
||||||
|
+#include <sys/ioctl.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+// Work around struct termio usage in ioctl.h on ppc64le.
|
||||||
|
+#if SANITIZER_GLIBC && !__has_include(<termio.h>) && defined(__powerpc64__)
|
||||||
|
+ #define DISABLE_TERMIO_IOCTLS 1
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+
|
||||||
|
// Include these after system headers to avoid name clashes and ambiguities.
|
||||||
|
# include "sanitizer_common.h"
|
||||||
|
# include "sanitizer_internal_defs.h"
|
||||||
|
@@ -764,13 +775,15 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||||
|
unsigned IOCTL_SOUND_PCM_WRITE_FILTER = SOUND_PCM_WRITE_FILTER;
|
||||||
|
#endif // SOUND_VERSION
|
||||||
|
unsigned IOCTL_TCFLSH = TCFLSH;
|
||||||
|
+#if !defined(DISABLE_TERMIO_IOCTLS)
|
||||||
|
unsigned IOCTL_TCGETA = TCGETA;
|
||||||
|
- unsigned IOCTL_TCGETS = TCGETS;
|
||||||
|
- unsigned IOCTL_TCSBRK = TCSBRK;
|
||||||
|
- unsigned IOCTL_TCSBRKP = TCSBRKP;
|
||||||
|
unsigned IOCTL_TCSETA = TCSETA;
|
||||||
|
unsigned IOCTL_TCSETAF = TCSETAF;
|
||||||
|
unsigned IOCTL_TCSETAW = TCSETAW;
|
||||||
|
+#endif
|
||||||
|
+ unsigned IOCTL_TCGETS = TCGETS;
|
||||||
|
+ unsigned IOCTL_TCSBRK = TCSBRK;
|
||||||
|
+ unsigned IOCTL_TCSBRKP = TCSBRKP;
|
||||||
|
unsigned IOCTL_TCSETS = TCSETS;
|
||||||
|
unsigned IOCTL_TCSETSF = TCSETSF;
|
||||||
|
unsigned IOCTL_TCSETSW = TCSETSW;
|
||||||
|
--
|
||||||
|
2.48.1
|
||||||
|
|
@ -0,0 +1,67 @@
|
|||||||
|
From 83bf10fffd7065317d50f19e138c9e9fd6adc064 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Fri, 25 Apr 2025 14:49:34 -0700
|
||||||
|
Subject: [PATCH] [sanitizer_common] Remove interceptors for deprecated struct
|
||||||
|
termio
|
||||||
|
|
||||||
|
This struct will be removed from glibc-2.42 and has been deprecated for
|
||||||
|
a very long time.
|
||||||
|
|
||||||
|
Fixes #137321
|
||||||
|
---
|
||||||
|
.../sanitizer_common_interceptors_ioctl.inc | 8 --------
|
||||||
|
.../sanitizer_common/sanitizer_platform_limits_posix.cpp | 3 ---
|
||||||
|
.../sanitizer_common/sanitizer_platform_limits_posix.h | 1 -
|
||||||
|
3 files changed, 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||||
|
index f88f914b1d14..bc8f02826c61 100644
|
||||||
|
--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||||
|
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||||
|
@@ -342,17 +342,9 @@ static void ioctl_table_fill() {
|
||||||
|
_(SOUND_PCM_WRITE_CHANNELS, WRITE, sizeof(int));
|
||||||
|
_(SOUND_PCM_WRITE_FILTER, WRITE, sizeof(int));
|
||||||
|
_(TCFLSH, NONE, 0);
|
||||||
|
-#if SANITIZER_GLIBC
|
||||||
|
- _(TCGETA, WRITE, struct_termio_sz);
|
||||||
|
-#endif
|
||||||
|
_(TCGETS, WRITE, struct_termios_sz);
|
||||||
|
_(TCSBRK, NONE, 0);
|
||||||
|
_(TCSBRKP, NONE, 0);
|
||||||
|
-#if SANITIZER_GLIBC
|
||||||
|
- _(TCSETA, READ, struct_termio_sz);
|
||||||
|
- _(TCSETAF, READ, struct_termio_sz);
|
||||||
|
- _(TCSETAW, READ, struct_termio_sz);
|
||||||
|
-#endif
|
||||||
|
_(TCSETS, READ, struct_termios_sz);
|
||||||
|
_(TCSETSF, READ, struct_termios_sz);
|
||||||
|
_(TCSETSW, READ, struct_termios_sz);
|
||||||
|
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
index b4d87ab6228e..7a89bf1c7498 100644
|
||||||
|
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||||
|
@@ -494,9 +494,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||||
|
unsigned struct_input_id_sz = sizeof(struct input_id);
|
||||||
|
unsigned struct_mtpos_sz = sizeof(struct mtpos);
|
||||||
|
unsigned struct_rtentry_sz = sizeof(struct rtentry);
|
||||||
|
-#if SANITIZER_GLIBC || SANITIZER_ANDROID
|
||||||
|
- unsigned struct_termio_sz = sizeof(struct termio);
|
||||||
|
-#endif
|
||||||
|
unsigned struct_vt_consize_sz = sizeof(struct vt_consize);
|
||||||
|
unsigned struct_vt_sizes_sz = sizeof(struct vt_sizes);
|
||||||
|
unsigned struct_vt_stat_sz = sizeof(struct vt_stat);
|
||||||
|
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||||
|
index 348bb4f27aec..fdc52aa56c49 100644
|
||||||
|
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||||
|
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||||
|
@@ -1063,7 +1063,6 @@ extern unsigned struct_hd_geometry_sz;
|
||||||
|
extern unsigned struct_input_absinfo_sz;
|
||||||
|
extern unsigned struct_input_id_sz;
|
||||||
|
extern unsigned struct_mtpos_sz;
|
||||||
|
-extern unsigned struct_termio_sz;
|
||||||
|
extern unsigned struct_vt_consize_sz;
|
||||||
|
extern unsigned struct_vt_sizes_sz;
|
||||||
|
extern unsigned struct_vt_stat_sz;
|
||||||
|
--
|
||||||
|
2.48.1
|
||||||
|
|
204
llvm.spec
204
llvm.spec
@ -2,7 +2,7 @@
|
|||||||
#region version
|
#region version
|
||||||
%global maj_ver 20
|
%global maj_ver 20
|
||||||
%global min_ver 1
|
%global min_ver 1
|
||||||
%global patch_ver 2
|
%global patch_ver 4
|
||||||
#global rc_ver 3
|
#global rc_ver 3
|
||||||
|
|
||||||
%bcond_with snapshot_build
|
%bcond_with snapshot_build
|
||||||
@ -41,6 +41,21 @@
|
|||||||
|
|
||||||
%bcond_without lldb
|
%bcond_without lldb
|
||||||
|
|
||||||
|
%ifarch ppc64le
|
||||||
|
%if %{defined rhel} && 0%{?rhel} < 10 && %{maj_ver} >= 21
|
||||||
|
# RHEL <= 9 use the IBM long double format, which is not supported by libc.
|
||||||
|
# Since LLVM 21, parts of libc are required in order to build offload.
|
||||||
|
%bcond_with offload
|
||||||
|
%else
|
||||||
|
%bcond_without offload
|
||||||
|
%endif
|
||||||
|
%elifarch %{ix86}
|
||||||
|
# libomptarget is not supported on 32-bit systems.
|
||||||
|
%bcond_with offload
|
||||||
|
%else
|
||||||
|
%bcond_without offload
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{without compat_build} && 0%{?fedora} >= 41
|
%if %{without compat_build} && 0%{?fedora} >= 41
|
||||||
%ifarch %{ix86}
|
%ifarch %{ix86}
|
||||||
%bcond_with mlir
|
%bcond_with mlir
|
||||||
@ -112,6 +127,12 @@
|
|||||||
%global gts_version 14
|
%global gts_version 14
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{defined rhel} && 0%{?rhel} <= 8
|
||||||
|
%bcond_with libedit
|
||||||
|
%else
|
||||||
|
%bcond_without libedit
|
||||||
|
%endif
|
||||||
|
|
||||||
# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
|
# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
|
||||||
%undefine _include_frame_pointers
|
%undefine _include_frame_pointers
|
||||||
@ -123,6 +144,13 @@
|
|||||||
%global src_tarball_dir llvm-project-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}.src
|
%global src_tarball_dir llvm-project-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}.src
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%global has_crtobjs 1
|
||||||
|
%if %{maj_ver} < 21
|
||||||
|
%ifarch s390x
|
||||||
|
%global has_crtobjs 0
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
#region LLVM globals
|
#region LLVM globals
|
||||||
|
|
||||||
%if %{with compat_build}
|
%if %{with compat_build}
|
||||||
@ -148,7 +176,7 @@
|
|||||||
%global unprefixed_libdir lib
|
%global unprefixed_libdir lib
|
||||||
|
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
%global targets_to_build "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF;WebAssembly"
|
%global targets_to_build "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;BPF;WebAssembly"
|
||||||
%global experimental_targets_to_build ""
|
%global experimental_targets_to_build ""
|
||||||
%else
|
%else
|
||||||
%global targets_to_build "all"
|
%global targets_to_build "all"
|
||||||
@ -306,6 +334,14 @@ Patch103: 0001-Workaround-a-bug-in-ORC-on-ppc64le.patch
|
|||||||
Patch104: 0001-Driver-Give-devtoolset-path-precedence-over-Installe.patch
|
Patch104: 0001-Driver-Give-devtoolset-path-precedence-over-Installe.patch
|
||||||
#endregion CLANG patches
|
#endregion CLANG patches
|
||||||
|
|
||||||
|
# Fix for glibc >= 2.42
|
||||||
|
# https://github.com/llvm/llvm-project/pull/137403
|
||||||
|
Patch2005: 0001-sanitizer_common-Remove-interceptors-for-deprecated-.patch
|
||||||
|
|
||||||
|
# Fix for glibc >= 2.42 on ppc64le
|
||||||
|
Patch2008: 0001-sanitizer_common-Disable-termio-ioctls-on-PowerPC.patch.20
|
||||||
|
Patch2108: 0001-sanitizer_common-Disable-termio-ioctls-on-PowerPC.patch
|
||||||
|
|
||||||
# Fix LLVMConfig.cmake when symlinks are used.
|
# Fix LLVMConfig.cmake when symlinks are used.
|
||||||
# (https://github.com/llvm/llvm-project/pull/124743 landed in LLVM 21)
|
# (https://github.com/llvm/llvm-project/pull/124743 landed in LLVM 21)
|
||||||
Patch1902: 0001-cmake-Resolve-symlink-when-finding-install-prefix.patch
|
Patch1902: 0001-cmake-Resolve-symlink-when-finding-install-prefix.patch
|
||||||
@ -329,10 +365,6 @@ Patch501: 0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch
|
|||||||
# https://github.com/llvm/llvm-project/issues/124001
|
# https://github.com/llvm/llvm-project/issues/124001
|
||||||
Patch1901: 0001-SystemZ-Fix-ICE-with-i128-i64-uaddo-carry-chain.patch
|
Patch1901: 0001-SystemZ-Fix-ICE-with-i128-i64-uaddo-carry-chain.patch
|
||||||
|
|
||||||
# Backport fix for https://bugzilla.redhat.com/show_bug.cgi?id=2352554.
|
|
||||||
# https://github.com/llvm/llvm-project/pull/131801
|
|
||||||
Patch2004: 131801.patch
|
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} == 8
|
||||||
%global python3_pkgversion 3.12
|
%global python3_pkgversion 3.12
|
||||||
%global __python3 /usr/bin/python3.12
|
%global __python3 /usr/bin/python3.12
|
||||||
@ -381,8 +413,10 @@ BuildRequires: binutils-gold
|
|||||||
# Enable extra functionality when run the LLVM JIT under valgrind.
|
# Enable extra functionality when run the LLVM JIT under valgrind.
|
||||||
BuildRequires: valgrind-devel
|
BuildRequires: valgrind-devel
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with libedit}
|
||||||
# LLVM's LineEditor library will use libedit if it is available.
|
# LLVM's LineEditor library will use libedit if it is available.
|
||||||
BuildRequires: libedit-devel
|
BuildRequires: libedit-devel
|
||||||
|
%endif
|
||||||
# We need python3-devel for %%py3_shebang_fix
|
# We need python3-devel for %%py3_shebang_fix
|
||||||
BuildRequires: python%{python3_pkgversion}-devel
|
BuildRequires: python%{python3_pkgversion}-devel
|
||||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||||
@ -493,7 +527,9 @@ Requires: %{pkg_name_llvm}-libs%{?_isa} = %{version}-%{release}
|
|||||||
# The installed LLVM cmake files will add -ledit to the linker flags for any
|
# The installed LLVM cmake files will add -ledit to the linker flags for any
|
||||||
# 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.
|
||||||
|
%if %{with libedit}
|
||||||
Requires: libedit-devel
|
Requires: libedit-devel
|
||||||
|
%endif
|
||||||
Requires: libzstd-devel
|
Requires: libzstd-devel
|
||||||
# The installed cmake files reference binaries from llvm-test, llvm-static, and
|
# The installed cmake files reference binaries from llvm-test, llvm-static, and
|
||||||
# llvm-gtest. We tried in the past to split the cmake exports for these binaries
|
# llvm-gtest. We tried in the past to split the cmake exports for these binaries
|
||||||
@ -504,9 +540,9 @@ Requires: %{pkg_name_llvm}-static%{?_isa} = %{version}-%{release}
|
|||||||
Requires: %{pkg_name_llvm}-test%{?_isa} = %{version}-%{release}
|
Requires: %{pkg_name_llvm}-test%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{pkg_name_llvm}-googletest%{?_isa} = %{version}-%{release}
|
Requires: %{pkg_name_llvm}-googletest%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%if %{without compat_build}
|
||||||
Requires(post): alternatives
|
Requires(pre): alternatives
|
||||||
Requires(postun): alternatives
|
%endif
|
||||||
|
|
||||||
Provides: llvm-devel(major) = %{maj_ver}
|
Provides: llvm-devel(major) = %{maj_ver}
|
||||||
|
|
||||||
@ -1116,7 +1152,7 @@ sed -i 's/LLDB_ENABLE_PYTHON/TRUE/' lldb/docs/CMakeLists.txt
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global projects clang;clang-tools-extra;lld
|
%global projects clang;clang-tools-extra;lld
|
||||||
%global runtimes compiler-rt;openmp;offload
|
%global runtimes compiler-rt;openmp
|
||||||
|
|
||||||
%if %{with lldb}
|
%if %{with lldb}
|
||||||
%global projects %{projects};lldb
|
%global projects %{projects};lldb
|
||||||
@ -1138,6 +1174,10 @@ sed -i 's/LLDB_ENABLE_PYTHON/TRUE/' lldb/docs/CMakeLists.txt
|
|||||||
%global runtimes %{runtimes};libcxx;libcxxabi;libunwind
|
%global runtimes %{runtimes};libcxx;libcxxabi;libunwind
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with offload}
|
||||||
|
%global runtimes %{runtimes};offload
|
||||||
|
%endif
|
||||||
|
|
||||||
%global cfg_file_content --gcc-triple=%{_target_cpu}-redhat-linux
|
%global cfg_file_content --gcc-triple=%{_target_cpu}-redhat-linux
|
||||||
|
|
||||||
# We want to use DWARF-5 on all snapshot builds.
|
# We want to use DWARF-5 on all snapshot builds.
|
||||||
@ -1189,12 +1229,16 @@ popd
|
|||||||
# Common cmake arguments used by both the normal build and bundle_compat_lib.
|
# Common cmake arguments used by both the normal build and bundle_compat_lib.
|
||||||
# Any ABI-affecting flags should be in here.
|
# Any ABI-affecting flags should be in here.
|
||||||
%global cmake_common_args \\\
|
%global cmake_common_args \\\
|
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \\\
|
||||||
-DLLVM_ENABLE_EH=ON \\\
|
-DLLVM_ENABLE_EH=ON \\\
|
||||||
-DLLVM_ENABLE_RTTI=ON \\\
|
-DLLVM_ENABLE_RTTI=ON \\\
|
||||||
-DLLVM_USE_PERF=ON \\\
|
-DLLVM_USE_PERF=ON \\\
|
||||||
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \\\
|
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \\\
|
||||||
-DBUILD_SHARED_LIBS=OFF \\\
|
-DBUILD_SHARED_LIBS=OFF \\\
|
||||||
-DLLVM_BUILD_LLVM_DYLIB=ON
|
-DLLVM_BUILD_LLVM_DYLIB=ON \\\
|
||||||
|
-DLLVM_LINK_LLVM_DYLIB=ON \\\
|
||||||
|
-DCLANG_LINK_CLANG_DYLIB=ON \\\
|
||||||
|
-DLLVM_ENABLE_FFI:BOOL=ON
|
||||||
|
|
||||||
%global cmake_config_args %{cmake_common_args}
|
%global cmake_config_args %{cmake_common_args}
|
||||||
|
|
||||||
@ -1208,7 +1252,6 @@ popd
|
|||||||
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \\\
|
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \\\
|
||||||
-DCLANG_INCLUDE_DOCS:BOOL=ON \\\
|
-DCLANG_INCLUDE_DOCS:BOOL=ON \\\
|
||||||
-DCLANG_INCLUDE_TESTS:BOOL=ON \\\
|
-DCLANG_INCLUDE_TESTS:BOOL=ON \\\
|
||||||
-DCLANG_LINK_CLANG_DYLIB=ON \\\
|
|
||||||
-DCLANG_PLUGIN_SUPPORT:BOOL=ON \\\
|
-DCLANG_PLUGIN_SUPPORT:BOOL=ON \\\
|
||||||
-DCLANG_REPOSITORY_STRING="%{?dist_vendor} %{version}-%{release}" \\\
|
-DCLANG_REPOSITORY_STRING="%{?dist_vendor} %{version}-%{release}" \\\
|
||||||
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../clang-tools-extra \\\
|
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../clang-tools-extra \\\
|
||||||
@ -1291,8 +1334,6 @@ popd
|
|||||||
-DLLVM_BUILD_TOOLS:BOOL=ON \\\
|
-DLLVM_BUILD_TOOLS:BOOL=ON \\\
|
||||||
-DLLVM_BUILD_UTILS:BOOL=ON \\\
|
-DLLVM_BUILD_UTILS:BOOL=ON \\\
|
||||||
-DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \\\
|
-DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \\\
|
||||||
-DLLVM_DYLIB_COMPONENTS="all" \\\
|
|
||||||
-DLLVM_ENABLE_FFI:BOOL=ON \\\
|
|
||||||
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \\\
|
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \\\
|
||||||
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \\\
|
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \\\
|
||||||
-DLLVM_ENABLE_PROJECTS="%{projects}" \\\
|
-DLLVM_ENABLE_PROJECTS="%{projects}" \\\
|
||||||
@ -1306,7 +1347,6 @@ popd
|
|||||||
-DLLVM_INCLUDE_UTILS:BOOL=ON \\\
|
-DLLVM_INCLUDE_UTILS:BOOL=ON \\\
|
||||||
-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \\\
|
-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \\\
|
||||||
-DLLVM_INSTALL_UTILS:BOOL=ON \\\
|
-DLLVM_INSTALL_UTILS:BOOL=ON \\\
|
||||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \\\
|
|
||||||
-DLLVM_PARALLEL_LINK_JOBS=1 \\\
|
-DLLVM_PARALLEL_LINK_JOBS=1 \\\
|
||||||
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \\\
|
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \\\
|
||||||
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \\\
|
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \\\
|
||||||
@ -1357,12 +1397,15 @@ popd
|
|||||||
|
|
||||||
#region misc options
|
#region misc options
|
||||||
%global cmake_config_args %{cmake_config_args} \\\
|
%global cmake_config_args %{cmake_config_args} \\\
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \\\
|
|
||||||
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \\\
|
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \\\
|
||||||
-DENABLE_LINKER_BUILD_ID:BOOL=ON \\\
|
-DENABLE_LINKER_BUILD_ID:BOOL=ON \\\
|
||||||
-DOFFLOAD_INSTALL_LIBDIR=%{unprefixed_libdir} \\\
|
|
||||||
-DPython3_EXECUTABLE=%{__python3}
|
-DPython3_EXECUTABLE=%{__python3}
|
||||||
|
|
||||||
|
%if %{with offload}
|
||||||
|
%global cmake_config_args %{cmake_config_args} \\\
|
||||||
|
-DOFFLOAD_INSTALL_LIBDIR=%{unprefixed_libdir}
|
||||||
|
%endif
|
||||||
|
|
||||||
# During the build, we use both the system clang and the just-built clang, and
|
# During the build, we use both the system clang and the just-built clang, and
|
||||||
# they need to use the system and just-built shared objects respectively. If
|
# they need to use the system and just-built shared objects respectively. If
|
||||||
# we use LD_LIBRARY_PATH to point to our build directory, the system clang
|
# we use LD_LIBRARY_PATH to point to our build directory, the system clang
|
||||||
@ -1448,14 +1491,19 @@ fi
|
|||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
|
# MIPS and Arm targets were disabled in LLVM 20, but we still need them
|
||||||
|
# enabled for the compat libraries.
|
||||||
%cmake -S ../llvm-project-%{compat_ver}.src/llvm -B ../llvm-compat-libs -G Ninja \
|
%cmake -S ../llvm-project-%{compat_ver}.src/llvm -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=ON \
|
-DCMAKE_SKIP_RPATH=ON \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DLLVM_ENABLE_PROJECTS="clang;lldb" \
|
-DLLVM_ENABLE_PROJECTS="clang;lldb" \
|
||||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||||
-DLLVM_INCLUDE_TESTS=OFF \
|
-DLLVM_INCLUDE_TESTS=OFF \
|
||||||
%{cmake_common_args}
|
%{cmake_common_args} \
|
||||||
|
%if %{compat_maj_ver} <= 19
|
||||||
|
-DLLVM_TARGETS_TO_BUILD="$(echo %{targets_to_build});Mips;ARM" \
|
||||||
|
%endif
|
||||||
|
%{nil}
|
||||||
|
|
||||||
%ninja_build -C ../llvm-compat-libs LLVM
|
%ninja_build -C ../llvm-compat-libs LLVM
|
||||||
%ninja_build -C ../llvm-compat-libs libclang.so
|
%ninja_build -C ../llvm-compat-libs libclang.so
|
||||||
@ -1675,7 +1723,7 @@ rm -rf %{buildroot}/%{install_datadir}/gdb
|
|||||||
# chmod go+w %{buildroot}/%{_datarootdir}/gdb/python/ompd/ompdModule.so
|
# chmod go+w %{buildroot}/%{_datarootdir}/gdb/python/ompd/ompdModule.so
|
||||||
# chmod +w %{buildroot}/%{_datarootdir}/gdb/python/ompd/ompdModule.so
|
# chmod +w %{buildroot}/%{_datarootdir}/gdb/python/ompd/ompdModule.so
|
||||||
|
|
||||||
%ifnarch %{ix86}
|
%if %{with offload}
|
||||||
# Remove files that we don't package, yet.
|
# Remove files that we don't package, yet.
|
||||||
rm %{buildroot}%{install_bindir}/llvm-offload-device-info
|
rm %{buildroot}%{install_bindir}/llvm-offload-device-info
|
||||||
rm %{buildroot}%{install_bindir}/llvm-omp-kernel-replay
|
rm %{buildroot}%{install_bindir}/llvm-omp-kernel-replay
|
||||||
@ -1749,6 +1797,11 @@ popd
|
|||||||
rm -f %{buildroot}%{install_libdir}/libLLVMBOLT*.a
|
rm -f %{buildroot}%{install_libdir}/libLLVMBOLT*.a
|
||||||
#endregion BOLT installation
|
#endregion BOLT installation
|
||||||
|
|
||||||
|
# Do not create symlinks for i686 to avoid multilib conflicts.
|
||||||
|
# Don't ship man pages altogether.
|
||||||
|
%ifarch %{ix86}
|
||||||
|
rm -rf %{buildroot}%{install_mandir}
|
||||||
|
%else
|
||||||
# Create symlinks from the system install prefix to the llvm install prefix.
|
# Create symlinks from the system install prefix to the llvm install prefix.
|
||||||
# Do this at the end so it includes any files added by preceding steps.
|
# Do this at the end so it includes any files added by preceding steps.
|
||||||
mkdir -p %{buildroot}%{_bindir}
|
mkdir -p %{buildroot}%{_bindir}
|
||||||
@ -1798,12 +1851,14 @@ copy_with_relative_symlinks %{buildroot}%{install_libdir} %{buildroot}%{_libdir}
|
|||||||
copy_with_relative_symlinks %{buildroot}%{install_libexecdir} %{buildroot}%{_libexecdir}
|
copy_with_relative_symlinks %{buildroot}%{install_libexecdir} %{buildroot}%{_libexecdir}
|
||||||
copy_with_relative_symlinks %{buildroot}%{install_includedir} %{buildroot}%{_includedir}
|
copy_with_relative_symlinks %{buildroot}%{install_includedir} %{buildroot}%{_includedir}
|
||||||
copy_with_relative_symlinks %{buildroot}%{install_datadir} %{buildroot}%{_datadir}
|
copy_with_relative_symlinks %{buildroot}%{install_datadir} %{buildroot}%{_datadir}
|
||||||
%endif
|
|
||||||
|
|
||||||
# ghost presence for llvm-config, managed by alternatives.
|
%if %{maj_ver} >= 21 && %{with offload}
|
||||||
touch %{buildroot}%{_bindir}/llvm-config-%{maj_ver}
|
# Remove offload libaries since we only want to ship these in the configured
|
||||||
%if %{without compat_build}
|
# install prefix.
|
||||||
touch %{buildroot}%{_bindir}/llvm-config
|
rm -Rf %{buildroot}%{_libdir}/amdgcn-amd-amdhsa
|
||||||
|
rm -Rf %{buildroot}%{_libdir}/nvptx64-nvidia-cuda
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
@ -2226,36 +2281,14 @@ cp %{_vpath_builddir}/.ninja_log %{buildroot}%{_datadir}
|
|||||||
%ldconfig_scriptlets -n %{pkg_name_lld}-libs
|
%ldconfig_scriptlets -n %{pkg_name_lld}-libs
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post -n %{pkg_name_llvm}-devel
|
|
||||||
update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{install_bindir}/llvm-config %{__isa_bits}
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
update-alternatives --install %{_bindir}/llvm-config llvm-config %{install_bindir}/llvm-config %{__isa_bits}
|
%pre -n %{pkg_name_llvm}-devel
|
||||||
|
# llvm-config used to be managed by alternatives.
|
||||||
# During the upgrade from LLVM 16 (F38) to LLVM 17 (F39), we found out the
|
# Remove them if they still exist.
|
||||||
# main llvm-devel package was leaving entries in the alternatives system.
|
update-alternatives --remove-all llvm-config 2>/dev/null || :
|
||||||
# Try to remove them now.
|
%if %{maj_ver} <= 20
|
||||||
for v in 14 15 16; do
|
update-alternatives --remove-all llvm-config-%{maj_ver} 2>/dev/null || :
|
||||||
if [[ -e %{_bindir}/llvm-config-$v
|
|
||||||
&& "x$(%{_bindir}/llvm-config-$v --version | awk -F . '{ print $1 }')" != "x$v" ]]; then
|
|
||||||
update-alternatives --remove llvm-config-$v %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%postun -n %{pkg_name_llvm}-devel
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
update-alternatives --remove llvm-config%{exec_suffix} %{install_bindir}/llvm-config
|
|
||||||
fi
|
|
||||||
%if %{without compat_build}
|
|
||||||
# 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%{exec_suffix} --version | awk -F . '{ print $1 }')" != "x%{maj_ver}" ]]; then
|
|
||||||
update-alternatives --remove llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
|
||||||
fi
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
@ -2276,20 +2309,24 @@ fi
|
|||||||
local maj_ver = rpm.expand("%{maj_ver}")
|
local maj_ver = rpm.expand("%{maj_ver}")
|
||||||
for arg in rpm.expand("%*"):gmatch("%S+") do
|
for arg in rpm.expand("%*"):gmatch("%S+") do
|
||||||
print(install_bindir .. "/" .. arg .. "\\n")
|
print(install_bindir .. "/" .. arg .. "\\n")
|
||||||
print(bindir .. "/" .. arg .. "-" .. maj_ver .. "\\n")
|
if not rpm.expand("%{ix86}"):find(rpm.expand("%{_arch}")) then
|
||||||
if rpm.expand("%{without compat_build}") == "1" then
|
print(bindir .. "/" .. arg .. "-" .. maj_ver .. "\\n")
|
||||||
print(bindir .. "/" .. arg .. "\\n")
|
if rpm.expand("%{without compat_build}") == "1" then
|
||||||
|
print(bindir .. "/" .. arg .. "\\n")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
%define expand_mans() %{lua:
|
%define expand_mans() %{lua:
|
||||||
local mandir = rpm.expand("%{_mandir}")
|
if not rpm.expand("%{ix86}"):find(rpm.expand("%{_arch}")) then
|
||||||
local maj_ver = rpm.expand("%{maj_ver}")
|
local mandir = rpm.expand("%{_mandir}")
|
||||||
for arg in rpm.expand("%*"):gmatch("%S+") do
|
local maj_ver = rpm.expand("%{maj_ver}")
|
||||||
print(mandir .. "/man1/" .. arg .. "-" .. maj_ver .. ".1.gz\\n")
|
for arg in rpm.expand("%*"):gmatch("%S+") do
|
||||||
if rpm.expand("%{without compat_build}") == "1" then
|
print(mandir .. "/man1/" .. arg .. "-" .. maj_ver .. ".1.gz\\n")
|
||||||
print(mandir .. "/man1/" .. arg .. ".1.gz\\n")
|
if rpm.expand("%{without compat_build}") == "1" then
|
||||||
|
print(mandir .. "/man1/" .. arg .. ".1.gz\\n")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
@ -2299,7 +2336,8 @@ fi
|
|||||||
local install_dir = rpm.expand("%{-i*}")
|
local install_dir = rpm.expand("%{-i*}")
|
||||||
for arg in rpm.expand("%*"):gmatch("%S+") do
|
for arg in rpm.expand("%*"):gmatch("%S+") do
|
||||||
print(install_dir .. "/" .. arg .. "\\n")
|
print(install_dir .. "/" .. arg .. "\\n")
|
||||||
if rpm.expand("%{without compat_build}") == "1" then
|
if rpm.expand("%{without compat_build}") == "1" and
|
||||||
|
not rpm.expand("%{ix86}"):find(rpm.expand("%{_arch}")) then
|
||||||
print(dir .. "/" .. arg .. "\\n")
|
print(dir .. "/" .. arg .. "\\n")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2514,12 +2552,7 @@ fi
|
|||||||
%files -n %{pkg_name_llvm}-devel
|
%files -n %{pkg_name_llvm}-devel
|
||||||
%license llvm/LICENSE.TXT
|
%license llvm/LICENSE.TXT
|
||||||
|
|
||||||
%{install_bindir}/llvm-config
|
%expand_bins llvm-config
|
||||||
%ghost %{_bindir}/llvm-config-%{maj_ver}
|
|
||||||
%if %{without compat_build}
|
|
||||||
%ghost %{_bindir}/llvm-config
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%expand_mans llvm-config
|
%expand_mans llvm-config
|
||||||
%expand_includes llvm llvm-c
|
%expand_includes llvm llvm-c
|
||||||
%{expand_libs %{expand:
|
%{expand_libs %{expand:
|
||||||
@ -2537,9 +2570,11 @@ fi
|
|||||||
%exclude %{install_libdir}/libLLVMTestingSupport.a
|
%exclude %{install_libdir}/libLLVMTestingSupport.a
|
||||||
%exclude %{install_libdir}/libLLVMTestingAnnotations.a
|
%exclude %{install_libdir}/libLLVMTestingAnnotations.a
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
|
%ifnarch %{ix86}
|
||||||
%exclude %{_libdir}/libLLVMTestingSupport.a
|
%exclude %{_libdir}/libLLVMTestingSupport.a
|
||||||
%exclude %{_libdir}/libLLVMTestingAnnotations.a
|
%exclude %{_libdir}/libLLVMTestingAnnotations.a
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n %{pkg_name_llvm}-cmake-utils
|
%files -n %{pkg_name_llvm}-cmake-utils
|
||||||
%license llvm/LICENSE.TXT
|
%license llvm/LICENSE.TXT
|
||||||
@ -2624,8 +2659,10 @@ fi
|
|||||||
%expand_bins clang-tblgen
|
%expand_bins clang-tblgen
|
||||||
%dir %{install_datadir}/clang/
|
%dir %{install_datadir}/clang/
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
|
%ifnarch %{ix86}
|
||||||
%dir %{_datadir}/clang
|
%dir %{_datadir}/clang
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n %{pkg_name_clang}-resource-filesystem
|
%files -n %{pkg_name_clang}-resource-filesystem
|
||||||
%license clang/LICENSE.TXT
|
%license clang/LICENSE.TXT
|
||||||
@ -2749,7 +2786,7 @@ fi
|
|||||||
# Files that appear on all targets
|
# Files that appear on all targets
|
||||||
%{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/libclang_rt.*
|
%{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/libclang_rt.*
|
||||||
|
|
||||||
%ifnarch s390x
|
%if %{has_crtobjs}
|
||||||
%{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/clang_rt.crtbegin.o
|
%{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/clang_rt.crtbegin.o
|
||||||
%{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/clang_rt.crtend.o
|
%{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/clang_rt.crtend.o
|
||||||
%endif
|
%endif
|
||||||
@ -2774,9 +2811,7 @@ fi
|
|||||||
libompd.so
|
libompd.so
|
||||||
libarcher.so
|
libarcher.so
|
||||||
}}
|
}}
|
||||||
%ifnarch %{ix86}
|
%if %{with offload}
|
||||||
# libomptarget is not supported on 32-bit systems.
|
|
||||||
# s390x does not support the offloading plugins.
|
|
||||||
%expand_libs libomptarget.so.%{so_suffix}
|
%expand_libs libomptarget.so.%{so_suffix}
|
||||||
%expand_libs libLLVMOffload.so.%{so_suffix}
|
%expand_libs libLLVMOffload.so.%{so_suffix}
|
||||||
%endif
|
%endif
|
||||||
@ -2789,16 +2824,25 @@ fi
|
|||||||
%{_prefix}/lib/clang/%{maj_ver}/include/ompt.h
|
%{_prefix}/lib/clang/%{maj_ver}/include/ompt.h
|
||||||
%{_prefix}/lib/clang/%{maj_ver}/include/ompt-multiplex.h
|
%{_prefix}/lib/clang/%{maj_ver}/include/ompt-multiplex.h
|
||||||
%expand_libs cmake/openmp
|
%expand_libs cmake/openmp
|
||||||
%ifnarch %{ix86}
|
%if %{with offload}
|
||||||
# libomptarget is not supported on 32-bit systems.
|
%{expand_libs %{expand:
|
||||||
# s390x does not support the offloading plugins.
|
libomptarget.so
|
||||||
|
libLLVMOffload.so
|
||||||
|
}}
|
||||||
|
|
||||||
|
%if %{maj_ver} < 21
|
||||||
%{expand_libs %{expand:
|
%{expand_libs %{expand:
|
||||||
libomptarget.devicertl.a
|
libomptarget.devicertl.a
|
||||||
libomptarget-amdgpu*.bc
|
libomptarget-amdgpu*.bc
|
||||||
libomptarget-nvptx*.bc
|
libomptarget-nvptx*.bc
|
||||||
libomptarget.so
|
|
||||||
libLLVMOffload.so
|
|
||||||
}}
|
}}
|
||||||
|
%else
|
||||||
|
%{install_libdir}/amdgcn-amd-amdhsa/libompdevice.a
|
||||||
|
%{install_libdir}/amdgcn-amd-amdhsa/libomptarget-amdgpu.bc
|
||||||
|
%{install_libdir}/nvptx64-nvidia-cuda/libompdevice.a
|
||||||
|
%{install_libdir}/nvptx64-nvidia-cuda/libomptarget-nvptx.bc
|
||||||
|
%endif
|
||||||
|
|
||||||
%expand_includes offload
|
%expand_includes offload
|
||||||
%endif
|
%endif
|
||||||
#endregion OPENMP files
|
#endregion OPENMP files
|
||||||
@ -3032,6 +3076,10 @@ fi
|
|||||||
|
|
||||||
#region changelog
|
#region changelog
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 12 2025 Konrad Kleine <kkleine@redhat.com> - 20.1.4-1
|
||||||
|
- Update to LLVM 20.1.4
|
||||||
|
- Drop ARM and MIPS targets (RHEL-86089)
|
||||||
|
|
||||||
* Mon Apr 14 2025 Konrad Kleine <kkleine@redhat.com> - 20.1.2-1
|
* Mon Apr 14 2025 Konrad Kleine <kkleine@redhat.com> - 20.1.2-1
|
||||||
- Update to LLVM 20.1.2 (RHEL-80988)
|
- Update to LLVM 20.1.2 (RHEL-80988)
|
||||||
|
|
||||||
|
4
sources
4
sources
@ -1,4 +1,4 @@
|
|||||||
SHA512 (llvm-project-20.1.2.src.tar.xz) = c95e088e471d49c6692c8af1a7e40924467e4c269dada019c44455687c9f0e6a213b9b3ac8afa4e3d20cb3e757afc3400152e7cd06981aeebd61591cac15580d
|
SHA512 (llvm-project-20.1.4.src.tar.xz) = acace8175a5468c7e84a89d1564e147e81fe92b6d910f22b058edf72094b27176677c06dbe141fccfbabdad77165f957bbf1ec8aff7bffc85f0757c0103f7e59
|
||||||
SHA512 (llvm-project-20.1.2.src.tar.xz.sig) = d3f6a350ebd9884878442ea202f58328f8e85c30cfb150371e4af7fa8dc560bb421cd0f49f49e6bc95f57de6c06543633f0b2799aab9590750f440e099424e01
|
SHA512 (llvm-project-20.1.4.src.tar.xz.sig) = 634414ea877724ebdeeabe3bb1079d78938aa05dba2243d5458cf211c35444124dc01fa73a593548290196f8c0e40e1e6a4a72571dba4b716b5781c656c6f9b2
|
||||||
SHA512 (llvm-project-19.1.7.src.tar.xz) = c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
|
SHA512 (llvm-project-19.1.7.src.tar.xz) = c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
|
||||||
SHA512 (llvm-project-19.1.7.src.tar.xz.sig) = 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
|
SHA512 (llvm-project-19.1.7.src.tar.xz.sig) = 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
|
||||||
|
Loading…
Reference in New Issue
Block a user