38#ifdef SAN_NEEDS_INTERCEPTORS
46#include <sys/coverage.h>
48#include <machine/atomic.h>
104 trace_pc((uint64_t)__builtin_return_address(0));
120 (uint64_t)__builtin_return_address(0));
131 (uint64_t)__builtin_return_address(0));
142 (uint64_t)__builtin_return_address(0));
153 (uint64_t)__builtin_return_address(0));
163 trace_cmp(COV_CMP_SIZE(0) | COV_CMP_CONST, arg1, arg2,
164 (uint64_t)__builtin_return_address(0));
174 trace_cmp(COV_CMP_SIZE(1) | COV_CMP_CONST, arg1, arg2,
175 (uint64_t)__builtin_return_address(0));
185 trace_cmp(COV_CMP_SIZE(2) | COV_CMP_CONST, arg1, arg2,
186 (uint64_t)__builtin_return_address(0));
196 trace_cmp(COV_CMP_SIZE(3) | COV_CMP_CONST, arg1, arg2,
197 (uint64_t)__builtin_return_address(0));
217 ret = (uint64_t)__builtin_return_address(0);
221 type = COV_CMP_SIZE(0);
224 type = COV_CMP_SIZE(1);
227 type = COV_CMP_SIZE(2);
230 type = COV_CMP_SIZE(3);
236 val |= COV_CMP_CONST;
238 for (i = 0; i <
count; i++)
device_property_type_t type
static void __nosanitizeaddress __nosanitizememory trace_pc(uintptr_t ret)
static bool __nosanitizeaddress __nosanitizememory trace_cmp(uint64_t type, uint64_t arg1, uint64_t arg2, uint64_t ret)
void cov_register_pc(cov_trace_pc_t trace_pc)
void __sanitizer_cov_trace_const_cmp1(uint8_t, uint8_t)
void cov_unregister_cmp(void)
void __sanitizer_cov_trace_pc(void)
void __sanitizer_cov_trace_cmp8(uint64_t, uint64_t)
void __sanitizer_cov_trace_const_cmp8(uint64_t, uint64_t)
void cov_unregister_pc(void)
static cov_trace_pc_t cov_trace_pc
void __sanitizer_cov_trace_cmp4(uint32_t, uint32_t)
void __sanitizer_cov_trace_cmp1(uint8_t, uint8_t)
void __sanitizer_cov_trace_const_cmp2(uint16_t, uint16_t)
void cov_register_cmp(cov_trace_cmp_t trace_cmp)
static cov_trace_cmp_t cov_trace_cmp
void __sanitizer_cov_trace_const_cmp4(uint32_t, uint32_t)
void __sanitizer_cov_trace_switch(uint64_t, uint64_t *)
void __sanitizer_cov_trace_cmp2(uint16_t, uint16_t)