summaryrefslogtreecommitdiff
path: root/libhfuzz/instrument.c
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2016-10-03 03:32:19 +0200
committerRobert Swiecki <robert@swiecki.net>2016-10-03 03:32:19 +0200
commit574b0396391d21f73936c72de01357739192f7a6 (patch)
treec6e6ae5f2d4eeb40368a0896e30bfafc930f21c6 /libhfuzz/instrument.c
parent3f03f7eefe20d577ba7267aa8591c221097118e4 (diff)
downloadhonggfuzz-574b0396391d21f73936c72de01357739192f7a6.tar.gz
Support for trace-pc-guard
Diffstat (limited to 'libhfuzz/instrument.c')
-rw-r--r--libhfuzz/instrument.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libhfuzz/instrument.c b/libhfuzz/instrument.c
index dfaea816..3d8772f2 100644
--- a/libhfuzz/instrument.c
+++ b/libhfuzz/instrument.c
@@ -167,3 +167,16 @@ void libhfuzz_instrumentUpdateCmpMap(void *addr, unsigned int new)
ATOMIC_POST_ADD(feedback->pidFeedbackCmp[my_thread_no], v - prev);
}
}
+
+void __sanitizer_cov_trace_pc_guard_init(uint32_t * start, uint32_t * stop)
+{
+ for (uint32_t * x = start; x < stop; x++) {
+ *x = 1U;
+ }
+}
+
+void __sanitizer_cov_trace_pc_guard(uint32_t * guard UNUSED)
+{
+ *guard = 0U;
+ ATOMIC_PRE_INC_RELAXED(feedback->pidFeedbackPc[my_thread_no]);
+}