fix compiler rt on -c
MODIFY
docs/Changelog.md
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:

MODIFY
src/afl-cc.c
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

fix compiler rt on -c