From ab8fb84df05a1ac43ce3dfa1f97d911a77905195 Mon Sep 17 00:00:00 2001
From: msmeissn <>
Date: Jun 02 2021 20:26:30 +0000
Subject: Update afl to version 3.13c / rev 62 via SR 896671
https://build.opensuse.org/request/show/896671
by user msmeissn + dimstar_suse
- updated to 3.13c
- Note: plot_data switched to relative time from unix time in 3.10
- frida_mode - new mode that uses frida to fuzz binary-only targets,
it currently supports persistent mode and cmplog.
thanks to @WorksButNotTested!
- create a fuzzing dictionary with the help of CodeQL thanks to
@microsvuln! see utils/autodict_ql
- afl-fuzz:
- added patch by @realmadsci to support @@ as part of command line
options, e.g. `afl-fuzz ... -- ./target --infile=@@`
- add recording of previous fuzz attempts for persistent mode
to allow replay of non-reproducable crashes, see
AFL_PERSISTENT_RECORD in config.h and docs/envs.h
- fixed a bug when trimming for stdin targets
- cmplog -l: default cmplog level is now 2, better efficiency.
level
---
diff --git a/.files b/.files
index 2593bc0..aba310f 100644
Binary files a/.files and b/.files differ
diff --git a/.rev b/.rev
index a52fd7e..4f09671 100644
--- a/.rev
+++ b/.rev
@@ -790,4 +790,172 @@
- added NO_SPLICING compile option and makefile define (forwarded request 855999 from msmeissn)
856003
+
+ 3d07e873b06b3441070e7b6eb6bb5924
+ 3.10c
+
+ RBrownSUSE
+ - update to 3.10c
+ - Mac OS ARM64 support
+ - Android support fixed and updated by Joey Jiaojg - thanks!
+ - New selective instrumentation option with __AFL_COVERAGE_* commands
+ to be placed in the source code.
+ Check out instrumentation/README.instrument_list.md
+ - afl-fuzz
+ - Making AFL_MAP_SIZE (mostly) obsolete - afl-fuzz now learns on
+ start the target map size
+ - upgraded cmplog/redqueen: solving for floating point, solving
+ transformations (e.g. toupper, tolower, to/from hex, xor,
+ arithmetics, etc.). This is costly hence new command line option
+ `-l` that sets the intensity (values 1 to 3). Recommended is 2.
+ - added `AFL_CMPLOG_ONLY_NEW` to not use cmplog on initial seeds
+ from `-i` or resumes (these have most likely already been done)
+ - fix crash for very, very fast targets+systems (thanks to mhlakhani
+ for reporting)
+ - on restarts (`-i`)/autoresume (AFL_AUTORESUME) the stats are now
+ reloaded and used, thanks to Vimal Joseph for this patch!
+ - changed the meaning of '+' of the '-t' option, it now means to
+ auto-calculate the timeout with the value given being the max
+ timeout. The original meaning of skipping timeouts instead of
+ abort is now inherent to the -t option.
+ - if deterministic mode is active (`-D`, or `-M` without `-d`) then
+ we sync after every queue entry as this can take very long time
+ otherwise
+ - added minimum SYNC_TIME to include/config.h (30 minutes default)
+ - better detection if a target needs a large shared map
+ - fix for `-Z`
+ - fixed a few crashes
+ 875949
+
+
+ 7f5a05221f1576acc954841ca903a41a
+ 3.11c
+
+ RBrownSUSE
+ - updated to 3.11c
+ - afl-fuzz:
+ - better auto detection of map size
+ - fix sanitizer settings (bug since 3.10c)
+ - fix an off-by-one overwrite in cmplog
+ - add non-unicode variants from unicode-looking dictionary entries
+ - Rust custom mutator API improvements
+ - Imported crash stats painted yellow on resume (only new ones are red)
+ - afl-cc:
+ - added AFL_NOOPT that will just pass everything to the normal
+ gcc/clang compiler without any changes - to pass weird configure
+ scripts
+ - fixed a crash that can occur with ASAN + CMPLOG together plus
+ better support for unicode (thanks to @stbergmann for reporting!)
+ - fixed a crash in LAF transform for empty strings
+ - handle erroneous setups in which multiple afl-compiler-rt are
+ compiled into the target. This now also supports dlopen()
+ instrumented libs loaded before the forkserver and even after the
+ forkserver is started (then with collisions though)
+ - the compiler rt was added also in object building (-c) which
+ should have been fixed years ago but somewhere got lost :(
+ - Renamed CTX to CALLER, added correct/real CTX implementation to
+ CLASSIC
+ - qemu_mode:
+ - added AFL_QEMU_EXCLUDE_RANGES env by @realmadsci, thanks!
+ - if no new/updated checkout is wanted, build with:
+ NO_CHECKOUT=1 ./build_qemu_support.sh
+ - we no longer perform a "git drop"
+ - afl-cmin: support filenames with spaces
+- afl-3.0c-fix-paths.patch: refreshed (forwarded request 879398 from msmeissn)
+ 879399
+
+
+ 47a25c4dc123fb7ba4ea3d9b657671a2
+ 3.12c
+
+ RBrownSUSE
+ - updated to 3.12c
+ - afl-fuzz:
+ - added AFL_TARGET_ENV variable to pass extra env vars to the target
+ (for things like LD_LIBRARY_PATH)
+ - fix map detection, AFL_MAP_SIZE not needed anymore for most cases
+ - fix counting favorites (just a display thing)
+ - afl-cc:
+ - fix cmplog rtn (rare crash and not being able to gather ptr data)
+ - fix our own PCGUARD implementation to compile with llvm 10.0.1
+ - link runtime not to shared libs
+ - ensure shared libraries are properly built and instrumented
+ - AFL_LLVM_INSTRUMENT_ALLOW/DENY were not implemented for LTO, added
+ - show correct LLVM PCGUARD NATIVE mode when auto switching to it
+ and keep fsanitize-coverage-*list=...
+ Short mnemnonic NATIVE is now also accepted.
+ - qemu_mode (thanks @realmadsci):
+ - move AFL_PRELOAD and AFL_USE_QASAN logic inside afl-qemu-trace
+ - add AFL_QEMU_CUSTOM_BIN
+ - unicorn_mode
+ - accidently removed the subfolder from github, re-added
+ - added DEFAULT_PERMISSION to config.h for all files created, default
+ to 0600 (forwarded request 881188 from msmeissn)
+ 881268
+
+
+ adf61607e46eb48a424e9f50d01c5058
+ 3.12c
+
+ RBrownSUSE
+ - Fix packaging on aarch64 and %{arm} (forwarded request 881925 from Guillaume_G)
+ 881926
+
+
+ 77811a2fda1763331dccd4d94c11b47a
+ 3.12c
+
+ RBrownSUSE
+ - install `afl-clang-lto`, recommended by upstream as the best variant
+ - add dependency on `lld`
+ - bump llvm-devel up to >= 11.0.0
+- fix /usr/bin/env path in afl.cmin scripts
+- prevent stripping of runtime objects (fix bug 1184324) (forwarded request 882850 from haasn)
+ 882886
+
+
+ 21277fc89eb4614f9ce6cefa7321d83c
+ 3.12c
+
+ RBrownSUSE
+ - Fix packaging for aarch64 and %arm (forwarded request 884046 from Guillaume_G)
+ 884083
+
+
+ c7d20b09976f613e5192b628a3442cc6
+ 3.13c
+
+ dimstar_suse
+ - updated to 3.13c
+ - Note: plot_data switched to relative time from unix time in 3.10
+ - frida_mode - new mode that uses frida to fuzz binary-only targets,
+ it currently supports persistent mode and cmplog.
+ thanks to @WorksButNotTested!
+ - create a fuzzing dictionary with the help of CodeQL thanks to
+ @microsvuln! see utils/autodict_ql
+ - afl-fuzz:
+ - added patch by @realmadsci to support @@ as part of command line
+ options, e.g. `afl-fuzz ... -- ./target --infile=@@`
+ - add recording of previous fuzz attempts for persistent mode
+ to allow replay of non-reproducable crashes, see
+ AFL_PERSISTENT_RECORD in config.h and docs/envs.h
+ - fixed a bug when trimming for stdin targets
+ - cmplog -l: default cmplog level is now 2, better efficiency.
+ level 3 now performs redqueen on everything. use with care.
+ - better fuzzing strategy yield display for enabled options
+ - ensure one fuzzer sync per cycle
+ - fix afl_custom_queue_new_entry original file name when syncing
+ from fuzzers
+ - fixed a crash when more than one custom mutator was used together
+ with afl_custom_post_process
+ - on a crashing seed potentially the wrong input was disabled
+ - added AFL_EXIT_ON_SEED_ISSUES env that will exit if a seed in
+ -i dir crashes the target or results in a timeout. By default
+ afl++ ignores these and uses them for splicing instead.
+ - added AFL_EXIT_ON_TIME env that will make afl-fuzz exit fuzzing
+ after no new paths have been found for n seconds
+ - when AFL_FAST_CAL is set a variable path will now be calibrated
+ 8 times instead of originally 40. Long calibration is now 20. (forwarded request 896670 from msmeissn)
+ 896671
+
diff --git a/3.0c.tar.gz b/3.0c.tar.gz
deleted file mode 120000
index f86c241..0000000
--- a/3.0c.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeie6w47dkl5oau4vcxn6jyhtn4mki2z7pka5orrrp7wivos37mau6a
\ No newline at end of file
diff --git a/3.13c.tar.gz b/3.13c.tar.gz
new file mode 120000
index 0000000..3f08597
--- /dev/null
+++ b/3.13c.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeig3olp3awrfstolhx3qczx4g24hpgpwarvdmtdbfow55aic3lke6u
\ No newline at end of file
diff --git a/afl-3.0c-fix-paths.patch b/afl-3.0c-fix-paths.patch
index cf9e809..c3103b8 100644
--- a/afl-3.0c-fix-paths.patch
+++ b/afl-3.0c-fix-paths.patch
@@ -1,7 +1,7 @@
-Index: AFLplusplus-3.0c/GNUmakefile
+Index: AFLplusplus-3.11c/GNUmakefile
===================================================================
---- AFLplusplus-3.0c.orig/GNUmakefile
-+++ AFLplusplus-3.0c/GNUmakefile
+--- AFLplusplus-3.11c.orig/GNUmakefile
++++ AFLplusplus-3.11c/GNUmakefile
@@ -21,8 +21,8 @@ HASH=\#
PREFIX ?= /usr/local
@@ -11,12 +11,12 @@ Index: AFLplusplus-3.0c/GNUmakefile
+HELPER_PATH = $(LIBEXEC_DIR)/afl
+DOC_PATH = $(DOC_DIR)/afl
MISC_PATH = $(PREFIX)/share/afl
- MAN_PATH = $(PREFIX)/man/man8
+ MAN_PATH = $(PREFIX)/share/man/man8
-Index: AFLplusplus-3.0c/GNUmakefile.llvm
+Index: AFLplusplus-3.11c/GNUmakefile.llvm
===================================================================
---- AFLplusplus-3.0c.orig/GNUmakefile.llvm
-+++ AFLplusplus-3.0c/GNUmakefile.llvm
+--- AFLplusplus-3.11c.orig/GNUmakefile.llvm
++++ AFLplusplus-3.11c/GNUmakefile.llvm
@@ -20,9 +20,9 @@
HASH=\#
diff --git a/afl.changes b/afl.changes
index 9444faf..6e2edd5 100644
--- a/afl.changes
+++ b/afl.changes
@@ -1,4 +1,217 @@
-------------------------------------------------------------------
+Tue Jun 1 10:36:06 UTC 2021 - Marcus Meissner
+
+- updated to 3.13c
+ - Note: plot_data switched to relative time from unix time in 3.10
+ - frida_mode - new mode that uses frida to fuzz binary-only targets,
+ it currently supports persistent mode and cmplog.
+ thanks to @WorksButNotTested!
+ - create a fuzzing dictionary with the help of CodeQL thanks to
+ @microsvuln! see utils/autodict_ql
+ - afl-fuzz:
+ - added patch by @realmadsci to support @@ as part of command line
+ options, e.g. `afl-fuzz ... -- ./target --infile=@@`
+ - add recording of previous fuzz attempts for persistent mode
+ to allow replay of non-reproducable crashes, see
+ AFL_PERSISTENT_RECORD in config.h and docs/envs.h
+ - fixed a bug when trimming for stdin targets
+ - cmplog -l: default cmplog level is now 2, better efficiency.
+ level 3 now performs redqueen on everything. use with care.
+ - better fuzzing strategy yield display for enabled options
+ - ensure one fuzzer sync per cycle
+ - fix afl_custom_queue_new_entry original file name when syncing
+ from fuzzers
+ - fixed a crash when more than one custom mutator was used together
+ with afl_custom_post_process
+ - on a crashing seed potentially the wrong input was disabled
+ - added AFL_EXIT_ON_SEED_ISSUES env that will exit if a seed in
+ -i dir crashes the target or results in a timeout. By default
+ afl++ ignores these and uses them for splicing instead.
+ - added AFL_EXIT_ON_TIME env that will make afl-fuzz exit fuzzing
+ after no new paths have been found for n seconds
+ - when AFL_FAST_CAL is set a variable path will now be calibrated
+ 8 times instead of originally 40. Long calibration is now 20.
+ - added AFL_TRY_AFFINITY to try to bind to CPUs but don't error if
+ it fails
+ - afl-cc:
+ - We do not support llvm versions prior 6.0 anymore
+ - added thread safe counters to all modes (`AFL_LLVM_THREADSAFE_INST`),
+ note that this disables NeverZero counters.
+ - Fix for -pie compiled binaries with default afl-clang-fast PCGUARD
+ - Leak Sanitizer (AFL_USE_LSAN) added by Joshua Rogers, thanks!
+ - Removed InsTrim instrumentation as it is not as good as PCGUARD
+ - Removed automatic linking with -lc++ for LTO mode
+ - Fixed a crash in llvm dict2file when a strncmp length was -1
+ - added --afl-noopt support
+ - utils/aflpp_driver:
+ - aflpp_qemu_driver_hook fixed to work with qemu_mode
+ - aflpp_driver now compiled with -fPIC
+ - unicornafl:
+ - fix MIPS delay slot caching, thanks @JackGrence
+ - fixed aarch64 exit address
+ - execution no longer stops at address 0x0
+ - updated afl-system-config to support Arch Linux weirdness and increase
+ MacOS shared memory
+ - updated the grammar custom mutator to the newest version
+ - add -d (add dead fuzzer stats) to afl-whatsup
+ - added AFL_PRINT_FILENAMES to afl-showmap/cmin to print the
+ current filename
+ - afl-showmap/cmin will now process queue items in alphabetical order
+
+-------------------------------------------------------------------
+Fri Apr 9 12:25:49 UTC 2021 - Guillaume GARDET
+
+- Fix packaging for aarch64 and %arm
+
+-------------------------------------------------------------------
+Sat Apr 3 23:31:18 UTC 2021 - Niklas Haas
+
+- install `afl-clang-lto`, recommended by upstream as the best variant
+ - add dependency on `lld`
+ - bump llvm-devel up to >= 11.0.0
+- fix /usr/bin/env path in afl.cmin scripts
+- prevent stripping of runtime objects (fix bug 1184324)
+
+-------------------------------------------------------------------
+Mon Mar 29 12:29:54 UTC 2021 - Guillaume GARDET
+
+- Fix packaging on aarch64 and %{arm}
+
+-------------------------------------------------------------------
+Wed Mar 24 16:30:39 UTC 2021 - Marcus Meissner
+
+- updated to 3.12c
+ - afl-fuzz:
+ - added AFL_TARGET_ENV variable to pass extra env vars to the target
+ (for things like LD_LIBRARY_PATH)
+ - fix map detection, AFL_MAP_SIZE not needed anymore for most cases
+ - fix counting favorites (just a display thing)
+ - afl-cc:
+ - fix cmplog rtn (rare crash and not being able to gather ptr data)
+ - fix our own PCGUARD implementation to compile with llvm 10.0.1
+ - link runtime not to shared libs
+ - ensure shared libraries are properly built and instrumented
+ - AFL_LLVM_INSTRUMENT_ALLOW/DENY were not implemented for LTO, added
+ - show correct LLVM PCGUARD NATIVE mode when auto switching to it
+ and keep fsanitize-coverage-*list=...
+ Short mnemnonic NATIVE is now also accepted.
+ - qemu_mode (thanks @realmadsci):
+ - move AFL_PRELOAD and AFL_USE_QASAN logic inside afl-qemu-trace
+ - add AFL_QEMU_CUSTOM_BIN
+ - unicorn_mode
+ - accidently removed the subfolder from github, re-added
+ - added DEFAULT_PERMISSION to config.h for all files created, default
+ to 0600
+
+-------------------------------------------------------------------
+Tue Mar 16 07:43:01 UTC 2021 - Marcus Meissner
+
+- updated to 3.11c
+ - afl-fuzz:
+ - better auto detection of map size
+ - fix sanitizer settings (bug since 3.10c)
+ - fix an off-by-one overwrite in cmplog
+ - add non-unicode variants from unicode-looking dictionary entries
+ - Rust custom mutator API improvements
+ - Imported crash stats painted yellow on resume (only new ones are red)
+ - afl-cc:
+ - added AFL_NOOPT that will just pass everything to the normal
+ gcc/clang compiler without any changes - to pass weird configure
+ scripts
+ - fixed a crash that can occur with ASAN + CMPLOG together plus
+ better support for unicode (thanks to @stbergmann for reporting!)
+ - fixed a crash in LAF transform for empty strings
+ - handle erroneous setups in which multiple afl-compiler-rt are
+ compiled into the target. This now also supports dlopen()
+ instrumented libs loaded before the forkserver and even after the
+ forkserver is started (then with collisions though)
+ - the compiler rt was added also in object building (-c) which
+ should have been fixed years ago but somewhere got lost :(
+ - Renamed CTX to CALLER, added correct/real CTX implementation to
+ CLASSIC
+ - qemu_mode:
+ - added AFL_QEMU_EXCLUDE_RANGES env by @realmadsci, thanks!
+ - if no new/updated checkout is wanted, build with:
+ NO_CHECKOUT=1 ./build_qemu_support.sh
+ - we no longer perform a "git drop"
+ - afl-cmin: support filenames with spaces
+- afl-3.0c-fix-paths.patch: refreshed
+
+-------------------------------------------------------------------
+Mon Mar 1 09:43:40 UTC 2021 - Marcus Meissner
+
+- update to 3.10c
+ - Mac OS ARM64 support
+ - Android support fixed and updated by Joey Jiaojg - thanks!
+ - New selective instrumentation option with __AFL_COVERAGE_* commands
+ to be placed in the source code.
+ Check out instrumentation/README.instrument_list.md
+ - afl-fuzz
+ - Making AFL_MAP_SIZE (mostly) obsolete - afl-fuzz now learns on
+ start the target map size
+ - upgraded cmplog/redqueen: solving for floating point, solving
+ transformations (e.g. toupper, tolower, to/from hex, xor,
+ arithmetics, etc.). This is costly hence new command line option
+ `-l` that sets the intensity (values 1 to 3). Recommended is 2.
+ - added `AFL_CMPLOG_ONLY_NEW` to not use cmplog on initial seeds
+ from `-i` or resumes (these have most likely already been done)
+ - fix crash for very, very fast targets+systems (thanks to mhlakhani
+ for reporting)
+ - on restarts (`-i`)/autoresume (AFL_AUTORESUME) the stats are now
+ reloaded and used, thanks to Vimal Joseph for this patch!
+ - changed the meaning of '+' of the '-t' option, it now means to
+ auto-calculate the timeout with the value given being the max
+ timeout. The original meaning of skipping timeouts instead of
+ abort is now inherent to the -t option.
+ - if deterministic mode is active (`-D`, or `-M` without `-d`) then
+ we sync after every queue entry as this can take very long time
+ otherwise
+ - added minimum SYNC_TIME to include/config.h (30 minutes default)
+ - better detection if a target needs a large shared map
+ - fix for `-Z`
+ - fixed a few crashes
+ - switched to an even faster RNG
+ - added hghwng's patch for faster trace map analysis
+ - printing suggestions for mistyped `AFL_` env variables
+ - added Rust bindings for custom mutators (thanks @julihoh)
+ - afl-cc
+ - allow instrumenting LLVMFuzzerTestOneInput
+ - fixed endless loop for allow/blocklist lines starting with a
+ comment (thanks to Zherya for reporting)
+ - cmplog/redqueen now also tracks floating point, _ExtInt() + 128bit
+ - cmplog/redqueen can now process basic libc++ and libstdc++
+ std::string comparisons (no position or length type variants)
+ - added support for __afl_coverage_interesting() for LTO and our
+ own PCGUARD (llvm 10.0.1+), read more about this function and
+ selective coverage in instrumentation/README.instrument_list.md
+ - added AFL_LLVM_INSTRUMENT option NATIVE for native clang pc-guard
+ support (less performant than our own), GCC for old afl-gcc and
+ CLANG for old afl-clang
+ - fixed a potential crash in the LAF feature
+ - workaround for llvm bitcast lto bug
+ - workaround for llvm 13
+ - qemuafl
+ - QASan (address sanitizer for Qemu) ported to qemuafl!
+ See qemu_mode/libqasan/README.md
+ - solved some persistent mode bugs (thanks Dil4rd)
+ - solved an issue when dumping the memory maps (thanks wizche)
+ - Android support for QASan
+ - unicornafl
+ - Substantial speed gains in python bindings for certain use cases
+ - Improved rust bindings
+ - Added a new example harness to compare python, c and rust bindings
+ - afl-cmin and afl-showmap now support the -f option
+ - afl_plot now also generates a graph on the discovered edges
+ - changed default: no memory limit for afl-cmin and afl-cmin.bash
+ - warn on any _AFL and __AFL env vars.
+ - set AFL_IGNORE_UNKNOWN_ENVS to not warn on unknown AFL_... env vars
+ - added dummy Makefile to instrumentation/
+ - Updated utils/afl_frida to be 5% faster, 7% on x86_x64
+ - Added `AFL_KILL_SIGNAL` env variable (thanks @v-p-b)
+ - @Edznux added a nice documentation on how to use rpc.statsd with
+ afl++ in docs/rpc_statsd.md, thanks!
+
+-------------------------------------------------------------------
Tue Dec 15 09:18:09 UTC 2020 - Marcus Meissner
- updated to 3.0c
diff --git a/afl.spec b/afl.spec
index 0db8548..1bbeb94 100644
--- a/afl.spec
+++ b/afl.spec
@@ -1,7 +1,7 @@
#
# spec file for package afl
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,16 +17,20 @@
Name: afl
-Version: 3.0c
+Version: 3.13c
Release: 0
Summary: American fuzzy lop is a security-oriented fuzzer
License: Apache-2.0
URL: http://lcamtuf.coredump.cx/afl/
-Source: https://github.com/vanhauser-thc/AFLplusplus/archive/%{version}.tar.gz
+Source: https://github.com/AFLplusplus/AFLplusplus/archive/%{version}.tar.gz
Source1: afl-rpmlintrc
Patch1: afl-3.0c-fix-paths.patch
+BuildRequires: clang
BuildRequires: gcc-c++
+BuildRequires: lld
+BuildRequires: llvm-devel >= 11.0.0
BuildRequires: python3-devel
+Requires: lld
%description
American fuzzy lop is a security-oriented fuzzer that employs a novel type
@@ -46,14 +50,15 @@ use cases - say, common image parsing or file compression libraries.
%prep
%setup -q -n AFLplusplus-%version
%patch1 -p1
-sed -i 's|#!/usr/bin/env bash|#!/bin/bash|g' afl-cmin
+sed -i 's|#!/usr/bin/env sh|#!/bin/sh|g' afl-cmin
+sed -i 's|#!/usr/bin/env bash|#!/bin/bash|g' afl-cmin.bash
%build
-export CFLAGS="$CFLAGS %{optflags}"
+export CFLAGS="$CFLAGS %{optflags} -fno-lto"
%ifnarch %{ix86} x86_64
export AFL_NO_X86=1
%endif
-make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_docdir}
+make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_docdir}
# make radamsa
%install
@@ -61,6 +66,7 @@ make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_doc
export AFL_NO_X86=1
%endif
make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_docdir} MAN_PATH=%{_mandir}/man8 DESTDIR=%{buildroot} install
+chmod -x %{buildroot}/%{_libexecdir}/%{name}/*.o
%files
%license docs/COPYING LICENSE
@@ -69,17 +75,25 @@ make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_doc
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/%{name}-as
%{_libexecdir}/%{name}/as
-%ifarch x86_64 ppc64 ppc64le s390x
+%ifarch x86_64 aarch64 ppc64 ppc64le s390x
%{_libexecdir}/%{name}/afl-compiler-rt-64.o
%{_libexecdir}/%{name}/afl-llvm-rt-64.o
+%{_libexecdir}/%{name}/afl-llvm-rt-lto-64.o
%endif
-%ifarch %ix86
+%ifarch %ix86 %{arm}
%{_libexecdir}/%{name}/afl-compiler-rt-32.o
%{_libexecdir}/%{name}/afl-llvm-rt-32.o
%endif
+%ifarch %ix86 aarch64
+%{_libexecdir}/%{name}/afl-llvm-rt-lto-32.o
+%endif
%{_libexecdir}/%{name}/afl-compiler-rt.o
%{_libexecdir}/%{name}/afl-llvm-rt.o
+%ifnarch %{arm}
+%{_libexecdir}/%{name}/afl-llvm-rt-lto.o
+%endif
%{_libexecdir}/%{name}/dynamic_list.txt
+%{_libexecdir}/%{name}/*.so
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/testcases
%{_datadir}/%{name}/testcases/*