aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-03-09 17:15:19 +0100
committervanhauser-thc <vh@thc.org>2021-03-09 17:15:19 +0100
commit0868ea8348ebc682c370d763324b49536ee4c1f7 (patch)
tree043ded356540a5feddfced8a9ffedd0f3dd20338
parent47f2650a32470172a32c4ebd446003cb8a4b80e8 (diff)
downloadafl++-0868ea8348ebc682c370d763324b49536ee4c1f7.tar.gz
fix compiler rt on -c
-rw-r--r--docs/Changelog.md8
-rw-r--r--src/afl-cc.c12
2 files changed, 13 insertions, 7 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index b47b03ba..c475911d 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -14,6 +14,9 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- add non-unicode variants from unicode-looking dictionary entries
- Rust custom mutator API improvements
- afl-cc:
+ - added AFL_NOOPT that will just pass everything to the normal
+ gcc/clang compiler without any changes - to pass weird configure
+ scripts
- fixed a crash that can occur with ASAN + CMPLOG together plus
better support for unicode (thanks to @stbergmann for reporting!)
- fixed a crash in LAF transform for empty strings
@@ -21,7 +24,10 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
compiled into the target. This now also supports dlopen()
instrumented libs loaded before the forkserver and even after the
forkserver is started (then with collisions though)
- - Renamed CTX to CALLER, added correct/real CTX implementation to CLASSIC
+ - the compiler rt was added also in object building (-c) which
+ should have been fixed years ago but somewhere got lost :(
+ - Renamed CTX to CALLER, added correct/real CTX implementation to
+ CLASSIC
- qemu_mode:
- added AFL_QEMU_EXCLUDE_RANGES env by @realmadsci, thanks!
- if no new/updated checkout is wanted, build with:
diff --git a/src/afl-cc.c b/src/afl-cc.c
index 8f9bb397..a517124f 100644
--- a/src/afl-cc.c
+++ b/src/afl-cc.c
@@ -940,7 +940,10 @@ static void edit_params(u32 argc, char **argv, char **envp) {
}
- if (preprocessor_only) {
+ // prevent unnecessary build errors
+ cc_params[cc_par_cnt++] = "-Wno-unused-command-line-argument";
+
+ if (preprocessor_only || have_c) {
/* In the preprocessor_only case (-E), we are not actually compiling at
all but requesting the compiler to output preprocessed sources only.
@@ -1001,18 +1004,15 @@ static void edit_params(u32 argc, char **argv, char **envp) {
}
#if !defined(__APPLE__) && !defined(__sun)
- if (!shared_linking && !have_c)
+ if (!shared_linking)
cc_params[cc_par_cnt++] =
alloc_printf("-Wl,--dynamic-list=%s/dynamic_list.txt", obj_path);
#endif
#if defined(USEMMAP) && !defined(__HAIKU__)
- if (!have_c) cc_params[cc_par_cnt++] = "-lrt";
+ cc_params[cc_par_cnt++] = "-lrt";
#endif
- // prevent unnecessary build errors
- cc_params[cc_par_cnt++] = "-Wno-unused-command-line-argument";
-
}
#endif