add CFI variant for gcc

This commit is contained in:
vanhauser-thc
2023-01-23 12:45:21 +01:00
parent 5163a49350
commit 8bc7b3cf26

View File

@ -1050,18 +1050,26 @@ static void edit_params(u32 argc, char **argv, char **envp) {
if (getenv("AFL_USE_CFISAN")) { if (getenv("AFL_USE_CFISAN")) {
if (!lto_mode) { if (compiler_mode == GCC_PLUGIN || compiler_mode == GCC) {
uint32_t i = 0, found = 0; cc_params[cc_par_cnt++] = "-fcf-protection";
while (envp[i] != NULL && !found)
if (strncmp("-flto", envp[i++], 5) == 0) found = 1; } else {
if (!found) cc_params[cc_par_cnt++] = "-flto";
if (!lto_mode) {
uint32_t i = 0, found = 0;
while (envp[i] != NULL && !found)
if (strncmp("-flto", envp[i++], 5) == 0) found = 1;
if (!found) cc_params[cc_par_cnt++] = "-flto";
}
cc_params[cc_par_cnt++] = "-fsanitize=cfi";
cc_params[cc_par_cnt++] = "-fvisibility=hidden";
} }
cc_params[cc_par_cnt++] = "-fsanitize=cfi";
cc_params[cc_par_cnt++] = "-fvisibility=hidden";
} }
if (!getenv("AFL_DONT_OPTIMIZE")) { if (!getenv("AFL_DONT_OPTIMIZE")) {