mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-16 11:58:08 +00:00
deprecate afl-gcc
This commit is contained in:
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
9
types.h
9
types.h
@ -80,7 +80,12 @@ typedef int64_t s64;
|
|||||||
#define MEM_BARRIER() \
|
#define MEM_BARRIER() \
|
||||||
asm volatile("" ::: "memory")
|
asm volatile("" ::: "memory")
|
||||||
|
|
||||||
#define likely(_x) __builtin_expect(!!(_x), 1)
|
#if __GNUC__ < 6
|
||||||
#define unlikely(_x) __builtin_expect(!!(_x), 0)
|
#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 */
|
#endif /* ! _HAVE_TYPES_H */
|
||||||
|
Reference in New Issue
Block a user