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