aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-03-25 15:35:06 +0100
committervanhauser-thc <vh@thc.org>2021-03-25 15:35:06 +0100
commit0029c1a83ef03825c2d19c73151189f159458496 (patch)
tree6a21d22eaa597b57636b01feec76b8bc23c5d3c4 /src
parent447d232caf9fcd9e6e40c24d17000ff9b98ab693 (diff)
downloadafl++-0029c1a83ef03825c2d19c73151189f159458496.tar.gz
remove InsTrim
Diffstat (limited to 'src')
-rw-r--r--src/afl-cc.c50
-rw-r--r--src/afl-ld-lto.c20
2 files changed, 15 insertions, 55 deletions
diff --git a/src/afl-cc.c b/src/afl-cc.c
index 80fc0742..d134f013 100644
--- a/src/afl-cc.c
+++ b/src/afl-cc.c
@@ -66,7 +66,6 @@ enum {
INSTRUMENT_CLASSIC = 1,
INSTRUMENT_AFL = 1,
INSTRUMENT_PCGUARD = 2,
- INSTRUMENT_INSTRIM = 3,
INSTRUMENT_CFG = 3,
INSTRUMENT_LTO = 4,
INSTRUMENT_LLVMNATIVE = 5,
@@ -639,10 +638,6 @@ static void edit_params(u32 argc, char **argv, char **envp) {
cc_params[cc_par_cnt++] = "-Xclang";
cc_params[cc_par_cnt++] = "-load";
cc_params[cc_par_cnt++] = "-Xclang";
- if (instrument_mode == INSTRUMENT_CFG)
- cc_params[cc_par_cnt++] =
- alloc_printf("%s/libLLVMInsTrim.so", obj_path);
- else
cc_params[cc_par_cnt++] =
alloc_printf("%s/afl-llvm-pass.so", obj_path);
@@ -1252,8 +1247,7 @@ int main(int argc, char **argv, char **envp) {
strcasecmp(ptr, "CFG") == 0) {
- compiler_mode = LLVM;
- instrument_mode = INSTRUMENT_CFG;
+ FATAL("InsTrim instrumentation was removed. Use a modern LLVM and PCGUARD (default in afl-cc).\n");
} else if (strcasecmp(ptr, "AFL") == 0 ||
@@ -1319,10 +1313,7 @@ int main(int argc, char **argv, char **envp) {
if (getenv("AFL_LLVM_INSTRIM") || getenv("INSTRIM") ||
getenv("INSTRIM_LIB")) {
- if (instrument_mode == 0)
- instrument_mode = INSTRUMENT_CFG;
- else if (instrument_mode != INSTRUMENT_CFG)
- FATAL("you cannot set AFL_LLVM_INSTRUMENT and AFL_LLVM_INSTRIM together");
+ FATAL("InsTrim instrumentation was removed. Use a modern LLVM and PCGUARD (default in afl-cc).\n");
}
@@ -1409,17 +1400,7 @@ int main(int argc, char **argv, char **envp) {
if (strncasecmp(ptr2, "cfg", strlen("cfg")) == 0 ||
strncasecmp(ptr2, "instrim", strlen("instrim")) == 0) {
- if (instrument_mode == INSTRUMENT_LTO) {
-
- instrument_mode = INSTRUMENT_CFG;
- lto_mode = 1;
-
- } else if (!instrument_mode || instrument_mode == INSTRUMENT_CFG)
-
- instrument_mode = INSTRUMENT_CFG;
- else
- FATAL("main instrumentation mode already set with %s",
- instrument_mode_string[instrument_mode]);
+ FATAL("InsTrim instrumentation was removed. Use a modern LLVM and PCGUARD (default in afl-cc).\n");
}
@@ -1428,7 +1409,7 @@ int main(int argc, char **argv, char **envp) {
lto_mode = 1;
if (!instrument_mode || instrument_mode == INSTRUMENT_LTO)
instrument_mode = INSTRUMENT_LTO;
- else if (instrument_mode != INSTRUMENT_CFG)
+ else
FATAL("main instrumentation mode already set with %s",
instrument_mode_string[instrument_mode]);
@@ -1642,11 +1623,6 @@ int main(int argc, char **argv, char **envp) {
" - CALLER\n"
" - CTX\n"
" - NGRAM-{2-16}\n"
- " INSTRIM no yes module yes yes "
- " yes\n"
- " - NORMAL\n"
- " - CALLER\n"
- " - NGRAM-{2-16}\n"
" [GCC_PLUGIN] gcc plugin: %s%s\n"
" CLASSIC DEFAULT no yes no no no "
"yes\n"
@@ -1697,9 +1673,7 @@ int main(int argc, char **argv, char **envp) {
" CTX: CLASSIC + full callee context "
"(instrumentation/README.ctx.md)\n"
" NGRAM-x: CLASSIC + previous path "
- "((instrumentation/README.ngram.md)\n"
- " INSTRIM: Dominator tree (for LLVM <= 6.0) "
- "(instrumentation/README.instrim.md)\n\n");
+ "((instrumentation/README.ngram.md)\n\n");
#undef NATIVE_MSG
@@ -1791,19 +1765,15 @@ int main(int argc, char **argv, char **envp) {
" AFL_LLVM_CMPLOG: log operands of comparisons (RedQueen "
"mutator)\n"
" AFL_LLVM_INSTRUMENT: set instrumentation mode:\n"
- " CLASSIC, INSTRIM, PCGUARD, LTO, GCC, CLANG, CALLER, CTX, "
- "NGRAM-2 ..-16\n"
+ " CLASSIC, PCGUARD, LTO, GCC, CLANG, CALLER, CTX, NGRAM-2 ..-16\n"
" You can also use the old environment variables instead:\n"
" AFL_LLVM_USE_TRACE_PC: use LLVM trace-pc-guard instrumentation\n"
- " AFL_LLVM_INSTRIM: use light weight instrumentation InsTrim\n"
- " AFL_LLVM_INSTRIM_LOOPHEAD: optimize loop tracing for speed "
- "(option to INSTRIM)\n"
" AFL_LLVM_CALLER: use single context sensitive coverage (for "
"CLASSIC)\n"
" AFL_LLVM_CTX: use full context sensitive coverage (for "
"CLASSIC)\n"
" AFL_LLVM_NGRAM_SIZE: use ngram prev_loc count coverage (for "
- "CLASSIC & INSTRIM)\n");
+ "CLASSIC)\n");
#ifdef AFL_CLANG_FLTO
if (have_lto)
@@ -1951,11 +1921,7 @@ int main(int argc, char **argv, char **envp) {
"(requires LLVM 11 or higher)");
#endif
- if (instrument_opt_mode && instrument_mode == INSTRUMENT_CFG &&
- instrument_opt_mode & INSTRUMENT_OPT_CTX)
- FATAL("CFG instrumentation mode supports NGRAM and CALLER, but not CTX.");
- else if (instrument_opt_mode && instrument_mode != INSTRUMENT_CLASSIC)
- // we will drop CFG/INSTRIM in the future so do not advertise
+ if (instrument_opt_mode && instrument_mode != INSTRUMENT_CLASSIC)
FATAL(
"CALLER, CTX and NGRAM instrumentation options can only be used with "
"the LLVM CLASSIC instrumentation mode.");
diff --git a/src/afl-ld-lto.c b/src/afl-ld-lto.c
index 0a978653..8928ddc9 100644
--- a/src/afl-ld-lto.c
+++ b/src/afl-ld-lto.c
@@ -73,8 +73,7 @@ static u32 ld_param_cnt = 1; /* Number of params to 'ld' */
so we exploit this property to keep the code "simple". */
static void edit_params(int argc, char **argv) {
- u32 i, instrim = 0, gold_pos = 0, gold_present = 0, rt_present = 0,
- rt_lto_present = 0, inst_present = 0;
+ u32 i, gold_pos = 0, gold_present = 0, rt_present = 0, rt_lto_present = 0, inst_present = 0;
char *ptr;
ld_params = ck_alloc(4096 * sizeof(u8 *));
@@ -186,17 +185,16 @@ static void edit_params(int argc, char **argv) {
}
- if (getenv("AFL_LLVM_INSTRIM"))
- instrim = 1;
- else if ((ptr = getenv("AFL_LLVM_INSTRUMENT")) &&
- (strcasestr(ptr, "CFG") == 0 || strcasestr(ptr, "INSTRIM") == 0))
- instrim = 1;
+ if (getenv("AFL_LLVM_INSTRIM") ||
+ ((ptr = getenv("AFL_LLVM_INSTRUMENT")) &&
+ (strcasestr(ptr, "CFG") == 0 || strcasestr(ptr, "INSTRIM") == 0)))
+ FATAL("InsTrim was removed because it is not effective. Use a modern LLVM and PCGUARD (which is the default in afl-cc).\n");
if (debug)
DEBUGF(
- "passthrough=%s instrim=%u, gold_pos=%u, gold_present=%s "
+ "passthrough=%s, gold_pos=%u, gold_present=%s "
"inst_present=%s rt_present=%s rt_lto_present=%s\n",
- passthrough ? "true" : "false", instrim, gold_pos,
+ passthrough ? "true" : "false", gold_pos,
gold_present ? "true" : "false", inst_present ? "true" : "false",
rt_present ? "true" : "false", rt_lto_present ? "true" : "false");
@@ -230,10 +228,6 @@ static void edit_params(int argc, char **argv) {
if (!inst_present) {
- if (instrim)
- ld_params[ld_param_cnt++] =
- alloc_printf("-mllvm=-load=%s/afl-llvm-lto-instrim.so", afl_path);
- else
ld_params[ld_param_cnt++] = alloc_printf(
"-mllvm=-load=%s/afl-llvm-lto-instrumentation.so", afl_path);