fix lto single block and no zero

This commit is contained in:
van Hauser
2020-08-01 19:43:29 +02:00
parent a267ff1ab5
commit b708cf7d45
5 changed files with 36 additions and 20 deletions

View File

@ -162,7 +162,7 @@ static void find_obj(u8 *argv0) {
static void edit_params(u32 argc, char **argv, char **envp) {
u8 fortify_set = 0, asan_set = 0, x_set = 0, bit_mode = 0;
u8 have_pic = 0, have_s = 0, have_c = 0, have_shared = 0;
u8 have_pic = 0;
u8 *name;
cc_params = ck_alloc((argc + 128) * sizeof(u8 *));
@ -369,15 +369,11 @@ static void edit_params(u32 argc, char **argv, char **envp) {
for (idx = 1; idx < argc; idx++) {
if (!strncmp(argv[idx], "-shared", 7)) have_shared = 1;
if (!strcmp(argv[idx], "-S")) have_s = 1;
if (!strcmp(argv[idx], "-c")) have_c = 1;
if (!strncasecmp(argv[idx], "-fpic", 5)) have_pic = 1;
}
if (!have_pic) cc_params[cc_par_cnt++] = "-fPIC";
// if (!have_shared && (have_s || have_c)) cc_params[cc_par_cnt++] = "-shared";
}
@ -527,9 +523,12 @@ static void edit_params(u32 argc, char **argv, char **envp) {
"unsigned char __afl_fuzz_alt[1024000];"
"unsigned char *__afl_fuzz_alt_ptr = __afl_fuzz_alt;";
cc_params[cc_par_cnt++] =
"-D__AFL_FUZZ_TESTCASE_BUF=(__afl_fuzz_ptr ? __afl_fuzz_ptr : __afl_fuzz_alt_ptr)";
"-D__AFL_FUZZ_TESTCASE_BUF=(__afl_fuzz_ptr ? __afl_fuzz_ptr : "
"__afl_fuzz_alt_ptr)";
cc_params[cc_par_cnt++] =
"-D__AFL_FUZZ_TESTCASE_LEN=(__afl_fuzz_ptr ? *__afl_fuzz_len : (*__afl_fuzz_len = read(0, __afl_fuzz_alt_ptr, 1024000)) == 0xffffffff ? 0 : *__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 "
"? 0 : *__afl_fuzz_len)";
cc_params[cc_par_cnt++] =
"-D__AFL_LOOP(_A)="