From 261662f0849e73d1e5bf4eaa4ba8fa656e29ece7 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 13 Dec 2023 13:08:26 +0100 Subject: [PATCH] 18.1.2 Release Resolves: RHEL-29882 --- ...size-constant-on-aarch64-and-ppc64le.patch | 25 ++++++++++ compiler-rt.spec | 49 +++++++++++++++++-- fix-page-size-constant.patch | 15 ------ sources | 4 +- 4 files changed, 71 insertions(+), 22 deletions(-) create mode 100644 0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch delete mode 100644 fix-page-size-constant.patch diff --git a/0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch b/0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch new file mode 100644 index 0000000..925c996 --- /dev/null +++ b/0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch @@ -0,0 +1,25 @@ +From 5f73befe5a0df82e455f4b1052e62f34009e98bb Mon Sep 17 00:00:00 2001 +From: Tom Stellard +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 + diff --git a/compiler-rt.spec b/compiler-rt.spec index 73946d8..62a6490 100644 --- a/compiler-rt.spec +++ b/compiler-rt.spec @@ -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 2 #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,29 @@ mv %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/powerpc64le-redhat-linux-gnu #%endif %changelog +* Fri Mar 22 2024 Tom Stellard - 18.1.2-1 +- 18.1.2 Release + +* Tue Mar 12 2024 Tom Stellard - 18.1.1-1 +- 18.1.1 Release + +* Wed Feb 28 2024 Tom Stellard - 18.1.0~rc4-1 +- 18.1.0-rc4 Release + +* Wed Jan 24 2024 Fedora Release Engineering - 17.0.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 17.0.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +%{?llvm_snapshot_changelog_entry} + +* Mon Dec 18 2023 Jeremy Newton - 17.0.6-3 +- Add compiler-rt(major) provides + +* Wed Dec 13 2023 Miro HronĨok - 17.0.6-2 +- Fix install path on i686 + * Wed Nov 29 2023 Nikita Popov - 17.0.6-1 - Update to LLVM 17.0.6 diff --git a/fix-page-size-constant.patch b/fix-page-size-constant.patch deleted file mode 100644 index 2c39c3a..0000000 --- a/fix-page-size-constant.patch +++ /dev/null @@ -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. diff --git a/sources b/sources index 09c8a1d..995ce2c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (compiler-rt-17.0.6.src.tar.xz) = 56dc9d304dd4ba8d28179077dd99ca7c820ce26dbc70d33b2ba41769928adc900f7618d3efef756b2fc92e322d2f25dba49be966d6583d2d8f1fce9283a9cdf7 -SHA512 (compiler-rt-17.0.6.src.tar.xz.sig) = 3f1e21299fee7ab20fbeb61740049fb0ad61ceeaa8abec000c415320526dd84006d2d82161ff6ed63b33f0c1fd3937647e5eac5341cbeab602edaf70a8b875cd +SHA512 (compiler-rt-18.1.2.src.tar.xz) = a17a80cac9050bd3349ad18e1e4d87002ae2667e42047fc6889c9dd10db493780a1dc05f0171ce0cc91291158e5bb7ee04f83e275b697e3e31fcb8e2f7aac297 +SHA512 (compiler-rt-18.1.2.src.tar.xz.sig) = b484728da7ac5074e37501a9407f8b05ca23cdc8a108ec7cfcf77e7964a7fcc0073db2a8268488d3266409a03d44a643b6a26663fe8b20ddade255575d75b9c8