deprecate afl-gcc
MODIFY
afl-gcc.c
afl-gcc.c
@@ -311,6 +311,8 @@ int main(int argc, char** argv) {
} else be_quiet = 1;
+ SAYF(cYEL "[!] " cBRI "WARNING: " cRST "afl-gcc is deprecated, gcc_plugin is faster, llvm_mode even faster\n");
+
if (argc < 2) {
SAYF("\n"

MODIFY
docs/ChangeLog
docs/ChangeLog
@@ -17,10 +17,12 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
Version ++2.52d (tbd):
-----------------------------
+ - Using the old ineffective afl-gcc will now show a deprecation warning
- if llvm_mode was compiled, afl-clang/afl-clang++ will point to these
instead of afl-gcc
- added gcc_plugin which is like llvm_mode but for gcc. This version
- supports gcc version 5 to 8. See gcc_plugin/README (https://github.com/T12z/afl)
+ supports gcc version 5 to 8. See gcc_plugin/README.gcc
+ (https://github.com/T12z/afl)
- added instrim, a much faster llvm_mode instrumentation at the cost of
path discovery. See llvm_mode/README.instrim (https://github.com/csienslab/instrim)
- added MOpt (github.com/puppet-meteor/MOpt-AFL) mode, see docs/README.MOpt

MODIFY
llvm_mode/README.llvm
llvm_mode/README.llvm
@@ -3,6 +3,7 @@ Fast LLVM-based instrumentation for afl-fuzz
============================================
(See ../docs/README for the general instruction manual.)
+ (See ../gcc_plugin/README.gcc for the GCC-based instrumentation.)
1) Introduction
---------------
@@ -30,7 +31,7 @@ several interesting properties:
- The instrumentation can cope a bit better with multi-threaded targets.
- Because the feature relies on the internals of LLVM, it is clang-specific
- and will *not* work with GCC.
+ and will *not* work with GCC (see ../gcc_plugin/ for an alternative).
Once this implementation is shown to be sufficiently robust and portable, it
will probably replace afl-clang. For now, it can be built separately and

MODIFY
types.h
types.h
@@ -80,7 +80,12 @@ typedef int64_t s64;
#define MEM_BARRIER() \
asm volatile("" ::: "memory")
+#if __GNUC__ < 6
+ #define likely(_x) (_x)
+ #define unlikely(_x) (_x)
+#else
#define likely(_x) __builtin_expect(!!(_x), 1)
#define unlikely(_x) __builtin_expect(!!(_x), 0)
+#endif
#endif /* ! _HAVE_TYPES_H */

deprecate afl-gcc