about summary refs log tree commit diff
path: root/instrumentation/afl-gcc-pass.so.cc
AgeCommit message (Collapse)Author
2023-01-03welcome 2023vanhauser-thc
2022-10-11fastexit + code formatvanhauser-thc
2022-09-23make gcc_plugin compilable for gcc 3.6.0hexcoder-
2022-07-12clang format 14vanhauser-thc
2022-07-04cmplog support for gcc_plugin by adacorevanhauser-thc
2022-04-08Fix GCC plugin crash when using deny/allow listMarc Poulhiès
The provided function declaration F may not have valid location information. Return an empty string in this case as the two callers are already using this convention to filter out functions from being instrumented when deny/allow list are used.
2022-01-01welcome 2022vanhauser-thc
2021-11-06http->httpsvanhauser-thc
2021-05-06instrumentation further move to C++11 (#900)David CARLIER
2021-01-08better gcc_plugin error msgvan Hauser
2021-01-08better gcc_plugin error msgvan Hauser
2021-01-05haiku fixvan Hauser
2021-01-04more code cleanup (instrumentation)hexcoder-
2020-12-20fix endless loop in afl-cc allow/blocklists starting a line with a commentvan Hauser
2020-12-15allow instrumenting LLVMFuzzerTestOneInputvan Hauser
2020-11-30more DEBUGFvan Hauser
2020-10-29fix warning on Debian 32 bithexcoder-
2020-09-13code formatDominik Maier
2020-09-11portability: make new gcc-plugin compilable under Ubuntu 16.04 (gcc 5.4.0)hexcoder-
2020-09-09fix for gcc_pluginvan Hauser
2020-09-08code-formatvan Hauser
2020-09-08rewrite gcc pluginAlexandre Oliva
When we started using AFL, it did not have an integrated GCC plugin. There was one proposed by Austin Seipp, but for various reasons we ended up using some of its infrastructure (runtime and wrapper), but writing the GCC plugin proper from scratch. With AFL++'s renewed interest in a GCC plugin, we rebased ours, with some features that are or were missing in the one that was integrated: * efficient, fully-functional inline and out-of-line instrumentation Inline instrumentation was work in progress in the original plugin. Controlled by AFL_GCC_OUT_OF_LINE. * reproducible instrumentation Obey -frandom-seed for pseudorandom number generation. * licensing clarity and strict compliance GPLv3+ for the plugin, that uses GCC internals; add a copy of the license, as required. * allow/deny list support Copied and adjusted from the LLVM plugin implementation. * neverZero support Not as compact as the asm-wrapper version, but likely more efficient. Both are quite thread-unsafe, with different caveats. Controlled with AFL_GCC_SKIP_NEVERZERO.
2020-09-05first batch of changesvanhauser-thc