diff --git a/.compiler-rt.metadata b/.compiler-rt.metadata new file mode 100644 index 0000000..6265f16 --- /dev/null +++ b/.compiler-rt.metadata @@ -0,0 +1 @@ +5ac063b474abe730b551477cdc02db789228f9c7 SOURCES/compiler-rt-7.0.1.src.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..58f8122 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/compiler-rt-7.0.1.src.tar.xz diff --git a/SOURCES/0001-Drop-fno-stack-protector-from-the-compiler-flags.patch b/SOURCES/0001-Drop-fno-stack-protector-from-the-compiler-flags.patch new file mode 100644 index 0000000..eea43d6 --- /dev/null +++ b/SOURCES/0001-Drop-fno-stack-protector-from-the-compiler-flags.patch @@ -0,0 +1,24 @@ +From 66b952a4aeab83a7692d9d80a046034de79fe2e2 Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Wed, 5 Sep 2018 21:07:42 -0700 +Subject: [PATCH] Drop -fno-stack-protector from the compiler flags + +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4b953b2..043cc31 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -207,7 +207,6 @@ if(NOT COMPILER_RT_DEBUG AND NOT APPLE) + append_list_if(COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG -fomit-frame-pointer SANITIZER_COMMON_CFLAGS) + endif() + append_list_if(COMPILER_RT_HAS_FUNWIND_TABLES_FLAG -funwind-tables SANITIZER_COMMON_CFLAGS) +-append_list_if(COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG -fno-stack-protector SANITIZER_COMMON_CFLAGS) + append_list_if(COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG -fno-sanitize=safe-stack SANITIZER_COMMON_CFLAGS) + append_list_if(COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG -fvisibility=hidden SANITIZER_COMMON_CFLAGS) + if(NOT COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG) +-- +1.8.3.1 + diff --git a/SOURCES/0001-cmake-Don-t-prefer-python2.7.patch b/SOURCES/0001-cmake-Don-t-prefer-python2.7.patch new file mode 100644 index 0000000..3b41f6e --- /dev/null +++ b/SOURCES/0001-cmake-Don-t-prefer-python2.7.patch @@ -0,0 +1,24 @@ +From 1353b7e97319f82ceee621e2e321c3f932c391fa Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Thu, 6 Sep 2018 17:32:09 -0700 +Subject: [PATCH] cmake: Don't prefer python2.7 + +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86ca2b3..ef8effa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -71,7 +71,6 @@ if (COMPILER_RT_STANDALONE_BUILD) + endif() + + # Find Python interpreter. +- set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5) + include(FindPythonInterp) + if(NOT PYTHONINTERP_FOUND) + message(FATAL_ERROR " +-- +1.8.3.1 + diff --git a/SPECS/compiler-rt.spec b/SPECS/compiler-rt.spec new file mode 100644 index 0000000..2893273 --- /dev/null +++ b/SPECS/compiler-rt.spec @@ -0,0 +1,156 @@ +%global crt_srcdir compiler-rt-%{version}%{?rc_ver:rc%{rc_ver}}.src + +Name: compiler-rt +Version: 7.0.1 +Release: 1%{?dist} +Summary: LLVM "compiler-rt" runtime libraries + +License: NCSA or MIT +URL: http://llvm.org +Source0: http://llvm.org/releases/%{version}/%{crt_srcdir}.tar.xz + +Patch0: 0001-Drop-fno-stack-protector-from-the-compiler-flags.patch +Patch1: 0001-cmake-Don-t-prefer-python2.7.patch + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: /usr/bin/python3 +# We need python3-devel for pathfix.py. +BuildRequires: python3-devel +BuildRequires: llvm-devel = %{version} +BuildRequires: llvm-static = %{version} + +%description +The compiler-rt project is a part of the LLVM project. It provides +implementation of the low-level target-specific hooks required by +code generation, sanitizer runtimes and profiling library for code +instrumentation, and Blocks C language extension. + +%prep +%autosetup -n %{crt_srcdir} -p1 + +pathfix.py -i %{__python3} -pn . + +%build +mkdir -p _build +cd _build +%cmake .. \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DLLVM_CONFIG_PATH:FILEPATH=%{_bindir}/llvm-config \ + \ +%if 0%{?__isa_bits} == 64 + -DLLVM_LIBDIR_SUFFIX=64 \ +%else + -DLLVM_LIBDIR_SUFFIX= \ +%endif + -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF # could be on? + +make %{?_smp_mflags} + +%install +cd _build +make install DESTDIR=%{buildroot} + +mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib + +%ifarch aarch64 +%global aarch64_blacklists hwasan_blacklist.txt +%endif + +# move sanitizer lists to better place +for file in %{aarch64_blacklists} asan_blacklist.txt msan_blacklist.txt dfsan_blacklist.txt cfi_blacklist.txt dfsan_abilist.txt hwasan_blacklist.txt; do + mv -v %{buildroot}%{_datadir}/${file} %{buildroot}%{_libdir}/clang/%{version}/ || : +done + +# move sanitizer libs to better place +mv -v %{buildroot}%{_prefix}/lib/linux/libclang_rt* %{buildroot}%{_libdir}/clang/%{version}/lib +mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib/linux/ +pushd %{buildroot}%{_libdir}/clang/%{version}/lib +for i in *.a *.syms *.so; do + ln -s ../$i linux/$i +done + +%check +cd _build +#make check-all + +%files +%{_includedir}/* +%{_libdir}/clang/%{version} + +%changelog +* Fri Dec 14 2018 Tom Stellard - 7.0.1-1 +- 7.0.1 Release + +* Mon Dec 10 2018 Tom Stellard - 7.0.1-0.1.rc3 +- 7.0.1-rc3 Release + +* Tue Nov 27 2018 Tom Stellard - 7.0.0-1 +- 7.0.0 Release + +* Tue Oct 02 2018 Tom Stellard - 6.0.1-5 +- Use python3 for build scripts + +* Mon Oct 01 2018 Tom Stellard - 6.0.1-4 +- Drop scl macros + +* Thu Sep 06 2018 Tom Stellard - 6.0.1-3 +- Drop -fno-stack-protector flag + +* Thu Sep 06 2018 Tom Stellard - 6.0.1-2 +- Explicitly BuildRequire: /usr/bin/python3 + +* Wed Jul 11 2018 Tom Stellard - 6.0.1-1 +- 6.0.1 Release + +* Tue Jan 09 2018 Tom Stellard - 5.0.1-1 +- 5.0.1 Release + +* Wed Jun 07 2017 Tom Stellard - 4.0.1-1 +- 4.0.1 Release + +* Wed Jun 07 2017 Tom Stellard - 4.0.0-3 +- Build for llvm-toolset-7 rename + +* Thu May 18 2017 Tom Stellard - 4.0.0-2 +- Fix disabling debug on s390(x) + +* Tue Mar 14 2017 Tom Stellard - 4.0.0-1 +- compiler-rt 4.0.0 Final Release + +* Thu Mar 02 2017 Dave Airlie - 3.9.1-1 +- compiler-rt 3.9.1 + +* Fri Feb 10 2017 Fedora Release Engineering - 3.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 21 2016 Dan HorĂ¡k - 3.9.0-3 +- disable debuginfo on s390(x) + +* Wed Nov 02 2016 Dave Airlie - 3.9.0-2 +- build for new arches. + +* Wed Oct 26 2016 Dave Airlie - 3.9.0-1 +- compiler-rt 3.9.0 final release + +* Mon May 2 2016 Tom Callaway 3.8.0-2 +- make symlinks to where the linker thinks these libs are + +* Thu Mar 10 2016 Dave Airlie 3.8.0-1 +- compiler-rt 3.8.0 final release + +* Thu Mar 03 2016 Dave Airlie 3.8.0-0.2 +- compiler-rt 3.8.0rc3 + +* Thu Feb 18 2016 Dave Airlie - 3.8.0-0.1 +- compiler-rt 3.8.0rc2 + +* Fri Feb 05 2016 Dave Airlie 3.7.1-3 +- fix compiler-rt paths - from rwindz0@gmail.com - #1304605 + +* Wed Feb 03 2016 Fedora Release Engineering - 3.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 06 2015 Jan Vcelak 3.7.0-100 +- initial version using cmake build system