fix compiler rt on -c

This commit is contained in:
vanhauser-thc
2021-03-09 17:15:19 +01:00
parent 47f2650a32
commit 0868ea8348
2 changed files with 13 additions and 7 deletions

View File

@ -14,6 +14,9 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- add non-unicode variants from unicode-looking dictionary entries - add non-unicode variants from unicode-looking dictionary entries
- Rust custom mutator API improvements - Rust custom mutator API improvements
- afl-cc: - 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 - fixed a crash that can occur with ASAN + CMPLOG together plus
better support for unicode (thanks to @stbergmann for reporting!) better support for unicode (thanks to @stbergmann for reporting!)
- fixed a crash in LAF transform for empty strings - 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() compiled into the target. This now also supports dlopen()
instrumented libs loaded before the forkserver and even after the instrumented libs loaded before the forkserver and even after the
forkserver is started (then with collisions though) 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: - qemu_mode:
- added AFL_QEMU_EXCLUDE_RANGES env by @realmadsci, thanks! - added AFL_QEMU_EXCLUDE_RANGES env by @realmadsci, thanks!
- if no new/updated checkout is wanted, build with: - if no new/updated checkout is wanted, build with:

View File

@ -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 /* In the preprocessor_only case (-E), we are not actually compiling at
all but requesting the compiler to output preprocessed sources only. 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 !defined(__APPLE__) && !defined(__sun)
if (!shared_linking && !have_c) if (!shared_linking)
cc_params[cc_par_cnt++] = cc_params[cc_par_cnt++] =
alloc_printf("-Wl,--dynamic-list=%s/dynamic_list.txt", obj_path); alloc_printf("-Wl,--dynamic-list=%s/dynamic_list.txt", obj_path);
#endif #endif
#if defined(USEMMAP) && !defined(__HAIKU__) #if defined(USEMMAP) && !defined(__HAIKU__)
if (!have_c) cc_params[cc_par_cnt++] = "-lrt"; cc_params[cc_par_cnt++] = "-lrt";
#endif #endif
// prevent unnecessary build errors
cc_params[cc_par_cnt++] = "-Wno-unused-command-line-argument";
} }
#endif #endif