1fun:main=uninstrumented
2fun:main=discard
3
4###############################################################################
5# DFSan interface functions
6###############################################################################
7fun:dfsan_union=uninstrumented
8fun:dfsan_union=discard
9fun:dfsan_create_label=uninstrumented
10fun:dfsan_create_label=discard
11fun:dfsan_set_label=uninstrumented
12fun:dfsan_set_label=discard
13fun:dfsan_add_label=uninstrumented
14fun:dfsan_add_label=discard
15fun:dfsan_get_label=uninstrumented
16fun:dfsan_get_label=custom
17fun:dfsan_read_label=uninstrumented
18fun:dfsan_read_label=discard
19fun:dfsan_get_label_count=uninstrumented
20fun:dfsan_get_label_count=discard
21fun:dfsan_get_label_info=uninstrumented
22fun:dfsan_get_label_info=discard
23fun:dfsan_has_label=uninstrumented
24fun:dfsan_has_label=discard
25fun:dfsan_has_label_with_desc=uninstrumented
26fun:dfsan_has_label_with_desc=discard
27fun:dfsan_set_write_callback=uninstrumented
28fun:dfsan_set_write_callback=custom
29fun:dfsan_flush=uninstrumented
30fun:dfsan_flush=discard
31fun:dfsan_print_origin_trace=uninstrumented
32fun:dfsan_print_origin_trace=discard
33fun:dfsan_print_origin_id_trace=uninstrumented
34fun:dfsan_print_origin_id_trace=discard
35fun:dfsan_sprint_origin_trace=uninstrumented
36fun:dfsan_sprint_origin_trace=discard
37fun:dfsan_sprint_origin_id_trace=uninstrumented
38fun:dfsan_sprint_origin_id_trace=discard
39fun:dfsan_sprint_stack_trace=uninstrumented
40fun:dfsan_sprint_stack_trace=discard
41fun:dfsan_get_origin=uninstrumented
42fun:dfsan_get_origin=custom
43fun:dfsan_read_origin_of_first_taint=uninstrumented
44fun:dfsan_read_origin_of_first_taint=discard
45fun:dfsan_get_init_origin=uninstrumented
46fun:dfsan_get_init_origin=discard
47fun:dfsan_get_track_origins=uninstrumented
48fun:dfsan_get_track_origins=discard
49fun:dfsan_set_conditional_callback=uninstrumented
50fun:dfsan_set_conditional_callback=discard
51fun:dfsan_get_labels_in_signal_conditional=uninstrumented
52fun:dfsan_get_labels_in_signal_conditional=discard
53fun:dfsan_set_reaches_function_callback=uninstrumented
54fun:dfsan_set_reaches_function_callback=discard
55fun:dfsan_get_labels_in_signal_reaches_function=uninstrumented
56fun:dfsan_get_labels_in_signal_reaches_function=discard
57fun:dfsan_reaches_function_callback=uninstrumented
58fun:dfsan_reaches_function_callback=discard
59
60###############################################################################
61# glibc
62###############################################################################
63# Functions of memory allocators
64fun:__libc_memalign=discard
65fun:aligned_alloc=discard
66fun:calloc=discard
67fun:cfree=discard
68fun:mallinfo=discard
69fun:malloc=discard
70fun:free=discard
71fun:malloc_stats=discard
72fun:malloc_usable_size=discard
73fun:mallopt=discard
74fun:memalign=discard
75fun:posix_memalign=discard
76fun:pvalloc=discard
77fun:realloc=discard
78fun:reallocarray=discard
79fun:valloc=discard
80
81# Functions that return a value that depends on the input, but the output might
82# not be necessarily data-dependent on the input.
83fun:isalpha=functional
84fun:isdigit=functional
85fun:isprint=functional
86fun:isxdigit=functional
87fun:isalnum=functional
88fun:ispunct=functional
89fun:isspace=functional
90fun:tolower=functional
91fun:_tolower=functional
92fun:toupper=functional
93
94# Functions that return a value that is data-dependent on the input.
95fun:__isinf=functional
96fun:__isinff=functional
97fun:__signbit=functional
98fun:__signbitf=functional
99fun:__signbitl=functional
100fun:btowc=functional
101fun:exp=functional
102fun:exp2=functional
103fun:expf=functional
104fun:expl=functional
105fun:fabs=functional
106fun:finite=functional
107fun:finitef=functional
108fun:finitel=functional
109fun:floor=functional
110fun:fmod=functional
111fun:isinf=functional
112fun:isinff=functional
113fun:isinfl=functional
114fun:isnan=functional
115fun:isnanf=functional
116fun:isnanl=functional
117fun:log=functional
118fun:log1p=functional
119fun:log1pf=functional
120fun:log1pl=functional
121fun:log2=functional
122fun:log2f=functional
123fun:log2l=functional
124fun:modf=functional
125fun:nextafter=functional
126fun:nextafterf=functional
127fun:nextafterl=functional
128fun:nexttoward=functional
129fun:nexttowardf=functional
130fun:nexttowardl=functional
131fun:pow=functional
132fun:powf=functional
133fun:powl=functional
134fun:round=functional
135fun:sqrt=functional
136fun:sqrtf=functional
137fun:sqrtl=functional
138fun:wctob=functional
139
140# Functions that produce an output that does not depend on the input (shadow is
141# zeroed automatically).
142fun:__assert_fail=discard
143fun:__cmsg_nxthdr=discard
144fun:__ctype_b_loc=discard
145fun:__cxa_atexit=discard
146fun:__errno_location=discard
147fun:__newlocale=discard
148fun:__sbrk=discard
149fun:__sigsetjmp=discard
150fun:__uselocale=discard
151fun:__wctype_l=discard
152fun:access=discard
153fun:alarm=discard
154fun:atexit=discard
155fun:bind=discard
156fun:chdir=discard
157fun:close=discard
158fun:closedir=discard
159fun:connect=discard
160fun:creat=discard
161fun:dladdr=discard
162fun:dlclose=discard
163fun:epoll_create=discard
164fun:epoll_create1=discard
165fun:epoll_ctl=discard
166fun:fclose=discard
167fun:feof=discard
168fun:ferror=discard
169fun:fflush=discard
170fun:fileno=discard
171fun:fopen=discard
172fun:fprintf=discard
173fun:fputc=discard
174fun:fputc=discard
175fun:fputs=discard
176fun:fputs=discard
177fun:fseek=discard
178fun:ftell=discard
179fun:fwrite=discard
180fun:getenv=discard
181fun:getuid=discard
182fun:geteuid=discard
183fun:getpagesize=discard
184fun:getpid=discard
185fun:kill=discard
186fun:listen=discard
187fun:lseek=discard
188fun:mkdir=discard
189fun:mmap=discard
190fun:munmap=discard
191fun:open=discard
192fun:openat=discard
193fun:pipe=discard
194fun:posix_fadvise=discard
195fun:prctl=discard
196fun:printf=discard
197fun:pthread_sigmask=discard
198fun:putc=discard
199fun:putchar=discard
200fun:puts=discard
201fun:rand=discard
202fun:random=discard
203fun:remove=discard
204fun:sched_getcpu=discard
205fun:sched_get_priority_max=discard
206fun:sched_setaffinity=discard
207fun:sched_yield=discard
208fun:sem_destroy=discard
209fun:sem_init=discard
210fun:sem_post=discard
211fun:sem_wait=discard
212fun:send=discard
213fun:sendmsg=discard
214fun:sendto=discard
215fun:setsockopt=discard
216fun:shutdown=discard
217fun:sleep=discard
218fun:socket=discard
219fun:strerror=discard
220fun:strspn=discard
221fun:strcspn=discard
222fun:symlink=discard
223fun:syscall=discard
224fun:unlink=discard
225fun:uselocale=discard
226fun:vfprintf=discard
227
228# Functions that produce output does not depend on the input (need to zero the
229# shadow manually).
230fun:_dl_get_tls_static_info=custom
231fun:clock_gettime=custom
232fun:dlopen=custom
233fun:epoll_wait=custom
234fun:fgets=custom
235fun:fstat=custom
236fun:getcwd=custom
237fun:get_current_dir_name=custom
238fun:getentropy=custom
239fun:gethostname=custom
240fun:getpeername=custom
241fun:getrlimit=custom
242fun:getrusage=custom
243fun:getsockname=custom
244fun:getsockopt=custom
245fun:nanosleep=custom
246fun:pread=custom
247fun:read=custom
248fun:recvmmsg=custom
249fun:recvmsg=custom
250fun:sigaltstack=custom
251fun:socketpair=custom
252fun:stat=custom
253fun:time=custom
254
255# Functions that produce an output that depend on the input (propagate the
256# shadow manually).
257fun:ctime_r=custom
258fun:inet_pton=custom
259fun:localtime_r=custom
260fun:memcpy=custom
261fun:memmove=custom
262fun:memset=custom
263fun:strcpy=custom
264fun:strdup=custom
265fun:strncpy=custom
266fun:strtod=custom
267fun:strtol=custom
268fun:strtoll=custom
269fun:strtoul=custom
270fun:strtoull=custom
271fun:strcat=custom
272fun:strncat=custom
273
274# Functions that produce an output that is computed from the input, but is not
275# necessarily data dependent.
276fun:bcmp=custom
277fun:memchr=custom
278fun:memcmp=custom
279fun:strcasecmp=custom
280fun:strchr=custom
281fun:strcmp=custom
282fun:strlen=custom
283fun:strnlen=custom
284fun:strncasecmp=custom
285fun:strncmp=custom
286fun:strpbrk=custom
287fun:strrchr=custom
288fun:strstr=custom
289fun:strsep=custom
290
291# Functions which take action based on global state, such as running a callback
292# set by a separate function.
293fun:write=custom
294
295# Functions that take a callback (wrap the callback manually).
296fun:dl_iterate_phdr=custom
297
298fun:getpwuid_r=custom
299fun:poll=custom
300fun:sched_getaffinity=custom
301fun:select=custom
302fun:sigemptyset=custom
303fun:sigaction=custom
304fun:signal=custom
305fun:gettimeofday=custom
306
307# sprintf-like
308fun:sprintf=custom
309fun:snprintf=custom
310
311# TODO: custom
312fun:asprintf=discard
313fun:qsort=discard
314
315# fork
316fun:fork=custom
317
318###############################################################################
319# pthread
320###############################################################################
321fun:__pthread_register_cancel=discard
322fun:__pthread_unregister_cancel=discard
323fun:pthread_attr_destroy=discard
324fun:pthread_attr_getaffinity_np=discard
325fun:pthread_attr_getdetachstate=discard
326fun:pthread_attr_getguardsize=discard
327fun:pthread_attr_getinheritsched=discard
328fun:pthread_attr_getschedparam=discard
329fun:pthread_attr_getschedpolicy=discard
330fun:pthread_attr_getscope=discard
331fun:pthread_attr_getstack=discard
332fun:pthread_attr_getstackaddr=disacrd
333fun:pthread_attr_getstacksize=discard
334fun:pthread_attr_init=discard
335fun:pthread_attr_setaffinity_np=discard
336fun:pthread_attr_setdetachstate=discard
337fun:pthread_attr_setguardsize=discard
338fun:pthread_attr_setinheritsched=discard
339fun:pthread_attr_setschedparam=discard
340fun:pthread_attr_setschedpolicy=discard
341fun:pthread_attr_setscope=discard
342fun:pthread_attr_setstack=discard
343fun:pthread_attr_setstackaddr=discard
344fun:pthread_attr_setstacksize=discard
345fun:pthread_equal=discard
346fun:pthread_getschedparam=discard
347fun:pthread_getspecific=discard
348fun:pthread_key_create=discard
349fun:pthread_key_delete=discard
350fun:pthread_mutex_destroy=discard
351fun:pthread_mutex_init=discard
352fun:pthread_mutex_lock=discard
353fun:pthread_mutex_trylock=discard
354fun:pthread_mutex_unlock=discard
355fun:pthread_mutexattr_destroy=discard
356fun:pthread_mutexattr_init=discard
357fun:pthread_mutexattr_settype=discard
358fun:pthread_rwlock_destroy=discard
359fun:pthread_rwlock_init=discard
360fun:pthread_rwlock_rdlock=discard
361fun:pthread_rwlock_timedrdlock=discard
362fun:pthread_rwlock_timedwrlock=discard
363fun:pthread_rwlock_tryrdlock=discard
364fun:pthread_rwlock_trywrlock=discard
365fun:pthread_rwlock_wrlock=discard
366fun:pthread_rwlock_unlock=discard
367fun:pthread_setschedparam=discard
368fun:pthread_setname_np=discard
369fun:pthread_once=discard
370fun:pthread_self=discard
371fun:pthread_setspecific=discard
372
373# Functions that take a callback (wrap the callback manually).
374fun:pthread_create=custom
375
376# Functions that produce output does not depend on the input (need to zero the
377# shadow manually).
378fun:pthread_join=custom
379
380###############################################################################
381# libffi/libgo
382###############################################################################
383# Functions that are written in asm or are called from asm.
384fun:ffi_call_unix64=uninstrumented
385fun:ffi_call_unix64=discard
386fun:ffi_closure_unix64_inner=uninstrumented
387fun:ffi_closure_unix64_inner=discard
388fun:ffi_closure_unix64=uninstrumented
389fun:ffi_closure_unix64=discard
390fun:__go_get_closure=uninstrumented
391fun:__go_get_closure=discard
392fun:__go_makefunc_can_recover=uninstrumented
393fun:__go_makefunc_can_recover=discard
394fun:__go_makefunc_returning=uninstrumented
395fun:__go_makefunc_returning=discard
396fun:reflect.MakeFuncStubGo=uninstrumented
397fun:reflect.MakeFuncStubGo=discard
398fun:reflect.makeFuncStub=uninstrumented
399fun:reflect.makeFuncStub=discard
400
401
402###############################################################################
403# lib/Fuzzer
404###############################################################################
405# Replaces __sanitizer_cov_trace_cmp with __dfsw___sanitizer_cov_trace_cmp
406fun:__sanitizer_cov_trace_cmp1=custom
407fun:__sanitizer_cov_trace_cmp1=uninstrumented
408fun:__sanitizer_cov_trace_cmp2=custom
409fun:__sanitizer_cov_trace_cmp2=uninstrumented
410fun:__sanitizer_cov_trace_cmp4=custom
411fun:__sanitizer_cov_trace_cmp4=uninstrumented
412fun:__sanitizer_cov_trace_cmp8=custom
413fun:__sanitizer_cov_trace_cmp8=uninstrumented
414fun:__sanitizer_cov_trace_const_cmp1=custom
415fun:__sanitizer_cov_trace_const_cmp1=uninstrumented
416fun:__sanitizer_cov_trace_const_cmp2=custom
417fun:__sanitizer_cov_trace_const_cmp2=uninstrumented
418fun:__sanitizer_cov_trace_const_cmp4=custom
419fun:__sanitizer_cov_trace_const_cmp4=uninstrumented
420fun:__sanitizer_cov_trace_const_cmp8=custom
421fun:__sanitizer_cov_trace_const_cmp8=uninstrumented
422# Similar for __sanitizer_cov_trace_switch
423fun:__sanitizer_cov_trace_switch=custom
424fun:__sanitizer_cov_trace_switch=uninstrumented
425
426# Ignores all other __sanitizer callbacks.
427fun:__sanitizer_cov=uninstrumented
428fun:__sanitizer_cov=discard
429fun:__sanitizer_cov_module_init=uninstrumented
430fun:__sanitizer_cov_module_init=discard
431fun:__sanitizer_cov_with_check=uninstrumented
432fun:__sanitizer_cov_with_check=discard
433fun:__sanitizer_set_death_callback=uninstrumented
434fun:__sanitizer_set_death_callback=discard
435fun:__sanitizer_update_counter_bitset_and_clear_counters=uninstrumented
436fun:__sanitizer_update_counter_bitset_and_clear_counters=discard
437fun:__sanitizer_cov_trace_pc*=uninstrumented
438fun:__sanitizer_cov_trace_pc*=discard
439fun:__sanitizer_cov_pcs_init=uninstrumented
440fun:__sanitizer_cov_pcs_init=discard
441
442fun:__sanitizer_get_current_allocated_bytes=uninstrumented
443fun:__sanitizer_get_current_allocated_bytes=discard
444fun:__sanitizer_get_heap_size=uninstrumented
445fun:__sanitizer_get_heap_size=discard
446fun:__sanitizer_get_free_bytes=uninstrumented
447fun:__sanitizer_get_free_bytes=discard
448fun:__sanitizer_get_unmapped_bytes=uninstrumented
449fun:__sanitizer_get_unmapped_bytes=discard
450fun:__sanitizer_get_estimated_allocated_size=uninstrumented
451fun:__sanitizer_get_estimated_allocated_size=discard
452fun:__sanitizer_get_ownership=uninstrumented
453fun:__sanitizer_get_ownership=discard
454fun:__sanitizer_get_allocated_begin=uninstrumented
455fun:__sanitizer_get_allocated_begin=discard
456fun:__sanitizer_get_allocated_size=uninstrumented
457fun:__sanitizer_get_allocated_size=discard
458fun:__sanitizer_get_allocated_size_fast=uninstrumented
459fun:__sanitizer_get_allocated_size_fast=discard
460fun:__sanitizer_print_stack_trace=uninstrumented
461fun:__sanitizer_print_stack_trace=discard
462
463fun:TcmallocSlab_Internal_PushBatch_FixedShift=uninstrumented
464fun:TcmallocSlab_Internal_PushBatch_FixedShift=discard
465fun:TcmallocSlab_Internal_PushBatch_FixedShift_VCPU=uninstrumented
466fun:TcmallocSlab_Internal_PushBatch_FixedShift_VCPU=discard
467fun:TcmallocSlab_Internal_PerCpuCmpxchg64=uninstrumented
468fun:TcmallocSlab_Internal_PerCpuCmpxchg64=discard
469fun:TcmallocSlab_Internal_PerCpuCmpxchg64_VCPU=uninstrumented
470fun:TcmallocSlab_Internal_PerCpuCmpxchg64_VCPU=discard
471fun:TcmallocSlab_Internal_PopBatch_FixedShift=uninstrumented
472fun:TcmallocSlab_Internal_PopBatch_FixedShift=discard
473fun:TcmallocSlab_Internal_PopBatch_FixedShift_VCPU=uninstrumented
474fun:TcmallocSlab_Internal_PopBatch_FixedShift_VCPU=discard
475
476# Ignores the dfsan wrappers.
477fun:__dfsw_*=uninstrumented
478fun:__dfsw_*=discard
479fun:__dfso_*=uninstrumented
480fun:__dfso_*=discard
481