diff options
author | llzmb <46303940+llzmb@users.noreply.github.com> | 2021-08-31 21:19:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-31 21:19:04 +0200 |
commit | 9747ac42213126ec99fe8ea47f1320be54135bd1 (patch) | |
tree | 677b0cf3143a1964134a67a1922b70dc20f6be19 /src/afl-cc.c | |
parent | ec4cae448b10acc0a8c84fc75f298bfaed88195a (diff) | |
parent | fe5b2c355f097705bf0bd7b35b0484b16f87964f (diff) | |
download | afl++-9747ac42213126ec99fe8ea47f1320be54135bd1.tar.gz |
Merge branch 'dev' into docs_edit_readme_move_content_to_docs
Diffstat (limited to 'src/afl-cc.c')
-rw-r--r-- | src/afl-cc.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/afl-cc.c b/src/afl-cc.c index 244b46d1..e49addc4 100644 --- a/src/afl-cc.c +++ b/src/afl-cc.c @@ -793,7 +793,9 @@ static void edit_params(u32 argc, char **argv, char **envp) { if (!strcmp(cur, "-x")) x_set = 1; if (!strcmp(cur, "-E")) preprocessor_only = 1; if (!strcmp(cur, "-shared")) shared_linking = 1; + if (!strcmp(cur, "-dynamiclib")) shared_linking = 1; if (!strcmp(cur, "-Wl,-r")) partial_linking = 1; + if (!strcmp(cur, "-Wl,-i")) partial_linking = 1; if (!strcmp(cur, "-Wl,--relocatable")) partial_linking = 1; if (!strcmp(cur, "-r")) partial_linking = 1; if (!strcmp(cur, "--relocatable")) partial_linking = 1; @@ -1084,6 +1086,18 @@ static void edit_params(u32 argc, char **argv, char **envp) { alloc_printf("-Wl,--dynamic-list=%s/dynamic_list.txt", obj_path); #endif + #if defined(__APPLE__) + if (shared_linking || partial_linking) { + + cc_params[cc_par_cnt++] = "-Wl,-U"; + cc_params[cc_par_cnt++] = "-Wl,___afl_area_ptr"; + cc_params[cc_par_cnt++] = "-Wl,-U"; + cc_params[cc_par_cnt++] = "-Wl,___sanitizer_cov_trace_pc_guard_init"; + + } + + #endif + } #if defined(USEMMAP) && !defined(__HAIKU__) |