!3 [sync] PR-1: Init AFLplusplus repo
From: @openeuler-sync-bot Reviewed-by: @disnight Signed-off-by: @disnight
This commit is contained in:
commit
3091a89c19
BIN
4.10c.tar.gz
Normal file
BIN
4.10c.tar.gz
Normal file
Binary file not shown.
205
AFLplusplus.spec
Normal file
205
AFLplusplus.spec
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
Name: AFLplusplus
|
||||||
|
Version: 4.10c
|
||||||
|
Summary: Practical, instrumentation-driven fuzzer for binary formats
|
||||||
|
License: Apache 2.0
|
||||||
|
Release: 1
|
||||||
|
URL: https://github.com/AFLplusplus/AFLplusplus
|
||||||
|
Source0: %{version}.tar.gz
|
||||||
|
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-plugin-devel
|
||||||
|
BuildRequires: clang
|
||||||
|
BuildRequires: llvm-devel
|
||||||
|
BuildRequires: make chrpath
|
||||||
|
Requires: gcc gcc-c++
|
||||||
|
|
||||||
|
%global afl_helper_path %{_libdir}/afl
|
||||||
|
|
||||||
|
%description
|
||||||
|
American fuzzy lop uses a novel type of compile-time instrumentation
|
||||||
|
and genetic algorithms to automatically discover clean, interesting
|
||||||
|
test cases that trigger new internal states in the targeted
|
||||||
|
binary. This substantially improves the functional coverage for the
|
||||||
|
fuzzed code. The compact synthesized corpuses produced by the tool are
|
||||||
|
also useful for seeding other, more labor- or resource-intensive
|
||||||
|
testing regimes down the road.
|
||||||
|
|
||||||
|
%package clang
|
||||||
|
|
||||||
|
Summary: Clang and clang++ support for AFLplusplus
|
||||||
|
%ifarch x86_64
|
||||||
|
BuildRequires: lld
|
||||||
|
%endif
|
||||||
|
Requires: clang
|
||||||
|
|
||||||
|
%description clang
|
||||||
|
This subpackage contains clang and clang++ support for AFLplusplus
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%forgeautosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%ifnarch x86_64
|
||||||
|
AFL_NO_X86=1 \
|
||||||
|
%endif
|
||||||
|
CFLAGS="%{optflags}" \
|
||||||
|
%{__make} %{?_smp_mflags} \
|
||||||
|
PREFIX="%{_prefix}" \
|
||||||
|
HELPER_PATH="%{afl_helper_path}" \
|
||||||
|
DOC_PATH="%{_pkgdocdir}" \
|
||||||
|
MAN_PATH="%{_mandir}/man8" \
|
||||||
|
MISC_PATH="%{_pkgdocdir}" \
|
||||||
|
source-only
|
||||||
|
|
||||||
|
%install
|
||||||
|
%ifnarch x86_64
|
||||||
|
AFL_NO_X86=1 \
|
||||||
|
%endif
|
||||||
|
%{make_install} \
|
||||||
|
PREFIX="%{_prefix}" \
|
||||||
|
HELPER_PATH="%{afl_helper_path}" \
|
||||||
|
DOC_PATH="%{_pkgdocdir}" \
|
||||||
|
MAN_PATH="%{_mandir}/man8" \
|
||||||
|
MISC_PATH="%{_pkgdocdir}"
|
||||||
|
|
||||||
|
%ifnarch x86_64
|
||||||
|
# On non-x86 these files are built and installed but they don't
|
||||||
|
# function, so delete them. Only afl-clang-fast* works.
|
||||||
|
# afl-clang-fast* is a symlink to afl-cc / afl-c++ so we cannot delete
|
||||||
|
# those binaries.
|
||||||
|
rm $RPM_BUILD_ROOT%{_bindir}/afl-clang
|
||||||
|
rm $RPM_BUILD_ROOT%{_bindir}/afl-clang++
|
||||||
|
rm $RPM_BUILD_ROOT%{_bindir}/afl-gcc
|
||||||
|
rm $RPM_BUILD_ROOT%{_bindir}/afl-g++
|
||||||
|
rm $RPM_BUILD_ROOT%{_mandir}/man8/afl-cc.8*
|
||||||
|
rm $RPM_BUILD_ROOT%{_mandir}/man8/afl-c++.8*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# ERROR: No build ID note found in <.o file>
|
||||||
|
chmod -x $RPM_BUILD_ROOT%{afl_helper_path}/*.o
|
||||||
|
|
||||||
|
# Remove docs since we will package them using %%doc.
|
||||||
|
mv $RPM_BUILD_ROOT%{_pkgdocdir} pkg-docs
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license docs/COPYING
|
||||||
|
%doc pkg-docs/*
|
||||||
|
%ifarch x86_64
|
||||||
|
%{_bindir}/afl-g++
|
||||||
|
%{_bindir}/afl-gcc
|
||||||
|
%endif
|
||||||
|
%{_bindir}/afl-analyze
|
||||||
|
%{_bindir}/afl-addseeds
|
||||||
|
%{_bindir}/afl-cc
|
||||||
|
%{_bindir}/afl-c++
|
||||||
|
%{_bindir}/afl-cmin
|
||||||
|
%{_bindir}/afl-cmin.bash
|
||||||
|
%{_bindir}/afl-fuzz
|
||||||
|
%{_bindir}/afl-gcc-fast
|
||||||
|
%{_bindir}/afl-g++-fast
|
||||||
|
%{_bindir}/afl-gotcpu
|
||||||
|
%{_bindir}/afl-persistent-config
|
||||||
|
%{_bindir}/afl-plot
|
||||||
|
%{_bindir}/afl-showmap
|
||||||
|
%{_bindir}/afl-system-config
|
||||||
|
%{_bindir}/afl-tmin
|
||||||
|
%{_bindir}/afl-whatsup
|
||||||
|
%dir %{afl_helper_path}
|
||||||
|
%{afl_helper_path}/afl-as
|
||||||
|
%{afl_helper_path}/as
|
||||||
|
%if 0%{?__isa_bits} == 32
|
||||||
|
%{afl_helper_path}/afl-compiler-rt-32.o
|
||||||
|
%else
|
||||||
|
%{afl_helper_path}/afl-compiler-rt-64.o
|
||||||
|
%endif
|
||||||
|
%{afl_helper_path}/afl-compiler-rt.o
|
||||||
|
%{afl_helper_path}/afl-gcc-cmplog-pass.so
|
||||||
|
%{afl_helper_path}/afl-gcc-cmptrs-pass.so
|
||||||
|
%{afl_helper_path}/afl-gcc-pass.so
|
||||||
|
%{afl_helper_path}/afl-gcc-rt.o
|
||||||
|
%{afl_helper_path}/injection-pass.so
|
||||||
|
%ifarch x86_64
|
||||||
|
%{_mandir}/man8/afl-c++.8*
|
||||||
|
%{_mandir}/man8/afl-cc.8*
|
||||||
|
%endif
|
||||||
|
%{_mandir}/man8/afl-addseeds.8*
|
||||||
|
%{_mandir}/man8/afl-analyze.8*
|
||||||
|
%{_mandir}/man8/afl-as.8*
|
||||||
|
%{_mandir}/man8/afl-cmin.8*
|
||||||
|
%{_mandir}/man8/afl-cmin.bash.8*
|
||||||
|
%{_mandir}/man8/afl-fuzz.8*
|
||||||
|
%{_mandir}/man8/afl-gcc-fast.8*
|
||||||
|
%{_mandir}/man8/afl-g++-fast.8*
|
||||||
|
%{_mandir}/man8/afl-gotcpu.8*
|
||||||
|
%{_mandir}/man8/afl-plot.8*
|
||||||
|
%{_mandir}/man8/afl-persistent-config.8*
|
||||||
|
%{_mandir}/man8/afl-showmap.8*
|
||||||
|
%{_mandir}/man8/afl-system-config.8*
|
||||||
|
%{_mandir}/man8/afl-tmin.8*
|
||||||
|
%{_mandir}/man8/afl-whatsup.8*
|
||||||
|
|
||||||
|
|
||||||
|
%files clang
|
||||||
|
%license docs/COPYING
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
%{_bindir}/afl-clang
|
||||||
|
%{_bindir}/afl-clang++
|
||||||
|
%endif
|
||||||
|
%{_bindir}/afl-clang-fast
|
||||||
|
%{_bindir}/afl-clang-fast++
|
||||||
|
%ifarch x86_64
|
||||||
|
%{_bindir}/afl-clang-lto
|
||||||
|
%{_bindir}/afl-clang-lto++
|
||||||
|
%{_bindir}/afl-ld-lto
|
||||||
|
%{_bindir}/afl-lto
|
||||||
|
%{_bindir}/afl-lto++
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%{afl_helper_path}/afl-llvm-dict2file.so
|
||||||
|
%ifarch x86_64
|
||||||
|
%{afl_helper_path}/afl-llvm-lto-instrumentlist.so
|
||||||
|
%endif
|
||||||
|
%{afl_helper_path}/afl-llvm-pass.so
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
%if 0%{?__isa_bits} == 32
|
||||||
|
%{afl_helper_path}/afl-llvm-rt-lto-32.o
|
||||||
|
%else
|
||||||
|
%{afl_helper_path}/afl-llvm-rt-lto-64.o
|
||||||
|
%endif
|
||||||
|
%{afl_helper_path}/afl-llvm-rt-lto.o
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%{afl_helper_path}/cmplog-instructions-pass.so
|
||||||
|
%{afl_helper_path}/cmplog-routines-pass.so
|
||||||
|
%{afl_helper_path}/cmplog-switches-pass.so
|
||||||
|
%{afl_helper_path}/compare-transform-pass.so
|
||||||
|
%{afl_helper_path}/dynamic_list.txt
|
||||||
|
%{afl_helper_path}/libAFLDriver.a*
|
||||||
|
%{afl_helper_path}/libAFLQemuDriver.a
|
||||||
|
%{afl_helper_path}/libdislocator.so
|
||||||
|
%{afl_helper_path}/libtokencap.so
|
||||||
|
%ifarch x86_64
|
||||||
|
%{afl_helper_path}/SanitizerCoverageLTO.so
|
||||||
|
%endif
|
||||||
|
%{afl_helper_path}/SanitizerCoveragePCGUARD.so
|
||||||
|
%{afl_helper_path}/split-compares-pass.so
|
||||||
|
%{afl_helper_path}/split-switches-pass.so
|
||||||
|
|
||||||
|
%{_mandir}/man8/afl-clang-fast.8*
|
||||||
|
%{_mandir}/man8/afl-clang-fast++.8*
|
||||||
|
%ifarch x86_64
|
||||||
|
%{_mandir}/man8/afl-clang-lto.8.gz
|
||||||
|
%{_mandir}/man8/afl-clang-lto++.8.gz
|
||||||
|
%{_mandir}/man8/afl-lto.8.gz
|
||||||
|
%{_mandir}/man8/afl-lto++.8.gz
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Sat Apr 13 2024 liyancheng <412998149@qq.com> - 4.10c-1
|
||||||
|
- Type: Init
|
||||||
|
- ID: NA
|
||||||
|
- SUG: NA
|
||||||
|
- DESC: Init AFLplusplus repo.
|
||||||
Loading…
x
Reference in New Issue
Block a user