mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 11:57:28 -03:00
[fuzz] Avoid collecting initialization coverage
This commit is contained in:
parent
6f36624147
commit
949abebea0
1 changed files with 22 additions and 0 deletions
|
@ -79,6 +79,26 @@ void FuzzFrameworkRegisterTarget(std::string_view name, TypeTestOneInput target,
|
|||
static std::string_view g_fuzz_target;
|
||||
static const TypeTestOneInput* g_test_one_input{nullptr};
|
||||
|
||||
|
||||
#if defined(__clang__) && defined(__linux__)
|
||||
extern "C" void __llvm_profile_reset_counters(void) __attribute__((weak));
|
||||
extern "C" void __gcov_reset(void) __attribute__((weak));
|
||||
|
||||
void ResetCoverageCounters()
|
||||
{
|
||||
if (__llvm_profile_reset_counters) {
|
||||
__llvm_profile_reset_counters();
|
||||
}
|
||||
|
||||
if (__gcov_reset) {
|
||||
__gcov_reset();
|
||||
}
|
||||
}
|
||||
#else
|
||||
void ResetCoverageCounters() {}
|
||||
#endif
|
||||
|
||||
|
||||
void initialize()
|
||||
{
|
||||
// Terminate immediately if a fuzzing harness ever tries to create a TCP socket.
|
||||
|
@ -129,6 +149,8 @@ void initialize()
|
|||
Assert(!g_test_one_input);
|
||||
g_test_one_input = &it->second.test_one_input;
|
||||
it->second.opts.init();
|
||||
|
||||
ResetCoverageCounters();
|
||||
}
|
||||
|
||||
#if defined(PROVIDE_FUZZ_MAIN_FUNCTION)
|
||||
|
|
Loading…
Reference in a new issue