diff options
author | Andrea Fioraldi <andreafioraldi@gmail.com> | 2020-02-19 20:48:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-19 20:48:26 +0100 |
commit | 97d34b52d78ccc56b2c8a7f00173121652c34f29 (patch) | |
tree | 9f4908092ab48a2fbe73017515d2f21d39284ef0 /llvm_mode/afl-clang-fast.c | |
parent | 42af8ee0597cc01885b5c0b5a7556b3aaecd826b (diff) | |
parent | 0fce34ec1639edd8175c46b485eb6fd012ca8c18 (diff) | |
download | afl++-97d34b52d78ccc56b2c8a7f00173121652c34f29.tar.gz |
Merge pull request #202 from vanhauser-thc/cmplog_routines
Cmplog routines for LLVM mode
Diffstat (limited to 'llvm_mode/afl-clang-fast.c')
-rw-r--r-- | llvm_mode/afl-clang-fast.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/llvm_mode/afl-clang-fast.c b/llvm_mode/afl-clang-fast.c index 5e152e86..683b6bee 100644 --- a/llvm_mode/afl-clang-fast.c +++ b/llvm_mode/afl-clang-fast.c @@ -202,6 +202,14 @@ static void edit_params(u32 argc, char** argv) { if (cmplog_mode) { cc_params[cc_par_cnt++] = "-fsanitize-coverage=trace-pc-guard,trace-cmp"; + + cc_params[cc_par_cnt++] = "-Xclang"; + cc_params[cc_par_cnt++] = "-load"; + cc_params[cc_par_cnt++] = "-Xclang"; + cc_params[cc_par_cnt++] = + alloc_printf("%s/cmplog-routines-pass.so", obj_path); + + cc_params[cc_par_cnt++] = "-fno-inline"; } else { @@ -411,20 +419,12 @@ static void edit_params(u32 argc, char** argv) { switch (bit_mode) { case 0: - if (cmplog_mode) - cc_params[cc_par_cnt++] = - alloc_printf("%s/afl-llvm-cmplog-rt.o", obj_path); - else - cc_params[cc_par_cnt++] = alloc_printf("%s/afl-llvm-rt.o", obj_path); + cc_params[cc_par_cnt++] = alloc_printf("%s/afl-llvm-rt.o", obj_path); break; case 32: - if (cmplog_mode) - cc_params[cc_par_cnt++] = - alloc_printf("%s/afl-llvm-cmplog-rt-32.o", obj_path); - else - cc_params[cc_par_cnt++] = - alloc_printf("%s/afl-llvm-rt-32.o", obj_path); + cc_params[cc_par_cnt++] = + alloc_printf("%s/afl-llvm-rt-32.o", obj_path); if (access(cc_params[cc_par_cnt - 1], R_OK)) FATAL("-m32 is not supported by your compiler"); @@ -432,12 +432,8 @@ static void edit_params(u32 argc, char** argv) { break; case 64: - if (cmplog_mode) - cc_params[cc_par_cnt++] = - alloc_printf("%s/afl-llvm-cmplog-rt-64.o", obj_path); - else - cc_params[cc_par_cnt++] = - alloc_printf("%s/afl-llvm-rt-64.o", obj_path); + cc_params[cc_par_cnt++] = + alloc_printf("%s/afl-llvm-rt-64.o", obj_path); if (access(cc_params[cc_par_cnt - 1], R_OK)) FATAL("-m64 is not supported by your compiler"); |