Package libFuzzer
The libFuzzer source code is included in the llvm sources for llvm 4.0 and 5.0, but is moved into compiler-rt for LLVM 6.0, so we are packaging it as a part of compiler-rt-4.0.* to keep it consistent with future versions of LLVM.
This commit is contained in:
parent
b2af4444e3
commit
edd746704d
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@
|
|||||||
/compiler-rt-3.9.1.src.tar.xz
|
/compiler-rt-3.9.1.src.tar.xz
|
||||||
/compiler-rt-4.0.0.src.tar.xz
|
/compiler-rt-4.0.0.src.tar.xz
|
||||||
/compiler-rt-4.0.1.src.tar.xz
|
/compiler-rt-4.0.1.src.tar.xz
|
||||||
|
/libFuzzer.tar.xz
|
||||||
|
@ -5,12 +5,21 @@
|
|||||||
|
|
||||||
Name: compiler-rt
|
Name: compiler-rt
|
||||||
Version: 4.0.1
|
Version: 4.0.1
|
||||||
Release: 4%{?dist}
|
Release: 5%{?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
|
||||||
Patch0: 0001-Build-fixes-for-newer-glibc.patch
|
Patch0: 0001-Build-fixes-for-newer-glibc.patch
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
@ -18,6 +27,9 @@ 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
|
||||||
@ -25,6 +37,8 @@ code generation, sanitizer runtimes and profiling library for code
|
|||||||
instrumentation, and Blocks C language extension.
|
instrumentation, and Blocks C language extension.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
%setup -T -q -b 1 -n Fuzzer
|
||||||
|
|
||||||
%autosetup -n %{name}-%{version}.src -p1
|
%autosetup -n %{name}-%{version}.src -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -43,18 +57,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
|
||||||
@ -71,6 +93,9 @@ cd _build
|
|||||||
%{_libdir}/clang/%{version}
|
%{_libdir}/clang/%{version}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 12 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-5
|
||||||
|
- Package libFuzzer
|
||||||
|
|
||||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-4
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-4
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
1
sources
1
sources
@ -1,2 +1,3 @@
|
|||||||
SHA512 (compiler-rt-4.0.0.src.tar.xz) = ed52436a2399ca82c1af46a523e89e88c23367f74cd110f0267af49a72aa4912ae8f48c6093e6b01c9ea68c48354a12201d26baf721d254fb017ddb98af2e3dd
|
SHA512 (compiler-rt-4.0.0.src.tar.xz) = ed52436a2399ca82c1af46a523e89e88c23367f74cd110f0267af49a72aa4912ae8f48c6093e6b01c9ea68c48354a12201d26baf721d254fb017ddb98af2e3dd
|
||||||
SHA512 (compiler-rt-4.0.1.src.tar.xz) = cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649
|
SHA512 (compiler-rt-4.0.1.src.tar.xz) = cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649
|
||||||
|
SHA512 (libFuzzer.tar.xz) = cc69abdea6c509521904f0011427cf30ea5aa4d1cda8059d9ff329d8eccf6dffc77945b3edd905cb0e799bb36710c6c36e095b52276ddb5af447818f4ed4de52
|
||||||
|
Loading…
Reference in New Issue
Block a user