Hi all, I used the instruction from here: https://clang.llvm.org/docs/SanitizerCoverage.html#partially-disabling-instrumentation to compile the following c file #include <stdint.h> #include <stdio.h> #include <sanitizer/coverage_interface.h> void __sanitizer_cov_trace_pc_guard_init(uint32_t *start, uint32_t *stop) { static uint64_t N; // Counter for the guards. if (start == stop || *start) return; // Initialize only once. printf("INIT: %p %p\n", start, stop); for (uint32_t *x = start; x < stop; x++) *x = ++N; // Guards should start from 1. } void __sanitizer_cov_trace_pc_guard(uint32_t *guard) { if (!*guard) return; // Duplicate the guard check. void *PC = __builtin_return_address(0); char PcDescr[1024]; } int addition(int num1, int num2) { int sum; sum = num1+num2; if(sum) return sum; else return 0; } int substraction(int num1, int num2) { int sum; sum = num1-num2; if(sum) return sum; else return -1; } int main() { int var1, var2,res; printf("Enter number 1: "); scanf("%d",&var1); printf("Enter number 2: "); scanf("%d",&var2); if(var1 >1){ res = addition(var1, var2); printf ("Output: %d", res); } if(var2 > 2){ res = substraction(var1, var2); printf ("Output2: %d", res); } return 0; } test.sh export CC=clang export LDFLAGS="-O0 -g -fsanitize-coverage=trace-pc-guard -fsanitize-coverage-allowlist=./whitelist.txt -fsanitize-coverage-blocklist=./blacklist.txt" $CC $LD_LFAGS test.c -o test blacklist.txt contains: fun:addition* and whitelist.txt contains src:* fun:* Basically I want everything to be instrumented except function addition. I'm using clang 11. The problem is if I look in the disassembly of the binary sanitizer_cov_trace_pc_guard in any of the 3 functions: main/addition/substraction. It should instrument all , except addition. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200728/1037a2e0/attachment.html>