Compare commits

...

1 Commits

5 changed files with 76 additions and 24 deletions

View File

@ -1,2 +1,2 @@
b0f7f43251829aafd07a3b09a9c3e4987cfa9204 SOURCES/compiler-rt-17.0.6.src.tar.xz
5df8c5479d1c6e99092b865f3597afac8bff1432 SOURCES/compiler-rt-17.0.6.src.tar.xz.sig
6ecbfa5516b60adb4e4e60f991b0d8ddf5aab12a SOURCES/compiler-rt-18.1.8.src.tar.xz
7aa7c3702e6f12f4426c83a232de1349eacbadf2 SOURCES/compiler-rt-18.1.8.src.tar.xz.sig

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/compiler-rt-17.0.6.src.tar.xz
SOURCES/compiler-rt-17.0.6.src.tar.xz.sig
SOURCES/compiler-rt-18.1.8.src.tar.xz
SOURCES/compiler-rt-18.1.8.src.tar.xz.sig

View File

@ -0,0 +1,25 @@
From 5f73befe5a0df82e455f4b1052e62f34009e98bb Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Tue, 23 Apr 2024 15:08:34 -0700
Subject: [PATCH] Fix page size constant on aarch64 and ppc64le
---
compiler-rt/lib/cfi/cfi.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/compiler-rt/lib/cfi/cfi.cpp b/compiler-rt/lib/cfi/cfi.cpp
index ad1c91623514..e7e86e5807a8 100644
--- a/compiler-rt/lib/cfi/cfi.cpp
+++ b/compiler-rt/lib/cfi/cfi.cpp
@@ -53,6 +53,8 @@ namespace __cfi {
#if SANITIZER_LOONGARCH64
#define kCfiShadowLimitsStorageSize 16384 // 16KiB on loongarch64 per page
+#elif defined(__aarch64__) || defined(__powerpc64__)
+#define kCfiShadowLimitsStorageSize 65536 // 1 page
#else
#define kCfiShadowLimitsStorageSize 4096 // 1 page
#endif
--
2.40.1

View File

@ -1,15 +0,0 @@
diff -ruN compiler-rt-14.0.0.src.orig/lib/cfi/cfi.cpp compiler-rt-14.0.0.src/lib/cfi/cfi.cpp
--- a/compiler-rt-14.0.0.src.orig/lib/cfi/cfi.cpp 2022-03-14 10:44:55.000000000 +0100
+++ b/compiler-rt-14.0.0.src/lib/cfi/cfi.cpp 2022-05-25 17:03:51.114415534 +0200
@@ -51,7 +51,11 @@
namespace __cfi {
+#if defined(__aarch64__) || defined(__powerpc64__)
+#define kCfiShadowLimitsStorageSize 65536 // 1 page
+#else
#define kCfiShadowLimitsStorageSize 4096 // 1 page
+#endif
// Lets hope that the data segment is mapped with 4K pages.
// The pointer to the cfi shadow region is stored at the start of this page.
// The rest of the page is unused and re-mapped read-only.

View File

@ -10,9 +10,11 @@
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
%undefine _include_frame_pointers
%global maj_ver 17
%global min_ver 0
%global patch_ver 6
%bcond_with compat_build
%global maj_ver 18
%global min_ver 1
%global patch_ver 8
#global rc_ver 4
%if %{with snapshot_build}
%global maj_ver %{llvm_snapshot_version_major}
@ -24,13 +26,19 @@
%global crt_srcdir compiler-rt-%{compiler_rt_version}%{?rc_ver:rc%{rc_ver}}.src
%if %{with compat_build}
%global pkg_name compiler-rt%{maj_ver}
%else
%global pkg_name compiler-rt
%endif
# see https://sourceware.org/bugzilla/show_bug.cgi?id=25271
%global optflags %(echo %{optflags} -D_DEFAULT_SOURCE)
# see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93615
%global optflags %(echo %{optflags} -Dasm=__asm__)
Name: compiler-rt
Name: %{pkg_name}
Version: %{compiler_rt_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
Release: 1%{?dist}
Summary: LLVM "compiler-rt" runtime libraries
@ -50,7 +58,7 @@ Patch0: 0001-compiler-rt-Fix-FLOAT16-feature-detection.patch
# RHEL-specific patches
Patch100: 0001-Drop-fno-stack-protector-from-the-compiler-flags.patch
Patch101: fix-page-size-constant.patch
Patch101: 0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch
BuildRequires: clang
BuildRequires: cmake
@ -65,6 +73,7 @@ BuildRequires: llvm-cmake-utils = %{version}
BuildRequires: gnupg2
Requires: clang-resource-filesystem%{?isa} = %{version}
Provides: %{name}(major) = %{maj_ver}
%description
The compiler-rt project is a part of the LLVM project. It provides
@ -119,6 +128,13 @@ export ASMFLAGS="%{build_cflags}"
# by clang.
mv %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/powerpc64le-redhat-linux-gnu %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/ppc64le-redhat-linux-gnu
%endif
%ifarch %{ix86}
# Fix install path on ix86 so that the directory name matches the triple used
# by clang on both actual ix86 and on x86_64 with -m32:
%if "%{_target_cpu}" != "i386"
ln -s i386-redhat-linux-gnu %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/%{_target_cpu}-redhat-linux-gnu
%endif
%endif
%check
#%%cmake_build --target check-compiler-rt
@ -136,6 +152,32 @@ mv %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/powerpc64le-redhat-linux-gnu
#%endif
%changelog
* Tue Jul 09 2024 Tom Stellard <tstellar@redhat.com> - 18.1.8-1
- 18.1.8 Release
* Fri Mar 22 2024 Tom Stellard <tstellar@redhat.com> - 18.1.2-1
- 18.1.2 Release
* Tue Mar 12 2024 Tom Stellard <tstellar@redhat.com> - 18.1.1-1
- 18.1.1 Release
* Wed Feb 28 2024 Tom Stellard <tstellar@redhat.com> - 18.1.0~rc4-1
- 18.1.0-rc4 Release
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 17.0.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 17.0.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
%{?llvm_snapshot_changelog_entry}
* Mon Dec 18 2023 Jeremy Newton <alexjnewt at hotmail dot com> - 17.0.6-3
- Add compiler-rt(major) provides
* Wed Dec 13 2023 Miro Hrončok <mhroncok@redhat.com> - 17.0.6-2
- Fix install path on i686
* Wed Nov 29 2023 Nikita Popov <npopov@redhat.com> - 17.0.6-1
- Update to LLVM 17.0.6