hfuzz-cc.c (honggfuzz-2.4) | : | hfuzz-cc.c (honggfuzz-2.5) | ||
---|---|---|---|---|
skipping to change at line 91 | skipping to change at line 91 | |||
return false; | return false; | |||
} | } | |||
static bool useBelowGCC8() { | static bool useBelowGCC8() { | |||
if (getenv("HFUZZ_CC_USE_GCC_BELOW_8")) { | if (getenv("HFUZZ_CC_USE_GCC_BELOW_8")) { | |||
return true; | return true; | |||
} | } | |||
return false; | return false; | |||
} | } | |||
static bool isVersionMode(int argc, char** argv) { | ||||
for (int i = 1; i < argc; i++) { | ||||
if (strcmp(argv[i], "--version") == 0) { | ||||
return true; | ||||
} | ||||
if (strcmp(argv[i], "--target-help") == 0) { | ||||
return true; | ||||
} | ||||
if (strcmp(argv[i], "--help") == 0) { | ||||
return true; | ||||
} | ||||
} | ||||
return false; | ||||
} | ||||
static bool isLDMode(int argc, char** argv) { | static bool isLDMode(int argc, char** argv) { | |||
for (int i = 1; i < argc; i++) { | for (int i = 1; i < argc; i++) { | |||
if (strcmp(argv[i], "--version") == 0) { | if (strcmp(argv[i], "--version") == 0) { | |||
return false; | return false; | |||
} | } | |||
if (strcmp(argv[i], "--target-help") == 0) { | if (strcmp(argv[i], "--target-help") == 0) { | |||
return false; | return false; | |||
} | } | |||
if (strcmp(argv[i], "-c") == 0) { | if (strcmp(argv[i], "-c") == 0) { | |||
return false; | return false; | |||
skipping to change at line 165 | skipping to change at line 180 | |||
if (isCXX) { | if (isCXX) { | |||
hf_execvp("g++", argv); | hf_execvp("g++", argv); | |||
hf_execvp("gcc", argv); | hf_execvp("gcc", argv); | |||
} else { | } else { | |||
hf_execvp("gcc", argv); | hf_execvp("gcc", argv); | |||
} | } | |||
} else { | } else { | |||
if (isCXX) { | if (isCXX) { | |||
/* Try the default one, then the newest ones (hopefully) in order */ | /* Try the default one, then the newest ones (hopefully) in order */ | |||
hf_execvp("clang++", argv); | hf_execvp("clang++", argv); | |||
hf_execvp("clang++-13.0", argv); | ||||
hf_execvp("clang++-13", argv); | ||||
hf_execvp("clang++-12.0", argv); | hf_execvp("clang++-12.0", argv); | |||
hf_execvp("clang++-12", argv); | hf_execvp("clang++-12", argv); | |||
hf_execvp("clang++12", argv); | hf_execvp("clang++12", argv); | |||
hf_execvp("clang++-11.0", argv); | hf_execvp("clang++-11.0", argv); | |||
hf_execvp("clang++-11", argv); | hf_execvp("clang++-11", argv); | |||
hf_execvp("clang++11", argv); | hf_execvp("clang++11", argv); | |||
hf_execvp("clang++-10.0", argv); | hf_execvp("clang++-10.0", argv); | |||
hf_execvp("clang++-10", argv); | hf_execvp("clang++-10", argv); | |||
hf_execvp("clang++10", argv); | hf_execvp("clang++10", argv); | |||
hf_execvp("clang++-9.0", argv); | hf_execvp("clang++-9.0", argv); | |||
skipping to change at line 187 | skipping to change at line 204 | |||
hf_execvp("clang++-8.0", argv); | hf_execvp("clang++-8.0", argv); | |||
hf_execvp("clang++-8", argv); | hf_execvp("clang++-8", argv); | |||
hf_execvp("clang++8", argv); | hf_execvp("clang++8", argv); | |||
hf_execvp("clang++-7.0", argv); | hf_execvp("clang++-7.0", argv); | |||
hf_execvp("clang++-7", argv); | hf_execvp("clang++-7", argv); | |||
hf_execvp("clang++7", argv); | hf_execvp("clang++7", argv); | |||
hf_execvp("clang", argv); | hf_execvp("clang", argv); | |||
} else { | } else { | |||
/* Try the default one, then the newest ones (hopefully) in order */ | /* Try the default one, then the newest ones (hopefully) in order */ | |||
hf_execvp("clang", argv); | hf_execvp("clang", argv); | |||
hf_execvp("clang-13.0", argv); | ||||
hf_execvp("clang-13", argv); | ||||
hf_execvp("clang-12.0", argv); | hf_execvp("clang-12.0", argv); | |||
hf_execvp("clang-12", argv); | hf_execvp("clang-12", argv); | |||
hf_execvp("clang12", argv); | hf_execvp("clang12", argv); | |||
hf_execvp("clang-11.0", argv); | hf_execvp("clang-11.0", argv); | |||
hf_execvp("clang-11", argv); | hf_execvp("clang-11", argv); | |||
hf_execvp("clang11", argv); | hf_execvp("clang11", argv); | |||
hf_execvp("clang-10.0", argv); | hf_execvp("clang-10.0", argv); | |||
hf_execvp("clang-10", argv); | hf_execvp("clang-10", argv); | |||
hf_execvp("clang10", argv); | hf_execvp("clang10", argv); | |||
hf_execvp("clang-9.0", argv); | hf_execvp("clang-9.0", argv); | |||
skipping to change at line 479 | skipping to change at line 498 | |||
#else /* _HF_ARCH_DARWIN */ | #else /* _HF_ARCH_DARWIN */ | |||
args[j++] = "-Wl,-u,HonggfuzzNetDriver_main"; | args[j++] = "-Wl,-u,HonggfuzzNetDriver_main"; | |||
args[j++] = "-Wl,-u,LIBHFUZZ_module_instrument"; | args[j++] = "-Wl,-u,LIBHFUZZ_module_instrument"; | |||
args[j++] = "-Wl,-u,LIBHFUZZ_module_memorycmp"; | args[j++] = "-Wl,-u,LIBHFUZZ_module_memorycmp"; | |||
#endif /* _HF_ARCH_DARWIN */ | #endif /* _HF_ARCH_DARWIN */ | |||
for (int i = 1; i < argc; i++) { | for (int i = 1; i < argc; i++) { | |||
args[j++] = argv[i]; | args[j++] = argv[i]; | |||
} | } | |||
/* | ||||
* Disable enforcement of the programming language, in case it had been enab | ||||
led explicitly, | ||||
* e.g. via -xc | ||||
*/ | ||||
args[j++] = "-xnone"; | ||||
/* Reference standard honggfuzz libraries first (libhfuzz, libhfcommon and l ibhfnetdriver) */ | /* Reference standard honggfuzz libraries first (libhfuzz, libhfcommon and l ibhfnetdriver) */ | |||
args[j++] = getLibHFNetDriverPath(); | args[j++] = getLibHFNetDriverPath(); | |||
args[j++] = getLibHFuzzPath(); | args[j++] = getLibHFuzzPath(); | |||
args[j++] = getLibHFCommonPath(); | args[j++] = getLibHFCommonPath(); | |||
/* Needed by libhfcommon */ | /* Needed by libhfcommon */ | |||
args[j++] = "-pthread"; | args[j++] = "-pthread"; | |||
#if !defined(__NetBSD__) | #if !defined(__NetBSD__) | |||
args[j++] = "-ldl"; | args[j++] = "-ldl"; | |||
#endif /* !defined(__NetBSD__) */ | #endif /* !defined(__NetBSD__) */ | |||
skipping to change at line 529 | skipping to change at line 554 | |||
usePCGuard = true; | usePCGuard = true; | |||
} | } | |||
if (baseNameContains(argv[0], "-8bitcnt-")) { | if (baseNameContains(argv[0], "-8bitcnt-")) { | |||
usePCGuard = false; | usePCGuard = false; | |||
} | } | |||
hasCmdLineFSanitizeFuzzer = hasFSanitizeFuzzer(argc, argv); | hasCmdLineFSanitizeFuzzer = hasFSanitizeFuzzer(argc, argv); | |||
if (argc <= 1) { | if (argc <= 1) { | |||
return execCC(argc, argv); | return execCC(argc, argv); | |||
} | } | |||
if (isVersionMode(argc, argv)) { | ||||
return execCC(argc, argv); | ||||
} | ||||
if (argc > (ARGS_MAX - 128)) { | if (argc > (ARGS_MAX - 128)) { | |||
LOG_F("'%s': Too many positional arguments: %d", argv[0], argc); | LOG_F("'%s': Too many positional arguments: %d", argv[0], argc); | |||
return EXIT_FAILURE; | return EXIT_FAILURE; | |||
} | } | |||
if (isLDMode(argc, argv)) { | if (isLDMode(argc, argv)) { | |||
return ldMode(argc, argv); | return ldMode(argc, argv); | |||
} | } | |||
return ccMode(argc, argv); | return ccMode(argc, argv); | |||
} | } | |||
End of changes. 5 change blocks. | ||||
0 lines changed or deleted | 30 lines changed or added |