diff --git a/.gitignore b/.gitignore index 0c504ec..b67dddf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,107 +1,3 @@ -/compiler-rt-3.7.1.src.tar.xz -/compiler-rt-3.8.0rc2.src.tar.xz -/compiler-rt-3.8.0rc3.src.tar.xz -/compiler-rt-3.8.0.src.tar.xz -/compiler-rt-3.9.0.src.tar.xz -/compiler-rt-3.9.1.src.tar.xz -/compiler-rt-4.0.0.src.tar.xz -/compiler-rt-4.0.1.src.tar.xz -/Fuzzer.tar.xz -/Fuzzer-5.0.0.tar.xz -/compiler-rt-5.0.0.src.tar.xz -/Fuzzer-5.0.1.tar.xz -/compiler-rt-5.0.1.src.tar.xz -/compiler-rt-6.0.0rc1.src.tar.xz -/compiler-rt-6.0.0rc2.src.tar.xz -/compiler-rt-6.0.0.src.tar.xz -/compiler-rt-6.0.1.src.tar.xz -/compiler-rt-7.0.0rc1.src.tar.xz -/compiler-rt-7.0.0rc3.src.tar.xz -/compiler-rt-7.0.0.src.tar.xz -/compiler-rt-7.0.1.src.tar.xz -/compiler-rt-8.0.0rc1.src.tar.xz -/compiler-rt-8.0.0rc2.src.tar.xz -/compiler-rt-8.0.0rc3.src.tar.xz -/compiler-rt-8.0.0rc4.src.tar.xz -/compiler-rt-8.0.0.src.tar.xz -/compiler-rt-9.0.0rc2.src.tar.xz -/compiler-rt-9.0.0rc3.src.tar.xz -/compiler-rt-9.0.0.src.tar.xz -/compiler-rt-10.0.0rc1.src.tar.xz -/compiler-rt-10.0.0rc1.src.tar.xz.sig -/compiler-rt-10.0.0rc2.src.tar.xz -/compiler-rt-10.0.0rc2.src.tar.xz.sig -/compiler-rt-10.0.0rc3.src.tar.xz -/compiler-rt-10.0.0rc3.src.tar.xz.sig -/compiler-rt-10.0.0rc4.src.tar.xz -/compiler-rt-10.0.0rc4.src.tar.xz.sig -/compiler-rt-10.0.0rc5.src.tar.xz -/compiler-rt-10.0.0rc5.src.tar.xz.sig -/compiler-rt-10.0.0rc6.src.tar.xz -/compiler-rt-10.0.0rc6.src.tar.xz.sig -/compiler-rt-10.0.0.src.tar.xz -/compiler-rt-10.0.0.src.tar.xz.sig -/compiler-rt-11.0.0rc1.src.tar.xz -/compiler-rt-11.0.0rc1.src.tar.xz.sig -/compiler-rt-11.0.0rc2.src.tar.xz -/compiler-rt-11.0.0rc2.src.tar.xz.sig -/compiler-rt-11.0.0rc3.src.tar.xz -/compiler-rt-11.0.0rc3.src.tar.xz.sig -/compiler-rt-11.0.0rc5.src.tar.xz -/compiler-rt-11.0.0rc5.src.tar.xz.sig -/compiler-rt-11.0.0rc6.src.tar.xz -/compiler-rt-11.0.0rc6.src.tar.xz.sig -/compiler-rt-11.0.0.src.tar.xz -/compiler-rt-11.0.0.src.tar.xz.sig -/compiler-rt-11.0.1rc1.src.tar.xz -/compiler-rt-11.0.1rc1.src.tar.xz.sig -/compiler-rt-11.0.1rc2.src.tar.xz -/compiler-rt-11.0.1rc2.src.tar.xz.sig -/compiler-rt-11.0.1.src.tar.xz -/compiler-rt-11.0.1.src.tar.xz.sig -/compiler-rt-11.1.0rc1.src.tar.xz -/compiler-rt-11.1.0rc1.src.tar.xz.sig -/compiler-rt-11.1.0rc2.src.tar.xz -/compiler-rt-11.1.0rc2.src.tar.xz.sig -/compiler-rt-12.0.0rc1.src.tar.xz -/compiler-rt-12.0.0rc1.src.tar.xz.sig -/compiler-rt-12.0.0rc2.src.tar.xz -/compiler-rt-12.0.0rc2.src.tar.xz.sig -/compiler-rt-12.0.0rc3.src.tar.xz -/compiler-rt-12.0.0rc3.src.tar.xz.sig -/compiler-rt-12.0.0rc4.src.tar.xz -/compiler-rt-12.0.0rc4.src.tar.xz.sig -/compiler-rt-12.0.0rc5.src.tar.xz -/compiler-rt-12.0.0rc5.src.tar.xz.sig -/compiler-rt-12.0.0.src.tar.xz -/compiler-rt-12.0.0.src.tar.xz.sig -/compiler-rt-12.0.1rc1.src.tar.xz -/compiler-rt-12.0.1rc1.src.tar.xz.sig -/compiler-rt-12.0.1rc3.src.tar.xz -/compiler-rt-12.0.1rc3.src.tar.xz.sig -/compiler-rt-12.0.1.src.tar.xz -/compiler-rt-12.0.1.src.tar.xz.sig -/compiler-rt-13.0.0rc1.src.tar.xz -/compiler-rt-13.0.0rc1.src.tar.xz.sig -/compiler-rt-13.0.0rc3.src.tar.xz -/compiler-rt-13.0.0rc3.src.tar.xz.sig -/compiler-rt-13.0.0.src.tar.xz -/compiler-rt-13.0.0.src.tar.xz.sig -/compiler-rt-13.0.1rc1.src.tar.xz -/compiler-rt-13.0.1rc1.src.tar.xz.sig -/compiler-rt-13.0.1rc2.src.tar.xz -/compiler-rt-13.0.1rc2.src.tar.xz.sig -/compiler-rt-13.0.1.src.tar.xz -/compiler-rt-13.0.1.src.tar.xz.sig -/compiler-rt-14.0.0.src.tar.xz -/compiler-rt-14.0.0.src.tar.xz.sig -/compiler-rt-14.0.5.src.tar.xz -/compiler-rt-14.0.5.src.tar.xz.sig -/compiler-rt-15.0.0.src.tar.xz -/compiler-rt-15.0.0.src.tar.xz.sig -/compiler-rt-15.0.4.src.tar.xz -/compiler-rt-15.0.4.src.tar.xz.sig -/compiler-rt-15.0.6.src.tar.xz -/compiler-rt-15.0.6.src.tar.xz.sig -/compiler-rt-15.0.7.src.tar.xz -/compiler-rt-15.0.7.src.tar.xz.sig +/*.tar.xz +/*.tar.xz.sig +/*.src.rpm diff --git a/compiler-rt.spec b/compiler-rt.spec index 70766a4..20f0949 100644 --- a/compiler-rt.spec +++ b/compiler-rt.spec @@ -1,7 +1,17 @@ %global toolchain clang -%global compiler_rt_version 15.0.7 -#global rc_ver 3 + +# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer +# https://bugzilla.redhat.com/show_bug.cgi?id=2158587 +%undefine _include_frame_pointers + +%global maj_ver 16 +%global min_ver 0 +%global patch_ver 1 +#global rc_ver 4 +%global compiler_rt_version %{maj_ver}.%{min_ver}.%{patch_ver} + %global crt_srcdir compiler-rt-%{compiler_rt_version}%{?rc_ver:rc%{rc_ver}}.src +%global cmake_srcdir cmake-%{compiler_rt_version}%{?rc_ver:rc%{rc_ver}}.src # see https://sourceware.org/bugzilla/show_bug.cgi?id=25271 %global optflags %(echo %{optflags} -D_DEFAULT_SOURCE) @@ -9,20 +19,18 @@ # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93615 %global optflags %(echo %{optflags} -Dasm=__asm__) -%global _clang_lto_cflags %{nil} -%global _lto_cflags %{nil} -%define _lto_cflags %{nil} - Name: compiler-rt Version: %{compiler_rt_version}%{?rc_ver:~rc%{rc_ver}} -Release: 2.0.riscv64%{?dist} +Release: 1%{?dist} Summary: LLVM "compiler-rt" runtime libraries -License: NCSA or MIT +License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT URL: http://llvm.org Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler_rt_version}%{?rc_ver:-rc%{rc_ver}}/%{crt_srcdir}.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler_rt_version}%{?rc_ver:-rc%{rc_ver}}/%{crt_srcdir}.tar.xz.sig Source2: release-keys.asc +Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler_rt_version}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz +Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler_rt_version}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig BuildRequires: clang BuildRequires: cmake @@ -31,6 +39,7 @@ BuildRequires: python3 # We need python3-devel for %%py3_shebang_fix BuildRequires: python3-devel BuildRequires: llvm-devel = %{version} +BuildRequires: zlib-devel # For gpg source verification BuildRequires: gnupg2 @@ -45,13 +54,17 @@ instrumentation, and Blocks C language extension. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE4}' --data='%{SOURCE3}' +%setup -T -q -b 3 -n %{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 :( +cd .. +mv %{cmake_srcdir} cmake %autosetup -n %{crt_srcdir} -p2 %py3_shebang_fix lib/hwasan/scripts/hwasan_symbolize %build -%define _lto_cflags %{nil} - # Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files. export ASMFLAGS=$CFLAGS @@ -74,15 +87,15 @@ export ASMFLAGS=$CFLAGS %cmake_install # move blacklist/abilist files to where clang expect them -mkdir -p %{buildroot}%{_libdir}/clang/%{compiler_rt_version}/share -mv -v %{buildroot}%{_datadir}/*list.txt %{buildroot}%{_libdir}/clang/%{compiler_rt_version}/share/ +mkdir -p %{buildroot}%{_libdir}/clang/%{maj_ver}/share +mv -v %{buildroot}%{_datadir}/*list.txt %{buildroot}%{_libdir}/clang/%{maj_ver}/share/ # move sanitizer libs to better place %global libclang_rt_installdir lib/linux -mkdir -p %{buildroot}%{_libdir}/clang/%{compiler_rt_version}/lib -mv -v %{buildroot}%{_prefix}/%{libclang_rt_installdir}/*clang_rt* %{buildroot}%{_libdir}/clang/%{compiler_rt_version}/lib -mkdir -p %{buildroot}%{_libdir}/clang/%{compiler_rt_version}/lib/linux/ -pushd %{buildroot}%{_libdir}/clang/%{compiler_rt_version}/lib +mkdir -p %{buildroot}%{_libdir}/clang/%{maj_ver}/lib +mv -v %{buildroot}%{_prefix}/%{libclang_rt_installdir}/*_rt* %{buildroot}%{_libdir}/clang/%{maj_ver}/lib +mkdir -p %{buildroot}%{_libdir}/clang/%{maj_ver}/lib/linux/ +pushd %{buildroot}%{_libdir}/clang/%{maj_ver}/lib for i in *.a *.so do ln -s ../$i linux/$i @@ -92,11 +105,11 @@ done # the symlinks will be dangling if the 32 bits version is not installed, but that should be fine %ifarch x86_64 -mkdir -p %{buildroot}/%{_exec_prefix}/lib/clang/%{compiler_rt_version}/lib/linux +mkdir -p %{buildroot}/%{_exec_prefix}/lib/clang/%{maj_ver}/lib/linux for i in *.a *.so do target=`echo "$i" | sed -e 's/x86_64/i386/'` - ln -s ../../../../../lib/clang/%{compiler_rt_version}/lib/$target ../../../../%{_lib}/clang/%{compiler_rt_version}/lib/linux/ + ln -s ../../../../../lib/clang/%{maj_ver}/lib/$target ../../../../%{_lib}/clang/%{maj_ver}/lib/linux/ done %endif @@ -110,15 +123,36 @@ popd %files %license LICENSE.TXT %{_includedir}/* -%{_libdir}/clang/%{compiler_rt_version}/lib/* -%{_libdir}/clang/%{compiler_rt_version}/share/* +%{_libdir}/clang/%{maj_ver}/lib/* +%{_libdir}/clang/%{maj_ver}/share/* %ifarch x86_64 aarch64 %{_bindir}/hwasan_symbolize %endif %changelog -* Mon Apr 03 2023 David Abdurachmanov - 15.0.7-2.0.riscv64 -- Disable LTO on riscv64 +* Thu Apr 13 2023 Tulio Magno Quites Machado Filho - 16.0.1-1 +- Update to LLVM 16.0.1 + +* Tue Mar 21 2023 Tulio Magno Quites Machado Filho - 16.0.0-1 +- Update to LLVM 16.0.0 + +* Wed Mar 15 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc4-1 +- Update to LLVM 16.0.0 RC4 + +* Mon Mar 06 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc3-2 +- Fix the path of the libraries + +* Thu Feb 23 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc3-1 +- Update to LLVM 16.0.0 RC3 + +* Wed Feb 15 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc1-1 +- Update to LLVM 16.0.0 RC1 + +* Wed Feb 01 2023 Tom Stellard - 15.0.7-4 +- Omit frame pointers when building + +* Thu Jan 19 2023 Tulio Magno Quites Machado Filho - 15.0.7-3 +- Include the Apache license adopted in 2019. * Thu Jan 19 2023 Fedora Release Engineering - 15.0.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 4de6033..4b75a65 100644 --- a/sources +++ b/sources @@ -1,2 +1,4 @@ -SHA512 (compiler-rt-15.0.7.src.tar.xz) = 893aff1a7a3d382449b69ddfda10fbf0311f146266749e99683c3907fb5b9b34b63454625b066d4881a1d06b520bb066ea33f9be1ca6407d31044ef8e26e70f0 -SHA512 (compiler-rt-15.0.7.src.tar.xz.sig) = 68f4c6b031639bae638f2d1e79b7c559e2b30844298bdff27dff83bbe1c7cce0e0e957546b795d797561f7bd92ea7f54cecd352d0742119adb0c2d245ec37403 +SHA512 (cmake-16.0.1.src.tar.xz) = 7a0f01a82660a953e06b1df267918542205ac46f151d284dca74255c36fe5ccd995266638a85ce502a81cdd5e76ff3311e5f8488e09d0abbf22ee07cec186f5f +SHA512 (cmake-16.0.1.src.tar.xz.sig) = 8d49050e9b04df253a5bb2fa3b27796f204d085610432826bef6bb6cab876990d67e7fd5267fc89fadf21d88da73c535c82ae6ea0e1c867f7cd5efac244b0fa2 +SHA512 (compiler-rt-16.0.1.src.tar.xz) = ca9e076ef47b6298d68d7799896da0fb18148317ddc4b01e26d11b7ee02979bb771e39217611666c771c8177672f951631e5114140c9b3e58fe94e596964a9b9 +SHA512 (compiler-rt-16.0.1.src.tar.xz.sig) = c427904cf95515c42ce7cd02b08890cf475ec538a5725ce207a0c330ff131554f9ca32ea08e469433c851760e3c8acc61c83186349b0614ac5f2fe0965161958