|
|
@ -4,19 +4,31 @@
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
Name: compiler-rt
|
|
|
|
Name: compiler-rt
|
|
|
|
Version: 3.9.1
|
|
|
|
Version: 4.0.1
|
|
|
|
Release: 1%{?dist}
|
|
|
|
Release: 2%{?dist}
|
|
|
|
Summary: LLVM "compiler-rt" runtime libraries
|
|
|
|
Summary: LLVM "compiler-rt" runtime libraries
|
|
|
|
|
|
|
|
|
|
|
|
License: NCSA or MIT
|
|
|
|
License: NCSA or MIT
|
|
|
|
URL: http://llvm.org
|
|
|
|
URL: http://llvm.org
|
|
|
|
Source0: http://llvm.org/releases/%{version}/%{name}-%{version}.src.tar.xz
|
|
|
|
Source0: http://llvm.org/releases/%{version}/%{name}-%{version}.src.tar.xz
|
|
|
|
|
|
|
|
# Extract libFuzzer sources from the llvm tarball. We are packaging it as part
|
|
|
|
|
|
|
|
# of compiler-rt, because upstream moved the code into the compiler-rt project
|
|
|
|
|
|
|
|
# for LLVM 6.0.0, and we also don't want to add clang as a build dependency for
|
|
|
|
|
|
|
|
# llvm.
|
|
|
|
|
|
|
|
# wget http://llvm.org/releases/4.0.1/llvm-4.0.1.src.tar.xz
|
|
|
|
|
|
|
|
# tar -xJf llvm-4.0.1.src.tar.xz
|
|
|
|
|
|
|
|
# cd llvm-4.0.1.src/lib/Fuzzer/
|
|
|
|
|
|
|
|
# tar -cJf Fuzzer.tar.xz Fuzzer/
|
|
|
|
|
|
|
|
Source1: Fuzzer.tar.xz
|
|
|
|
|
|
|
|
|
|
|
|
BuildRequires: cmake
|
|
|
|
BuildRequires: cmake
|
|
|
|
BuildRequires: python
|
|
|
|
BuildRequires: python
|
|
|
|
BuildRequires: llvm-devel = %{version}
|
|
|
|
BuildRequires: llvm-devel = %{version}
|
|
|
|
BuildRequires: llvm-static = %{version}
|
|
|
|
BuildRequires: llvm-static = %{version}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# libFuzzer must be built by clang.
|
|
|
|
|
|
|
|
BuildRequires: clang
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
%description
|
|
|
|
The compiler-rt project is a part of the LLVM project. It provides
|
|
|
|
The compiler-rt project is a part of the LLVM project. It provides
|
|
|
|
implementation of the low-level target-specific hooks required by
|
|
|
|
implementation of the low-level target-specific hooks required by
|
|
|
@ -24,7 +36,9 @@ code generation, sanitizer runtimes and profiling library for code
|
|
|
|
instrumentation, and Blocks C language extension.
|
|
|
|
instrumentation, and Blocks C language extension.
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%prep
|
|
|
|
%setup -q -n %{name}-%{version}.src
|
|
|
|
%setup -T -q -b 1 -n Fuzzer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%autosetup -n %{name}-%{version}.src -p1
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
%build
|
|
|
|
mkdir -p _build
|
|
|
|
mkdir -p _build
|
|
|
@ -42,18 +56,26 @@ cd _build
|
|
|
|
|
|
|
|
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pushd ../../Fuzzer
|
|
|
|
|
|
|
|
./build.sh
|
|
|
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
%install
|
|
|
|
cd _build
|
|
|
|
cd _build
|
|
|
|
make install DESTDIR=%{buildroot}
|
|
|
|
make install DESTDIR=%{buildroot}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pushd ../../Fuzzer
|
|
|
|
|
|
|
|
install -m0644 libFuzzer.a %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
|
|
# move sanitizer lists to better place
|
|
|
|
# move sanitizer lists to better place
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/clang/%{version}
|
|
|
|
|
|
|
|
for file in asan_blacklist.txt msan_blacklist.txt dfsan_blacklist.txt cfi_blacklist.txt dfsan_abilist.txt; do
|
|
|
|
for file in asan_blacklist.txt msan_blacklist.txt dfsan_blacklist.txt cfi_blacklist.txt dfsan_abilist.txt; do
|
|
|
|
mv -v %{buildroot}%{_prefix}/${file} %{buildroot}%{_libdir}/clang/%{version}/ || :
|
|
|
|
mv -v %{buildroot}%{_prefix}/${file} %{buildroot}%{_libdir}/clang/%{version}/ || :
|
|
|
|
done
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
# move sanitizer libs to better place
|
|
|
|
# move sanitizer libs to better place
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
|
|
|
|
|
mv -v %{buildroot}%{_prefix}/lib/linux/libclang_rt* %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
|
mv -v %{buildroot}%{_prefix}/lib/linux/libclang_rt* %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib/linux/
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib/linux/
|
|
|
|
pushd %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
|
pushd %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
@ -70,6 +92,15 @@ cd _build
|
|
|
|
%{_libdir}/clang/%{version}
|
|
|
|
%{_libdir}/clang/%{version}
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
%changelog
|
|
|
|
|
|
|
|
* Tue Sep 12 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-2
|
|
|
|
|
|
|
|
- Package libFuzzer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Fri Jun 23 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-1
|
|
|
|
|
|
|
|
- 4.0.1 Release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Tue Mar 14 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-1
|
|
|
|
|
|
|
|
- compiler-rt 4.0.0 Final Release
|
|
|
|
|
|
|
|
|
|
|
|
* Thu Mar 02 2017 Dave Airlie <airlied@redhat.com> - 3.9.1-1
|
|
|
|
* Thu Mar 02 2017 Dave Airlie <airlied@redhat.com> - 3.9.1-1
|
|
|
|
- compiler-rt 3.9.1
|
|
|
|
- compiler-rt 3.9.1
|
|
|
|
|
|
|
|
|
|
|
|