deprecate afl-gcc

This commit is contained in:
van Hauser
2019-07-16 08:51:00 +02:00
parent 9f07965876
commit 995eb0cd79
4 changed files with 14 additions and 4 deletions

View File

@ -311,6 +311,8 @@ int main(int argc, char** argv) {
} else be_quiet = 1; } 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) { if (argc < 2) {
SAYF("\n" SAYF("\n"

View File

@ -17,10 +17,12 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
Version ++2.52d (tbd): 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 - if llvm_mode was compiled, afl-clang/afl-clang++ will point to these
instead of afl-gcc instead of afl-gcc
- added gcc_plugin which is like llvm_mode but for gcc. This version - 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 - added instrim, a much faster llvm_mode instrumentation at the cost of
path discovery. See llvm_mode/README.instrim (https://github.com/csienslab/instrim) 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 - added MOpt (github.com/puppet-meteor/MOpt-AFL) mode, see docs/README.MOpt

View File

@ -3,6 +3,7 @@ Fast LLVM-based instrumentation for afl-fuzz
============================================ ============================================
(See ../docs/README for the general instruction manual.) (See ../docs/README for the general instruction manual.)
(See ../gcc_plugin/README.gcc for the GCC-based instrumentation.)
1) Introduction 1) Introduction
--------------- ---------------
@ -30,7 +31,7 @@ several interesting properties:
- The instrumentation can cope a bit better with multi-threaded targets. - The instrumentation can cope a bit better with multi-threaded targets.
- Because the feature relies on the internals of LLVM, it is clang-specific - 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 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 will probably replace afl-clang. For now, it can be built separately and

View File

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