The package rpms/american-fuzzy-lop.git has added or updated architecture specific content
in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/american-fuzzy-lop.git/commit/?id....
Change:
+%ifarch %{ix86} x86_64
Thanks.
Full change:
============
commit fd82b20aaf36531afebb0e5322897616ffc64029
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Fri Sep 3 10:44:12 2021 +0100
Add support for s390x (RHBZ#2000116)
See:
https://bugzilla.redhat.com/show_bug.cgi?id=2000116
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index 7d0da31..20abab1 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -4,7 +4,7 @@
Name: american-fuzzy-lop
Version: 3.14c
-Release: 3%{?dist}
+Release: 5%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -16,10 +16,9 @@ Source0:
https://github.com/AFLplusplus/AFLplusplus/archive/%{version}.tar
# For running the tests:
Source1: hello.c
-# Upstream includes armv7hl support as some non-integrated 'contrib'
-# files, so I have not enabled it here. No other arch is supported
-# without arch-specific changes.
-ExclusiveArch: %{ix86} x86_64
+# Only specific architectures are supported by upstream.
+# On non-x86 only afl-clang-fast* are built.
+ExclusiveArch: %{ix86} x86_64 s390x
BuildRequires: clang
BuildRequires: llvm-devel
@@ -70,6 +69,9 @@ This subpackage contains clang and clang++ support for
# interpret the .o/.a files. Disable LTO for now
%define _lto_cflags %{nil}
+%ifnarch %{ix86} x86_64
+AFL_NO_X86=1 \
+%endif
CFLAGS="%{optflags}" \
%{__make} %{?_smp_mflags} \
PREFIX="%{_prefix}" \
@@ -81,6 +83,9 @@ CFLAGS="%{optflags}" \
%install
+%ifnarch %{ix86} x86_64
+AFL_NO_X86=1 \
+%endif
%{make_install} \
PREFIX="%{_prefix}" \
HELPER_PATH="%{afl_helper_path}" \
@@ -88,6 +93,19 @@ CFLAGS="%{optflags}" \
MAN_PATH="%{_mandir}/man8" \
MISC_PATH="%{_pkgdocdir}"
+%ifnarch %{ix86} 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
+
# Otherwise we see:
# ERROR: No build ID note found in <.o file>
chmod -x $RPM_BUILD_ROOT%{afl_helper_path}/*.o
@@ -107,6 +125,7 @@ mv $RPM_BUILD_ROOT%{_pkgdocdir} pkg-docs
# This just checks that simple programs can be compiled using
# the compiler wrappers.
ln -s %{SOURCE1} hello.cpp
+%ifarch %{ix86} x86_64
./afl-gcc %{SOURCE1} -o hello
./hello
./afl-g++ hello.cpp -o hello
@@ -115,6 +134,7 @@ ln -s %{SOURCE1} hello.cpp
./hello
./afl-clang++ hello.cpp -o hello
./hello
+%endif
./afl-clang-fast %{SOURCE1} -o hello
./hello
./afl-clang-fast++ hello.cpp -o hello
@@ -126,14 +146,16 @@ test -n '%{clang_major}'
%files
%license docs/COPYING
%doc pkg-docs/*
+%ifarch %{ix86} x86_64
+%{_bindir}/afl-g++
+%{_bindir}/afl-gcc
+%endif
%{_bindir}/afl-analyze
%{_bindir}/afl-cc
%{_bindir}/afl-c++
%{_bindir}/afl-cmin
%{_bindir}/afl-cmin.bash
%{_bindir}/afl-fuzz
-%{_bindir}/afl-g++
-%{_bindir}/afl-gcc
%{_bindir}/afl-gotcpu
%{_bindir}/afl-plot
%{_bindir}/afl-showmap
@@ -149,10 +171,12 @@ test -n '%{clang_major}'
%{afl_helper_path}/afl-compiler-rt-64.o
%endif
%{afl_helper_path}/afl-compiler-rt.o
-%{_mandir}/man8/afl-analyze.8*
-%{_mandir}/man8/afl-as.8*
+%ifarch %{ix86} x86_64
%{_mandir}/man8/afl-c++.8*
%{_mandir}/man8/afl-cc.8*
+%endif
+%{_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*
@@ -166,8 +190,10 @@ test -n '%{clang_major}'
%files clang
%license docs/COPYING
+%ifarch %{ix86} x86_64
%{_bindir}/afl-clang
%{_bindir}/afl-clang++
+%endif
%{_bindir}/afl-clang-fast
%{_bindir}/afl-clang-fast++
%if 0%{?__isa_bits} == 32
@@ -195,6 +221,9 @@ test -n '%{clang_major}'
%changelog
+* Fri Sep 03 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.14c-5
+- Add support for s390x (RHBZ#2000116)
+
* Wed Aug 18 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.14c-3
- Rebuild for clang 13.
commit e96b9902e196253547a9132cb74d9020a32d519a
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Wed Aug 18 10:47:53 2021 +0100
Rebuild for clang 13.
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index c377e86..7d0da31 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -4,7 +4,7 @@
Name: american-fuzzy-lop
Version: 3.14c
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -195,6 +195,9 @@ test -n '%{clang_major}'
%changelog
+* Wed Aug 18 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.14c-3
+- Rebuild for clang 13.
+
* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.14c-2
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
commit a2d41d081eec0550efd562ae7baab12a977305a8
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Wed Jul 21 17:30:22 2021 +0000
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index ac220fb..c377e86 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -4,7 +4,7 @@
Name: american-fuzzy-lop
Version: 3.14c
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -195,6 +195,9 @@ test -n '%{clang_major}'
%changelog
+* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.14c-2
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
* Mon Jul 19 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.14c-1
- New upstream version 3.14c (RHBZ#1983648).
- Remove a few rogue "/usr/bin" in %%files section.
commit 4d02e7fc8ccedb94823bc2478c843712b3fb4fb1
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Wed Jul 21 12:34:56 2021 +0000
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit b40be8a8369c10f5b1a9a51f5d9d708e145121aa
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Mon Jul 19 12:47:42 2021 +0100
New upstream version 3.14c (RHBZ#1983648).
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index 30191e4..ac220fb 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -3,7 +3,7 @@
# versions. See also
https://bugzilla.redhat.com/1544964.
Name: american-fuzzy-lop
-Version: 3.13c
+Version: 3.14c
Release: 1%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -128,12 +128,12 @@ test -n '%{clang_major}'
%doc pkg-docs/*
%{_bindir}/afl-analyze
%{_bindir}/afl-cc
- /usr/bin/afl-c++
+%{_bindir}/afl-c++
%{_bindir}/afl-cmin
%{_bindir}/afl-cmin.bash
%{_bindir}/afl-fuzz
- /usr/bin/afl-g++
- /usr/bin/afl-gcc
+%{_bindir}/afl-g++
+%{_bindir}/afl-gcc
%{_bindir}/afl-gotcpu
%{_bindir}/afl-plot
%{_bindir}/afl-showmap
@@ -180,6 +180,7 @@ test -n '%{clang_major}'
%{afl_helper_path}/afl-llvm-pass.so
%{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*
@@ -194,6 +195,11 @@ test -n '%{clang_major}'
%changelog
+* Mon Jul 19 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.14c-1
+- New upstream version 3.14c (RHBZ#1983648).
+- Remove a few rogue "/usr/bin" in %%files section.
+- Add new file to afl_helper_path.
+
* Tue Jun 01 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.13c-1
- New upstream version 3.13c (RHBZ#1966720).
diff --git a/sources b/sources
index b69f2a4..09e8a9a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (3.13c.tar.gz) =
916a714deaf67969c9ac6e90bd2d8015a1e5188c8a8122f4d5d64ce4b841822de65458e469a47d4244358fab5e31ef4e52b8ec1432dcbd60d29aedf15e4c36fe
+SHA512 (3.14c.tar.gz) =
318607cff40b5f2fc94938747e2ac6b8f400767138eb39edf4daf320afbdab417d0d97a80a1c9db8bb557ad4b7b62f887ae6e692c376f5d5673a493bd23bb811
commit a035eb0708bc03031cec96047e52d1435f753be8
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Tue Jun 1 19:21:40 2021 +0100
Drop libLLVMInsTrim.so - no longer packaged.
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index e78d35e..30191e4 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -184,7 +184,6 @@ test -n '%{clang_major}'
%{afl_helper_path}/dynamic_list.txt
%{afl_helper_path}/libAFLDriver.a*
%{afl_helper_path}/libAFLQemuDriver.a
-%{afl_helper_path}/libLLVMInsTrim.so
%{afl_helper_path}/libdislocator.so
%{afl_helper_path}/libtokencap.so
%{afl_helper_path}/SanitizerCoveragePCGUARD.so
commit 5dff52a12c065c1704281fe00c7c7c21c39df171
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Tue Jun 1 19:16:31 2021 +0100
New upstream version 3.13c (RHBZ#1966720).
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index 7169879..e78d35e 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -3,8 +3,8 @@
# versions. See also
https://bugzilla.redhat.com/1544964.
Name: american-fuzzy-lop
-Version: 3.12c
-Release: 3%{?dist}
+Version: 3.13c
+Release: 1%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -195,6 +195,9 @@ test -n '%{clang_major}'
%changelog
+* Tue Jun 01 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.13c-1
+- New upstream version 3.13c (RHBZ#1966720).
+
* Sat May 15 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.12c-3
- Rebuild for previous commit.
diff --git a/sources b/sources
index 91b98be..b69f2a4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (3.12c.tar.gz) =
a814d61298b60d99388289e742dbedf2ed1ab454a5e1ea20d48bb2f18b36c01553ab1f097a06f733439d67e804d48cb823a82ff249c404fb0b83a281564f3040
+SHA512 (3.13c.tar.gz) =
916a714deaf67969c9ac6e90bd2d8015a1e5188c8a8122f4d5d64ce4b841822de65458e469a47d4244358fab5e31ef4e52b8ec1432dcbd60d29aedf15e4c36fe
commit 722f2a49857e0f043c7e2681be6229f977ba8e07
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Sat May 15 21:59:20 2021 +0100
Rebuild for previous commit.
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index 4797871..7169879 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -4,7 +4,7 @@
Name: american-fuzzy-lop
Version: 3.12c
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -195,6 +195,9 @@ test -n '%{clang_major}'
%changelog
+* Sat May 15 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.12c-3
+- Rebuild for previous commit.
+
* Mon May 10 2021 Jonathan Wakely <jwakely(a)redhat.com> - 3.12c-2
- Rebuilt for removed libstdc++ symbols (#1937698)
commit ca766e72a017e5d435118629a74a5d50e9abfe96
Author: Zbigniew Jędrzejewski-Szmek <zbyszek(a)in.waw.pl>
Date: Sat May 15 22:39:37 2021 +0200
Just compile against the default version of clang
Instead of specifying which version of clang is wanted, just
pull in "clang", and then ask it about its version. Saves a bit
of work on clang version changes.
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index 5c888b2..4797871 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -1,27 +1,6 @@
# We need to rebuild this package every time the clang major version
# changes, since clang releases are not ABI compatible between major
-# versions. See also
https://bugzilla.redhat.com/1544964
-%if 0%{?fedora} >= 34
-%global clang_major 12
-%endif
-%if 0%{?fedora} == 33
-%global clang_major 11
-%endif
-%if 0%{?fedora} == 32
-%global clang_major 10
-%endif
-%if 0%{?fedora} == 31
-%global clang_major 9
-%endif
-%if 0%{?fedora} == 30
-%global clang_major 8
-%endif
-%if 0%{?fedora} == 29
-%global clang_major 7
-%endif
-%if 0%{?fedora} == 28
-%global clang_major 6
-%endif
+# versions. See also
https://bugzilla.redhat.com/1544964.
Name: american-fuzzy-lop
Version: 3.12c
@@ -42,7 +21,7 @@ Source1: hello.c
# without arch-specific changes.
ExclusiveArch: %{ix86} x86_64
-BuildRequires: clang(major) = %{clang_major}
+BuildRequires: clang
BuildRequires: llvm-devel
BuildRequires: make
@@ -66,12 +45,15 @@ highly effective fuzzing strategies, requires essentially no
configuration, and seamlessly handles complex, real-world use cases -
say, common image parsing or file compression libraries.
+%global clang_major %(command -v clang >/dev/null && clang --version | sed -n
-r 's/clang version ([0-9]+).*/\\1/p')
%package clang
Summary: Clang and clang++ support for %{name}
Requires: %{name} = %{version}-%{release}
-Requires: clang(major) = %{clang_major}
+%if "%{clang_major}" != ""
+Requires: clang(major) = %{clang_major}
+%endif
%description clang
This subpackage contains clang and clang++ support for
@@ -138,6 +120,8 @@ ln -s %{SOURCE1} hello.cpp
./afl-clang-fast++ hello.cpp -o hello
./hello
+# Also check that we got the %%clang_major macro
+test -n '%{clang_major}'
%files
%license docs/COPYING
commit eb4558b3aa35bed4d1687b449bd8efc093f87bc7
Author: Jonathan Wakely <jwakely(a)redhat.com>
Date: Mon May 10 16:08:20 2021 +0100
Rebuilt for removed libstdc++ symbols (#1937698)
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index d20771a..5c888b2 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -25,7 +25,7 @@
Name: american-fuzzy-lop
Version: 3.12c
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -211,6 +211,9 @@ ln -s %{SOURCE1} hello.cpp
%changelog
+* Mon May 10 2021 Jonathan Wakely <jwakely(a)redhat.com> - 3.12c-2
+- Rebuilt for removed libstdc++ symbols (#1937698)
+
* Wed Mar 24 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.12c-1
- New upstream version 3.12c (RHBZ#1942625).
- Add afl-clang-fast(8) and afl-clang-fast++(8) man pages.
commit 90a6e18723ddab76d6e18fdc8477b4322792ae60
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Wed Mar 24 16:24:22 2021 +0000
New upstream version 3.12c (RHBZ#1942625).
- Add afl-clang-fast(8) and afl-clang-fast++(8) man pages.
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index a2d0ef8..d20771a 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -24,7 +24,7 @@
%endif
Name: american-fuzzy-lop
-Version: 3.11c
+Version: 3.12c
Release: 1%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -206,9 +206,15 @@ ln -s %{SOURCE1} hello.cpp
%{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*
%changelog
+* Wed Mar 24 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.12c-1
+- New upstream version 3.12c (RHBZ#1942625).
+- Add afl-clang-fast(8) and afl-clang-fast++(8) man pages.
+
* Tue Mar 16 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.11c-1
- New upstream version 3.11c (RHBZ#1939443).
diff --git a/sources b/sources
index adab096..91b98be 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (3.11c.tar.gz) =
9530e76e4f71b7d505e2e8c023c600913d59aa26927c8d112806e455878521c93442ea4e364d6ea26ad5751482d89451d80616026ade42a7200123b743cf7042
+SHA512 (3.12c.tar.gz) =
a814d61298b60d99388289e742dbedf2ed1ab454a5e1ea20d48bb2f18b36c01553ab1f097a06f733439d67e804d48cb823a82ff249c404fb0b83a281564f3040
commit c0a2af896ec6e488f77615c6bd8878cb8469529c
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Tue Mar 16 13:54:01 2021 +0000
New upstream version 3.11c (RHBZ#1939443).
diff --git a/.gitignore b/.gitignore
index 2dd77fb..1a82af4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
/afl-*.tgz
/v2.*b.tar.gz
-/3.10c.tar.gz
+/3.*c.tar.gz
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index a1848eb..a2d0ef8 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -24,7 +24,7 @@
%endif
Name: american-fuzzy-lop
-Version: 3.10c
+Version: 3.11c
Release: 1%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
@@ -32,7 +32,7 @@ Summary: Practical, instrumentation-driven fuzzer for binary
formats
License: ASL 2.0
URL:
https://aflplus.plus/
-Source0:
https://github.com/AFLplusplus/AFLplusplus/archive/3.10c.tar.gz
+Source0:
https://github.com/AFLplusplus/AFLplusplus/archive/%{version}.tar.gz
# For running the tests:
Source1: hello.c
@@ -209,6 +209,9 @@ ln -s %{SOURCE1} hello.cpp
%changelog
+* Tue Mar 16 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.11c-1
+- New upstream version 3.11c (RHBZ#1939443).
+
* Mon Mar 15 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.10c-1
- Switch to fork AFL++, see discussion on Fedora devel list.
- New upstream version 3.10c (RHBZ#1938600).
diff --git a/sources b/sources
index aa69fce..adab096 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (3.10c.tar.gz) =
c1cbb9b220f5590e06e8a6c4c88cfaa90ebee31f8e076c033c9c850e5e35b649eba1249e389baaf8d3d51595e5483f8269625925f3fa323007b264648fca6e5e
+SHA512 (3.11c.tar.gz) =
9530e76e4f71b7d505e2e8c023c600913d59aa26927c8d112806e455878521c93442ea4e364d6ea26ad5751482d89451d80616026ade42a7200123b743cf7042
commit 960a4cfbd3e667e2776bcbb65f138f08c9153c63
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Mon Mar 15 16:00:09 2021 +0000
Switch to fork AFL++, see discussion on Fedora devel list.
New upstream version 3.10c (RHBZ#1938600).
diff --git a/.gitignore b/.gitignore
index 21f02cb..2dd77fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/afl-*.tgz
/v2.*b.tar.gz
+/3.10c.tar.gz
diff --git a/american-fuzzy-lop.spec b/american-fuzzy-lop.spec
index b5e05d7..a1848eb 100644
--- a/american-fuzzy-lop.spec
+++ b/american-fuzzy-lop.spec
@@ -24,15 +24,15 @@
%endif
Name: american-fuzzy-lop
-Version: 2.57b
+Version: 3.10c
Release: 1%{?dist}
Summary: Practical, instrumentation-driven fuzzer for binary formats
License: ASL 2.0
-URL:
http://lcamtuf.coredump.cx/afl/
-Source0:
https://github.com/google/AFL/archive/v%{version}.tar.gz
+URL:
https://aflplus.plus/
+Source0:
https://github.com/AFLplusplus/AFLplusplus/archive/3.10c.tar.gz
# For running the tests:
Source1: hello.c
@@ -78,23 +78,8 @@ This subpackage contains clang and clang++ support for
%{name}.
-%package clang-fast
-Summary: Fast clang and clang++ support for %{name}
-Requires: %{name} = %{version}-%{release}
-Requires: clang(major) = %{clang_major}
-
-
-%description clang-fast
-This subpackage contains fast clang and clang++ support for
-%{name}.
-
-The code in this package allows you to instrument programs for AFL using
-true compiler-level instrumentation, instead of the more crude
-assembly-level rewriting approach taken by afl-gcc and afl-clang.
-
-
%prep
-%setup -q -n AFL-%{version}
+%setup -q -n AFLplusplus-%{version}
%build
@@ -108,42 +93,9 @@ CFLAGS="%{optflags}" \
PREFIX="%{_prefix}" \
HELPER_PATH="%{afl_helper_path}" \
DOC_PATH="%{_pkgdocdir}" \
- MISC_PATH="%{_pkgdocdir}"
-
-# Build afl-clang-fast.
-pushd llvm_mode
-
-# RPM flags include -mcet -fcf-protection which clang does not
-# understand, so we have to remove them for now. XXX
-%global flag_filter sed -e 's/-mcet//g' -e 's/-fcf-protection//g' -e
's/-fstack-clash-protection//g'
-
-# Build llvm-config wrapper around the right binary for this arch.
-%if 0%{?__isa_bits} == 32
-%global llvm_config %{_bindir}/llvm-config-32
-%else
-%global llvm_config %{_bindir}/llvm-config-64
-%endif
-rm -f llvm-config
-cat > llvm-config <<'EOF'
-#!/bin/sh
-%{llvm_config} "$@" | %{flag_filter}
-EOF
-chmod 0755 llvm-config
-cat ./llvm-config
-./llvm-config --cflags
-./llvm-config --cxxflags
-./llvm-config --ldflags
-
-fixed_cflags="$(echo %{optflags} | %{flag_filter})"
-CFLAGS="$fixed_cflags" \
-%{__make} %{?_smp_mflags} \
- PREFIX="%{_prefix}" \
- HELPER_PATH="%{afl_helper_path}" \
- DOC_PATH="%{_pkgdocdir}" \
+ MAN_PATH="%{_mandir}/man8" \
MISC_PATH="%{_pkgdocdir}" \
- LLVM_CONFIG="$(pwd)/llvm-config"
-
-popd
+ source-only
%install
@@ -151,6 +103,7 @@ popd
PREFIX="%{_prefix}" \
HELPER_PATH="%{afl_helper_path}" \
DOC_PATH="%{_pkgdocdir}" \
+ MAN_PATH="%{_mandir}/man8" \
MISC_PATH="%{_pkgdocdir}"
# Otherwise we see:
@@ -160,9 +113,13 @@ chmod -x $RPM_BUILD_ROOT%{afl_helper_path}/*.o
# This file is created when I build locally, but not when I build in
# Koji. Remove it so I can build locally.
%if 0%{?__isa_bits} == 64
+rm -f $RPM_BUILD_ROOT%{afl_helper_path}/afl-compiler-rt-32.o
rm -f $RPM_BUILD_ROOT%{afl_helper_path}/afl-llvm-rt-32.o
%endif
+# Remove docs since we will package them using %%doc.
+mv $RPM_BUILD_ROOT%{_pkgdocdir} pkg-docs
+
%check
# This just checks that simple programs can be compiled using
@@ -183,45 +140,79 @@ ln -s %{SOURCE1} hello.cpp
%files
-%doc docs/*
-%doc dictionaries/
-%doc experimental/
-%doc testcases/
+%license docs/COPYING
+%doc pkg-docs/*
%{_bindir}/afl-analyze
+%{_bindir}/afl-cc
+ /usr/bin/afl-c++
+%{_bindir}/afl-cmin
+%{_bindir}/afl-cmin.bash
%{_bindir}/afl-fuzz
-%{_bindir}/afl-gcc
-%{_bindir}/afl-g++
+ /usr/bin/afl-g++
+ /usr/bin/afl-gcc
+%{_bindir}/afl-gotcpu
%{_bindir}/afl-plot
%{_bindir}/afl-showmap
+%{_bindir}/afl-system-config
%{_bindir}/afl-tmin
-%{_bindir}/afl-cmin
-%{_bindir}/afl-gotcpu
%{_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
+%{_mandir}/man8/afl-analyze.8*
+%{_mandir}/man8/afl-as.8*
+%{_mandir}/man8/afl-c++.8*
+%{_mandir}/man8/afl-cc.8*
+%{_mandir}/man8/afl-cmin.8*
+%{_mandir}/man8/afl-cmin.bash.8*
+%{_mandir}/man8/afl-fuzz.8*
+%{_mandir}/man8/afl-gotcpu.8*
+%{_mandir}/man8/afl-plot.8*
+%{_mandir}/man8/afl-showmap.8*
+%{_mandir}/man8/afl-system-config.8*
+%{_mandir}/man8/afl-tmin.8*
+%{_mandir}/man8/afl-whatsup.8*
%files clang
-%doc docs/COPYING
+%license docs/COPYING
%{_bindir}/afl-clang
%{_bindir}/afl-clang++
-
-
-%files clang-fast
-%doc docs/COPYING llvm_mode/README.llvm
%{_bindir}/afl-clang-fast
%{_bindir}/afl-clang-fast++
-%{afl_helper_path}/afl-llvm-pass.so
%if 0%{?__isa_bits} == 32
%{afl_helper_path}/afl-llvm-rt-32.o
%else
%{afl_helper_path}/afl-llvm-rt-64.o
%endif
%{afl_helper_path}/afl-llvm-rt.o
+%{afl_helper_path}/afl-llvm-dict2file.so
+%{afl_helper_path}/afl-llvm-pass.so
+%{afl_helper_path}/cmplog-instructions-pass.so
+%{afl_helper_path}/cmplog-routines-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}/libLLVMInsTrim.so
+%{afl_helper_path}/libdislocator.so
+%{afl_helper_path}/libtokencap.so
+%{afl_helper_path}/SanitizerCoveragePCGUARD.so
+%{afl_helper_path}/split-compares-pass.so
+%{afl_helper_path}/split-switches-pass.so
%changelog
+* Mon Mar 15 2021 Richard W.M. Jones <rjones(a)redhat.com> - 3.10c-1
+- Switch to fork AFL++, see discussion on Fedora devel list.
+- New upstream version 3.10c (RHBZ#1938600).
+
* Tue Feb 23 2021 Richard W.M. Jones <rjones(a)redhat.com> - 2.57b-1
- New upstream version 2.57b.
- Clang 12 in Fedora 34+ (RHBZ#1932050).
diff --git a/sources b/sources
index 8fb8162..aa69fce 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (v2.57b.tar.gz) =
5d12b96229e966aeb11deb47cd8eb36cde2fa32656eb187db02c7240909d6acda36be59b2baf7e42cddd228d25ec94c8bffc3fa27f7f4b5e1e462b62929ce75d
+SHA512 (3.10c.tar.gz) =
c1cbb9b220f5590e06e8a6c4c88cfaa90ebee31f8e076c033c9c850e5e35b649eba1249e389baaf8d3d51595e5483f8269625925f3fa323007b264648fca6e5e