blob: 5982802dd7bf537a9f2fda22101b2f013e70ff4e [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ZIRCON_SYSTEM_ULIB_C_SANITIZERS_SANCOV_STUBS_H_
#define ZIRCON_SYSTEM_ULIB_C_SANITIZERS_SANCOV_STUBS_H_
// These macros call SANCOV_STUB(NAME) for each __sanitizer_cov_NAME symbol
// that represents a function called by instrumented code.
//
// SANCOV_STUBS covers all the entry points.
// SANCOV_NOOP_STUBS covers only the subset of SANCOV_STUBS where each
// entry point is ordinarily a no-op that might be called harmlessly
// by code during early startup before the proper runtime is in place.
#define SANCOV_STUBS \
SANCOV_STUB(trace_pc_guard) \
SANCOV_STUB(trace_pc_guard_init) \
SANCOV_NOOP_STUBS
#define SANCOV_NOOP_STUBS \
SANCOV_STUB(trace_cmp) \
SANCOV_STUB(trace_cmp1) \
SANCOV_STUB(trace_cmp2) \
SANCOV_STUB(trace_cmp4) \
SANCOV_STUB(trace_cmp8) \
SANCOV_STUB(trace_const_cmp1) \
SANCOV_STUB(trace_const_cmp2) \
SANCOV_STUB(trace_const_cmp4) \
SANCOV_STUB(trace_const_cmp8) \
SANCOV_STUB(trace_switch) \
SANCOV_STUB(trace_div4) \
SANCOV_STUB(trace_div8) \
SANCOV_STUB(trace_gep) \
SANCOV_STUB(trace_pc) \
SANCOV_STUB(trace_pc_indir) \
SANCOV_STUB(8bit_counters_init) \
SANCOV_STUB(pcs_init)
#endif // ZIRCON_SYSTEM_ULIB_C_SANITIZERS_SANCOV_STUBS_H_