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