summaryrefslogtreecommitdiff
path: root/libhfuzz/instrument.c
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2017-05-21 18:15:58 +0200
committerRobert Swiecki <robert@swiecki.net>2017-05-21 18:15:58 +0200
commitd51cd3fb934d991c9867b5c684479402334d0530 (patch)
treec9d9432028734bb5a8d5c82e99d71b84ca23a0ce /libhfuzz/instrument.c
parentbcbe4a0ceb45fcb39911d64c5b4375cb6c9bea66 (diff)
downloadhonggfuzz-d51cd3fb934d991c9867b5c684479402334d0530.tar.gz
libhfuzz: Support old __sanitizer_cov_trace_cmp
Diffstat (limited to 'libhfuzz/instrument.c')
-rw-r--r--libhfuzz/instrument.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libhfuzz/instrument.c b/libhfuzz/instrument.c
index 8b0870ff..186ba977 100644
--- a/libhfuzz/instrument.c
+++ b/libhfuzz/instrument.c
@@ -173,6 +173,22 @@ ATTRIBUTE_X86_REQUIRE_SSE42 void __sanitizer_cov_trace_switch(uint64_t Val, uint
}
}
+ATTRIBUTE_X86_REQUIRE_SSE42 void __sanitizer_cov_trace_cmp(uint64_t SizeAndType, uint64_t Arg1,
+ uint64_t Arg2)
+{
+ uint64_t CmpSize = (SizeAndType >> 32) / 8;
+ switch (CmpSize) {
+ case (sizeof(uint8_t)):
+ return __sanitizer_cov_trace_cmp1(Arg1, Arg2);
+ case (sizeof(uint16_t)):
+ return __sanitizer_cov_trace_cmp2(Arg1, Arg2);
+ case (sizeof(uint32_t)):
+ return __sanitizer_cov_trace_cmp4(Arg1, Arg2);
+ case (sizeof(uint64_t)):
+ return __sanitizer_cov_trace_cmp8(Arg1, Arg2);
+ }
+}
+
/*
* -fsanitize-coverage=trace-pc-guard
*/