1 fun:main=uninstrumented
4 ###############################################################################
5 # DFSan interface functions
6 ###############################################################################
7 fun:dfsan_union=uninstrumented
8 fun:dfsan_union=discard
9 fun:dfsan_create_label=uninstrumented
10 fun:dfsan_create_label=discard
11 fun:dfsan_set_label=uninstrumented
12 fun:dfsan_set_label=discard
13 fun:dfsan_add_label=uninstrumented
14 fun:dfsan_add_label=discard
15 fun:dfsan_get_label=uninstrumented
16 fun:dfsan_get_label=custom
17 fun:dfsan_read_label=uninstrumented
18 fun:dfsan_read_label=discard
19 fun:dfsan_get_label_count=uninstrumented
20 fun:dfsan_get_label_count=discard
21 fun:dfsan_get_label_info=uninstrumented
22 fun:dfsan_get_label_info=discard
23 fun:dfsan_has_label=uninstrumented
24 fun:dfsan_has_label=discard
25 fun:dfsan_has_label_with_desc=uninstrumented
26 fun:dfsan_has_label_with_desc=discard
27 fun:dfsan_set_write_callback=uninstrumented
28 fun:dfsan_set_write_callback=custom
29 fun:dfsan_flush=uninstrumented
30 fun:dfsan_flush=discard
32 ###############################################################################
34 ###############################################################################
38 # Functions that return a value that depends on the input, but the output might
39 # not be necessarily data-dependent on the input.
40 fun:isalpha=functional
41 fun:isdigit=functional
42 fun:isprint=functional
43 fun:isxdigit=functional
44 fun:isalnum=functional
45 fun:ispunct=functional
46 fun:isspace=functional
47 fun:tolower=functional
48 fun:toupper=functional
50 # Functions that return a value that is data-dependent on the input.
51 fun:__isinf=functional
52 fun:__isinff=functional
53 fun:__signbit=functional
54 fun:__signbitf=functional
55 fun:__signbitl=functional
63 fun:finitef=functional
64 fun:finitel=functional
81 fun:nextafter=functional
82 fun:nextafterf=functional
83 fun:nextafterl=functional
84 fun:nexttoward=functional
85 fun:nexttowardf=functional
86 fun:nexttowardl=functional
96 # Functions that produce an output that does not depend on the input (shadow is
97 # zeroed automatically).
98 fun:__assert_fail=discard
99 fun:__cmsg_nxthdr=discard
100 fun:__ctype_b_loc=discard
101 fun:__cxa_atexit=discard
102 fun:__errno_location=discard
103 fun:__newlocale=discard
105 fun:__sigsetjmp=discard
106 fun:__uselocale=discard
107 fun:__wctype_l=discard
119 fun:epoll_create=discard
120 fun:epoll_create1=discard
121 fun:epoll_ctl=discard
139 fun:getpagesize=discard
150 fun:posix_fadvise=discard
151 fun:posix_memalign=discard
154 fun:pthread_sigmask=discard
161 fun:sched_getcpu=discard
162 fun:sched_get_priority_max=discard
163 fun:sched_setaffinity=discard
164 fun:sched_yield=discard
165 fun:sem_destroy=discard
172 fun:setsockopt=discard
182 fun:uselocale=discard
184 # Functions that produce output does not depend on the input (need to zero the
186 fun:_dl_get_tls_static_info=custom
188 fun:clock_gettime=custom
190 fun:epoll_wait=custom
194 fun:get_current_dir_name=custom
195 fun:gethostname=custom
196 fun:getpeername=custom
199 fun:getsockname=custom
200 fun:getsockopt=custom
206 fun:sigaltstack=custom
207 fun:socketpair=custom
211 # Functions that produce an output that depend on the input (propagate the
215 fun:localtime_r=custom
227 # Functions that produce an output that is computed from the input, but is not
228 # necessarily data dependent.
232 fun:strcasecmp=custom
236 fun:strncasecmp=custom
242 # Functions which take action based on global state, such as running a callback
243 # set by a sepperate function.
246 # Functions that take a callback (wrap the callback manually).
247 fun:dl_iterate_phdr=custom
249 fun:getpwuid_r=custom
251 fun:sched_getaffinity=custom
253 fun:sigemptyset=custom
255 fun:gettimeofday=custom
265 ###############################################################################
267 ###############################################################################
268 fun:__pthread_register_cancel=discard
269 fun:__pthread_unregister_cancel=discard
270 fun:pthread_attr_destroy=discard
271 fun:pthread_attr_getaffinity_np=discard
272 fun:pthread_attr_getdetachstate=discard
273 fun:pthread_attr_getguardsize=discard
274 fun:pthread_attr_getinheritsched=discard
275 fun:pthread_attr_getschedparam=discard
276 fun:pthread_attr_getschedpolicy=discard
277 fun:pthread_attr_getscope=discard
278 fun:pthread_attr_getstack=discard
279 fun:pthread_attr_getstackaddr=disacrd
280 fun:pthread_attr_getstacksize=discard
281 fun:pthread_attr_init=discard
282 fun:pthread_attr_setaffinity_np=discard
283 fun:pthread_attr_setdetachstate=discard
284 fun:pthread_attr_setguardsize=discard
285 fun:pthread_attr_setinheritsched=discard
286 fun:pthread_attr_setschedparam=discard
287 fun:pthread_attr_setschedpolicy=discard
288 fun:pthread_attr_setscope=discard
289 fun:pthread_attr_setstack=discard
290 fun:pthread_attr_setstackaddr=discard
291 fun:pthread_attr_setstacksize=discard
292 fun:pthread_equal=discard
293 fun:pthread_getschedparam=discard
294 fun:pthread_getspecific=discard
295 fun:pthread_key_create=discard
296 fun:pthread_key_delete=discard
297 fun:pthread_mutex_destroy=discard
298 fun:pthread_mutex_init=discard
299 fun:pthread_mutex_lock=discard
300 fun:pthread_mutex_trylock=discard
301 fun:pthread_mutex_unlock=discard
302 fun:pthread_mutexattr_destroy=discard
303 fun:pthread_mutexattr_init=discard
304 fun:pthread_mutexattr_settype=discard
305 fun:pthread_rwlock_destroy=discard
306 fun:pthread_rwlock_init=discard
307 fun:pthread_rwlock_rdlock=discard
308 fun:pthread_rwlock_timedrdlock=discard
309 fun:pthread_rwlock_timedwrlock=discard
310 fun:pthread_rwlock_tryrdlock=discard
311 fun:pthread_rwlock_trywrlock=discard
312 fun:pthread_rwlock_wrlock=discard
313 fun:pthread_rwlock_unlock=discard
314 fun:pthread_setschedparam=discard
315 fun:pthread_setname_np=discard
316 fun:pthread_once=discard
317 fun:pthread_self=discard
318 fun:pthread_setspecific=discard
320 # Functions that take a callback (wrap the callback manually).
321 fun:pthread_create=custom
323 # Functions that produce output does not depend on the input (need to zero the
325 fun:pthread_join=custom
327 ###############################################################################
329 ###############################################################################
330 # Functions that are written in asm or are called from asm.
331 fun:ffi_call_unix64=uninstrumented
332 fun:ffi_call_unix64=discard
333 fun:ffi_closure_unix64_inner=uninstrumented
334 fun:ffi_closure_unix64_inner=discard
335 fun:ffi_closure_unix64=uninstrumented
336 fun:ffi_closure_unix64=discard
337 fun:__go_get_closure=uninstrumented
338 fun:__go_get_closure=discard
339 fun:__go_makefunc_can_recover=uninstrumented
340 fun:__go_makefunc_can_recover=discard
341 fun:__go_makefunc_returning=uninstrumented
342 fun:__go_makefunc_returning=discard
343 fun:reflect.MakeFuncStubGo=uninstrumented
344 fun:reflect.MakeFuncStubGo=discard
345 fun:reflect.makeFuncStub=uninstrumented
346 fun:reflect.makeFuncStub=discard
349 ###############################################################################
351 ###############################################################################
352 # Replaces __sanitizer_cov_trace_cmp with __dfsw___sanitizer_cov_trace_cmp
353 fun:__sanitizer_cov_trace_cmp1=custom
354 fun:__sanitizer_cov_trace_cmp1=uninstrumented
355 fun:__sanitizer_cov_trace_cmp2=custom
356 fun:__sanitizer_cov_trace_cmp2=uninstrumented
357 fun:__sanitizer_cov_trace_cmp4=custom
358 fun:__sanitizer_cov_trace_cmp4=uninstrumented
359 fun:__sanitizer_cov_trace_cmp8=custom
360 fun:__sanitizer_cov_trace_cmp8=uninstrumented
361 fun:__sanitizer_cov_trace_const_cmp1=custom
362 fun:__sanitizer_cov_trace_const_cmp1=uninstrumented
363 fun:__sanitizer_cov_trace_const_cmp2=custom
364 fun:__sanitizer_cov_trace_const_cmp2=uninstrumented
365 fun:__sanitizer_cov_trace_const_cmp4=custom
366 fun:__sanitizer_cov_trace_const_cmp4=uninstrumented
367 fun:__sanitizer_cov_trace_const_cmp8=custom
368 fun:__sanitizer_cov_trace_const_cmp8=uninstrumented
369 # Similar for __sanitizer_cov_trace_switch
370 fun:__sanitizer_cov_trace_switch=custom
371 fun:__sanitizer_cov_trace_switch=uninstrumented
373 # Ignores all other __sanitizer callbacks.
374 fun:__sanitizer_cov=uninstrumented
375 fun:__sanitizer_cov=discard
376 fun:__sanitizer_cov_module_init=uninstrumented
377 fun:__sanitizer_cov_module_init=discard
378 fun:__sanitizer_cov_with_check=uninstrumented
379 fun:__sanitizer_cov_with_check=discard
380 fun:__sanitizer_set_death_callback=uninstrumented
381 fun:__sanitizer_set_death_callback=discard
382 fun:__sanitizer_update_counter_bitset_and_clear_counters=uninstrumented
383 fun:__sanitizer_update_counter_bitset_and_clear_counters=discard
384 fun:__sanitizer_cov_trace_pc*=uninstrumented
385 fun:__sanitizer_cov_trace_pc*=discard
386 fun:__sanitizer_cov_pcs_init=uninstrumented
387 fun:__sanitizer_cov_pcs_init=discard
389 # Ignores the dfsan wrappers.
390 fun:__dfsw_*=uninstrumented