Compare commits

...

11 Commits

Author SHA1 Message Date
David Abdurachmanov 5125d28bef
Fix files for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-04-25 10:19:50 +03:00
David Abdurachmanov 142bd9e58f Merge remote-tracking branch 'up/f38' into f38-riscv64 2023-04-25 10:18:46 +03:00
Tulio Magno Quites Machado Filho e3a3a0ebb8 Update to LLVM 16.0.1 2023-04-13 08:49:44 -03:00
Tulio Magno Quites Machado Filho d5333c74aa Update to LLVM 16.0.0 2023-03-21 11:05:43 -03:00
Tulio Magno Quites Machado Filho 927c63bbc0 Update to LLVM 16.0.0 RC4 2023-03-15 17:27:39 -03:00
Tulio Magno Quites Machado Filho 730be9a996 Improve .gitignore
Replace many entries with a few globs.
2023-03-15 15:28:15 -03:00
Tulio Magno Quites Machado Filho eb44cf3fe8 Fix the path of the libraries
Use just the major version instead of full version.
2023-03-06 12:19:37 -03:00
Tulio Magno Quites Machado Filho d37fc52fe0 Update to LLVM 16.0.0 RC3 2023-02-27 09:36:06 -03:00
Tulio Magno Quites Machado Filho 82046e74ac Update to LLVM 16.0.0 RC1 2023-02-15 14:36:29 -03:00
Tom Stellard 95993ba8f4 Omit frame pointers when building 2023-02-01 18:18:41 +00:00
Tulio Magno Quites Machado Filho 8467d3015b Mention the Apache 2.0 license
List Apache 2.0 with LLVM exceptions in the license field.
This license got adopted in 2019.
2023-01-19 16:58:53 -03:00
3 changed files with 67 additions and 132 deletions

110
.gitignore vendored
View File

@ -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

View File

@ -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.0.riscv64%{?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,39 @@ popd
%files
%license LICENSE.TXT
%{_includedir}/*
%{_libdir}/clang/%{compiler_rt_version}/lib/*
%{_libdir}/clang/%{compiler_rt_version}/share/*
%ifarch x86_64 aarch64
%{_libdir}/clang/%{maj_ver}/lib/*
%{_libdir}/clang/%{maj_ver}/share/*
%ifarch x86_64 aarch64 riscv64
%{_bindir}/hwasan_symbolize
%endif
%changelog
* Mon Apr 03 2023 David Abdurachmanov <davidlt@rivosinc.com> - 15.0.7-2.0.riscv64
- Disable LTO on riscv64
* Tue Apr 25 2023 David Abdurachmanov <davidlt@rivosinc.com> - 16.0.1-1.0.riscv64
- Fix files for riscv64
* Thu Apr 13 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.1-1
- Update to LLVM 16.0.1
* Tue Mar 21 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0-1
- Update to LLVM 16.0.0
* Wed Mar 15 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc4-1
- Update to LLVM 16.0.0 RC4
* Mon Mar 06 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc3-2
- Fix the path of the libraries
* Thu Feb 23 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc3-1
- Update to LLVM 16.0.0 RC3
* Wed Feb 15 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc1-1
- Update to LLVM 16.0.0 RC1
* Wed Feb 01 2023 Tom Stellard <tstellar@redhat.com> - 15.0.7-4
- Omit frame pointers when building
* Thu Jan 19 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 15.0.7-3
- Include the Apache license adopted in 2019.
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 15.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

View File

@ -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