mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 02:58:08 +00:00
require llvm 10.0.1+ for enhanced pcguard, correct 1MB checks
This commit is contained in:
@ -501,7 +501,7 @@ static void edit_params(u32 argc, char **argv, char **envp) {
|
|||||||
|
|
||||||
if (instrument_mode == INSTRUMENT_PCGUARD) {
|
if (instrument_mode == INSTRUMENT_PCGUARD) {
|
||||||
|
|
||||||
#if LLVM_MAJOR >= 10
|
#if LLVM_MAJOR >= 10 || (LLVM_MAJOR == 10 && LLVM_MINOR > 0)
|
||||||
cc_params[cc_par_cnt++] = "-Xclang";
|
cc_params[cc_par_cnt++] = "-Xclang";
|
||||||
cc_params[cc_par_cnt++] = "-load";
|
cc_params[cc_par_cnt++] = "-load";
|
||||||
cc_params[cc_par_cnt++] = "-Xclang";
|
cc_params[cc_par_cnt++] = "-Xclang";
|
||||||
@ -511,7 +511,7 @@ static void edit_params(u32 argc, char **argv, char **envp) {
|
|||||||
#if LLVM_MAJOR >= 4
|
#if LLVM_MAJOR >= 4
|
||||||
if (!be_quiet)
|
if (!be_quiet)
|
||||||
SAYF(
|
SAYF(
|
||||||
"Using unoptimized trace-pc-guard, upgrade to llvm 10+ for "
|
"Using unoptimized trace-pc-guard, upgrade to llvm 10.0.1+ for "
|
||||||
"enhanced version.\n");
|
"enhanced version.\n");
|
||||||
cc_params[cc_par_cnt++] = "-fsanitize-coverage=trace-pc-guard";
|
cc_params[cc_par_cnt++] = "-fsanitize-coverage=trace-pc-guard";
|
||||||
#else
|
#else
|
||||||
@ -715,14 +715,14 @@ static void edit_params(u32 argc, char **argv, char **envp) {
|
|||||||
"int __afl_sharedmem_fuzzing = 1;"
|
"int __afl_sharedmem_fuzzing = 1;"
|
||||||
"extern unsigned int *__afl_fuzz_len;"
|
"extern unsigned int *__afl_fuzz_len;"
|
||||||
"extern unsigned char *__afl_fuzz_ptr;"
|
"extern unsigned char *__afl_fuzz_ptr;"
|
||||||
"unsigned char __afl_fuzz_alt[1024000];"
|
"unsigned char __afl_fuzz_alt[1048576];"
|
||||||
"unsigned char *__afl_fuzz_alt_ptr = __afl_fuzz_alt;";
|
"unsigned char *__afl_fuzz_alt_ptr = __afl_fuzz_alt;";
|
||||||
cc_params[cc_par_cnt++] =
|
cc_params[cc_par_cnt++] =
|
||||||
"-D__AFL_FUZZ_TESTCASE_BUF=(__afl_fuzz_ptr ? __afl_fuzz_ptr : "
|
"-D__AFL_FUZZ_TESTCASE_BUF=(__afl_fuzz_ptr ? __afl_fuzz_ptr : "
|
||||||
"__afl_fuzz_alt_ptr)";
|
"__afl_fuzz_alt_ptr)";
|
||||||
cc_params[cc_par_cnt++] =
|
cc_params[cc_par_cnt++] =
|
||||||
"-D__AFL_FUZZ_TESTCASE_LEN=(__afl_fuzz_ptr ? *__afl_fuzz_len : "
|
"-D__AFL_FUZZ_TESTCASE_LEN=(__afl_fuzz_ptr ? *__afl_fuzz_len : "
|
||||||
"(*__afl_fuzz_len = read(0, __afl_fuzz_alt_ptr, 1024000)) == 0xffffffff "
|
"(*__afl_fuzz_len = read(0, __afl_fuzz_alt_ptr, 1048576)) == 0xffffffff "
|
||||||
"? 0 : *__afl_fuzz_len)";
|
"? 0 : *__afl_fuzz_len)";
|
||||||
|
|
||||||
cc_params[cc_par_cnt++] =
|
cc_params[cc_par_cnt++] =
|
||||||
|
@ -1064,13 +1064,13 @@ int main(int argc, char **argv_orig, char **envp) {
|
|||||||
} else if (afl->q_testcase_max_cache_size < 2 * MAX_FILE) {
|
} else if (afl->q_testcase_max_cache_size < 2 * MAX_FILE) {
|
||||||
|
|
||||||
FATAL("AFL_TESTCACHE_SIZE must be set to %u or more, or 0 to disable",
|
FATAL("AFL_TESTCACHE_SIZE must be set to %u or more, or 0 to disable",
|
||||||
(2 * MAX_FILE) % 1024000 == 0 ? (2 * MAX_FILE) / 1048576
|
(2 * MAX_FILE) % 1048576 == 0 ? (2 * MAX_FILE) / 1048576
|
||||||
: 1 + ((2 * MAX_FILE) / 1048576));
|
: 1 + ((2 * MAX_FILE) / 1048576));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
OKF("Enabled testcache with %llu MB",
|
OKF("Enabled testcache with %llu MB",
|
||||||
afl->q_testcase_max_cache_size / 1024000);
|
afl->q_testcase_max_cache_size / 1048576);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user