Lines 84-89
Link Here
|
84 |
|
84 |
|
85 |
static char **qa_textrels = NULL; |
85 |
static char **qa_textrels = NULL; |
86 |
static char **qa_execstack = NULL; |
86 |
static char **qa_execstack = NULL; |
|
|
87 |
static char **qa_wx_load = NULL; |
87 |
|
88 |
|
88 |
int match_bits = 0; |
89 |
int match_bits = 0; |
89 |
caddr_t ldcache = 0; |
90 |
caddr_t ldcache = 0; |
Lines 287-295
Link Here
|
287 |
} else if (EGET(phdr[i].p_type) == PT_LOAD) { \ |
288 |
} else if (EGET(phdr[i].p_type) == PT_LOAD) { \ |
288 |
if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) \ |
289 |
if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) \ |
289 |
if (multi_load++ > max_pt_load) warnf("%s: more than %i PT_LOAD's !?", elf->filename, max_pt_load); \ |
290 |
if (multi_load++ > max_pt_load) warnf("%s: more than %i PT_LOAD's !?", elf->filename, max_pt_load); \ |
290 |
found = found_load; \ |
291 |
if (!file_matches_list(elf->filename, qa_wx_load)) {\ |
291 |
offset = 8; \ |
292 |
found = found_load; \ |
292 |
check_flags = PF_W|PF_X; \ |
293 |
offset = 8; \ |
|
|
294 |
check_flags = PF_W|PF_X; \ |
295 |
} else continue; \ |
293 |
} else \ |
296 |
} else \ |
294 |
continue; \ |
297 |
continue; \ |
295 |
flags = EGET(phdr[i].p_flags); \ |
298 |
flags = EGET(phdr[i].p_flags); \ |
Lines 1870-1875
Link Here
|
1870 |
static void parseenv() { |
1873 |
static void parseenv() { |
1871 |
qa_textrels=get_split_env("QA_TEXTRELS"); |
1874 |
qa_textrels=get_split_env("QA_TEXTRELS"); |
1872 |
qa_execstack=get_split_env("QA_EXECSTACK"); |
1875 |
qa_execstack=get_split_env("QA_EXECSTACK"); |
|
|
1876 |
qa_wx_load=get_split_env("QA_WX_LOAD"); |
1873 |
} |
1877 |
} |
1874 |
|
1878 |
|
1875 |
|
1879 |
|