1274201Sdimfun:main=uninstrumented
2274201Sdimfun:main=discard
3274201Sdim
4276789Sdim###############################################################################
5276789Sdim# DFSan interface functions
6276789Sdim###############################################################################
7274201Sdimfun:dfsan_union=uninstrumented
8274201Sdimfun:dfsan_union=discard
9274201Sdimfun:dfsan_create_label=uninstrumented
10274201Sdimfun:dfsan_create_label=discard
11274201Sdimfun:dfsan_set_label=uninstrumented
12274201Sdimfun:dfsan_set_label=discard
13274201Sdimfun:dfsan_add_label=uninstrumented
14274201Sdimfun:dfsan_add_label=discard
15274201Sdimfun:dfsan_get_label=uninstrumented
16274201Sdimfun:dfsan_get_label=custom
17274201Sdimfun:dfsan_read_label=uninstrumented
18274201Sdimfun:dfsan_read_label=discard
19276789Sdimfun:dfsan_get_label_count=uninstrumented
20276789Sdimfun:dfsan_get_label_count=discard
21274201Sdimfun:dfsan_get_label_info=uninstrumented
22274201Sdimfun:dfsan_get_label_info=discard
23274201Sdimfun:dfsan_has_label=uninstrumented
24274201Sdimfun:dfsan_has_label=discard
25274201Sdimfun:dfsan_has_label_with_desc=uninstrumented
26274201Sdimfun:dfsan_has_label_with_desc=discard
27276789Sdimfun:dfsan_set_write_callback=uninstrumented
28276789Sdimfun:dfsan_set_write_callback=custom
29353358Sdimfun:dfsan_flush=uninstrumented
30353358Sdimfun:dfsan_flush=discard
31274201Sdim
32276789Sdim###############################################################################
33276789Sdim# glibc
34276789Sdim###############################################################################
35274201Sdimfun:malloc=discard
36274201Sdimfun:realloc=discard
37274201Sdimfun:free=discard
38276789Sdim
39276789Sdim# Functions that return a value that depends on the input, but the output might
40276789Sdim# not be necessarily data-dependent on the input.
41274201Sdimfun:isalpha=functional
42274201Sdimfun:isdigit=functional
43274201Sdimfun:isprint=functional
44274201Sdimfun:isxdigit=functional
45274201Sdimfun:isalnum=functional
46274201Sdimfun:ispunct=functional
47274201Sdimfun:isspace=functional
48274201Sdimfun:tolower=functional
49274201Sdimfun:toupper=functional
50276789Sdim
51276789Sdim# Functions that return a value that is data-dependent on the input.
52276789Sdimfun:btowc=functional
53274201Sdimfun:exp=functional
54274201Sdimfun:exp2=functional
55276789Sdimfun:fabs=functional
56276789Sdimfun:finite=functional
57276789Sdimfun:floor=functional
58276789Sdimfun:fmod=functional
59276789Sdimfun:isinf=functional
60276789Sdimfun:isnan=functional
61274201Sdimfun:log=functional
62276789Sdimfun:modf=functional
63276789Sdimfun:pow=functional
64276789Sdimfun:round=functional
65274201Sdimfun:sqrt=functional
66276789Sdimfun:wctob=functional
67276789Sdim
68276789Sdim# Functions that produce an output that does not depend on the input (shadow is
69276789Sdim# zeroed automatically).
70276789Sdimfun:__assert_fail=discard
71276789Sdimfun:__ctype_b_loc=discard
72274201Sdimfun:__cxa_atexit=discard
73274201Sdimfun:__errno_location=discard
74276789Sdimfun:__newlocale=discard
75276789Sdimfun:__sbrk=discard
76276789Sdimfun:__sigsetjmp=discard
77276789Sdimfun:__uselocale=discard
78276789Sdimfun:__wctype_l=discard
79276789Sdimfun:access=discard
80276789Sdimfun:alarm=discard
81276789Sdimfun:atexit=discard
82276789Sdimfun:bind=discard
83276789Sdimfun:chdir=discard
84274201Sdimfun:close=discard
85276789Sdimfun:closedir=discard
86276789Sdimfun:connect=discard
87276789Sdimfun:dladdr=discard
88276789Sdimfun:dlclose=discard
89276789Sdimfun:fclose=discard
90276789Sdimfun:feof=discard
91276789Sdimfun:ferror=discard
92276789Sdimfun:fflush=discard
93276789Sdimfun:fileno=discard
94276789Sdimfun:fopen=discard
95274201Sdimfun:fprintf=discard
96276789Sdimfun:fputc=discard
97276789Sdimfun:fputc=discard
98274201Sdimfun:fputs=discard
99276789Sdimfun:fputs=discard
100274201Sdimfun:fseek=discard
101274201Sdimfun:ftell=discard
102276789Sdimfun:fwrite=discard
103276789Sdimfun:getenv=discard
104276789Sdimfun:getuid=discard
105276789Sdimfun:geteuid=discard
106274201Sdimfun:getpagesize=discard
107276789Sdimfun:getpid=discard
108276789Sdimfun:kill=discard
109276789Sdimfun:listen=discard
110276789Sdimfun:lseek=discard
111276789Sdimfun:mkdir=discard
112276789Sdimfun:mmap=discard
113276789Sdimfun:munmap=discard
114276789Sdimfun:open=discard
115276789Sdimfun:pipe=discard
116276789Sdimfun:posix_fadvise=discard
117276789Sdimfun:posix_memalign=discard
118276789Sdimfun:prctl=discard
119276789Sdimfun:printf=discard
120276789Sdimfun:pthread_sigmask=discard
121276789Sdimfun:putc=discard
122276789Sdimfun:putchar=discard
123276789Sdimfun:puts=discard
124276789Sdimfun:rand=discard
125276789Sdimfun:random=discard
126276789Sdimfun:remove=discard
127274201Sdimfun:sched_getcpu=discard
128276789Sdimfun:sched_get_priority_max=discard
129274201Sdimfun:sched_setaffinity=discard
130276789Sdimfun:sched_yield=discard
131276789Sdimfun:sem_destroy=discard
132274201Sdimfun:sem_init=discard
133274201Sdimfun:sem_post=discard
134274201Sdimfun:sem_wait=discard
135276789Sdimfun:send=discard
136276789Sdimfun:sendmsg=discard
137276789Sdimfun:sendto=discard
138276789Sdimfun:setsockopt=discard
139276789Sdimfun:shutdown=discard
140276789Sdimfun:sleep=discard
141276789Sdimfun:socket=discard
142276789Sdimfun:strerror=discard
143276789Sdimfun:strspn=discard
144276789Sdimfun:strcspn=discard
145276789Sdimfun:symlink=discard
146276789Sdimfun:syscall=discard
147276789Sdimfun:unlink=discard
148274201Sdimfun:uselocale=discard
149274201Sdim
150276789Sdim# Functions that produce output does not depend on the input (need to zero the
151276789Sdim# shadow manually).
152276789Sdimfun:calloc=custom
153276789Sdimfun:clock_gettime=custom
154276789Sdimfun:dlopen=custom
155276789Sdimfun:fgets=custom
156276789Sdimfun:fstat=custom
157276789Sdimfun:getcwd=custom
158276789Sdimfun:get_current_dir_name=custom
159276789Sdimfun:gethostname=custom
160276789Sdimfun:getrlimit=custom
161276789Sdimfun:getrusage=custom
162276789Sdimfun:nanosleep=custom
163276789Sdimfun:pread=custom
164276789Sdimfun:read=custom
165276789Sdimfun:socketpair=custom
166274201Sdimfun:stat=custom
167276789Sdimfun:time=custom
168276789Sdim
169276789Sdim# Functions that produce an output that depend on the input (propagate the
170276789Sdim# shadow manually).
171276789Sdimfun:ctime_r=custom
172276789Sdimfun:inet_pton=custom
173276789Sdimfun:localtime_r=custom
174274201Sdimfun:memcpy=custom
175274201Sdimfun:memset=custom
176276789Sdimfun:strcpy=custom
177274201Sdimfun:strdup=custom
178274201Sdimfun:strncpy=custom
179276789Sdimfun:strtod=custom
180276789Sdimfun:strtol=custom
181276789Sdimfun:strtoll=custom
182276789Sdimfun:strtoul=custom
183276789Sdimfun:strtoull=custom
184276789Sdim
185276789Sdim# Functions that produce an output that is computed from the input, but is not
186276789Sdim# necessarily data dependent.
187276789Sdimfun:memchr=custom
188276789Sdimfun:memcmp=custom
189274201Sdimfun:strcasecmp=custom
190274201Sdimfun:strchr=custom
191276789Sdimfun:strcmp=custom
192274201Sdimfun:strlen=custom
193276789Sdimfun:strncasecmp=custom
194276789Sdimfun:strncmp=custom
195276789Sdimfun:strrchr=custom
196276789Sdimfun:strstr=custom
197276789Sdim
198276789Sdim# Functions which take action based on global state, such as running a callback
199276789Sdim# set by a sepperate function.
200276789Sdimfun:write=custom
201276789Sdim
202276789Sdim# Functions that take a callback (wrap the callback manually).
203274201Sdimfun:dl_iterate_phdr=custom
204274201Sdim
205276789Sdimfun:getpwuid_r=custom
206276789Sdimfun:poll=custom
207276789Sdimfun:sched_getaffinity=custom
208276789Sdimfun:select=custom
209276789Sdimfun:sigemptyset=custom
210276789Sdimfun:sigaction=custom
211276789Sdimfun:gettimeofday=custom
212276789Sdim
213276789Sdim# sprintf-like
214276789Sdimfun:sprintf=custom
215276789Sdimfun:snprintf=custom
216276789Sdim
217274201Sdim# TODO: custom
218274201Sdimfun:asprintf=discard
219274201Sdimfun:qsort=discard
220276789Sdim
221276789Sdim###############################################################################
222276789Sdim# pthread
223276789Sdim###############################################################################
224276789Sdimfun:pthread_equal=discard
225276789Sdimfun:pthread_getspecific=discard
226276789Sdimfun:pthread_key_create=discard
227276789Sdimfun:pthread_key_delete=discard
228276789Sdimfun:pthread_mutex_destroy=discard
229276789Sdimfun:pthread_mutex_init=discard
230276789Sdimfun:pthread_mutex_lock=discard
231276789Sdimfun:pthread_mutex_trylock=discard
232276789Sdimfun:pthread_mutex_unlock=discard
233276789Sdimfun:pthread_mutexattr_destroy=discard
234276789Sdimfun:pthread_mutexattr_init=discard
235276789Sdimfun:pthread_mutexattr_settype=discard
236276789Sdimfun:pthread_once=discard
237276789Sdimfun:pthread_self=discard
238276789Sdimfun:pthread_setspecific=discard
239276789Sdim
240276789Sdim# Functions that take a callback (wrap the callback manually).
241276789Sdimfun:pthread_create=custom
242276789Sdim
243276789Sdim###############################################################################
244276789Sdim# libffi/libgo
245276789Sdim###############################################################################
246276789Sdim# Functions that are written in asm or are called from asm.
247276789Sdimfun:ffi_call_unix64=uninstrumented
248276789Sdimfun:ffi_call_unix64=discard
249276789Sdimfun:ffi_closure_unix64_inner=uninstrumented
250276789Sdimfun:ffi_closure_unix64_inner=discard
251276789Sdimfun:ffi_closure_unix64=uninstrumented
252276789Sdimfun:ffi_closure_unix64=discard
253276789Sdimfun:__go_get_closure=uninstrumented
254276789Sdimfun:__go_get_closure=discard
255276789Sdimfun:__go_makefunc_can_recover=uninstrumented
256276789Sdimfun:__go_makefunc_can_recover=discard
257276789Sdimfun:__go_makefunc_returning=uninstrumented
258276789Sdimfun:__go_makefunc_returning=discard
259276789Sdimfun:reflect.MakeFuncStubGo=uninstrumented
260276789Sdimfun:reflect.MakeFuncStubGo=discard
261276789Sdimfun:reflect.makeFuncStub=uninstrumented
262276789Sdimfun:reflect.makeFuncStub=discard
263288943Sdim
264288943Sdim
265288943Sdim###############################################################################
266288943Sdim# lib/Fuzzer
267288943Sdim###############################################################################
268288943Sdim# Replaces __sanitizer_cov_trace_cmp with __dfsw___sanitizer_cov_trace_cmp
269314564Sdimfun:__sanitizer_cov_trace_cmp1=custom
270314564Sdimfun:__sanitizer_cov_trace_cmp1=uninstrumented
271314564Sdimfun:__sanitizer_cov_trace_cmp2=custom
272314564Sdimfun:__sanitizer_cov_trace_cmp2=uninstrumented
273314564Sdimfun:__sanitizer_cov_trace_cmp4=custom
274314564Sdimfun:__sanitizer_cov_trace_cmp4=uninstrumented
275314564Sdimfun:__sanitizer_cov_trace_cmp8=custom
276314564Sdimfun:__sanitizer_cov_trace_cmp8=uninstrumented
277341825Sdimfun:__sanitizer_cov_trace_const_cmp1=custom
278341825Sdimfun:__sanitizer_cov_trace_const_cmp1=uninstrumented
279341825Sdimfun:__sanitizer_cov_trace_const_cmp2=custom
280341825Sdimfun:__sanitizer_cov_trace_const_cmp2=uninstrumented
281341825Sdimfun:__sanitizer_cov_trace_const_cmp4=custom
282341825Sdimfun:__sanitizer_cov_trace_const_cmp4=uninstrumented
283341825Sdimfun:__sanitizer_cov_trace_const_cmp8=custom
284341825Sdimfun:__sanitizer_cov_trace_const_cmp8=uninstrumented
285296417Sdim# Similar for __sanitizer_cov_trace_switch
286296417Sdimfun:__sanitizer_cov_trace_switch=custom
287296417Sdimfun:__sanitizer_cov_trace_switch=uninstrumented
288288943Sdim
289288943Sdim# Ignores all other __sanitizer callbacks.
290296417Sdimfun:__sanitizer_cov=uninstrumented
291296417Sdimfun:__sanitizer_cov=discard
292296417Sdimfun:__sanitizer_cov_module_init=uninstrumented
293296417Sdimfun:__sanitizer_cov_module_init=discard
294296417Sdimfun:__sanitizer_cov_with_check=uninstrumented
295296417Sdimfun:__sanitizer_cov_with_check=discard
296296417Sdimfun:__sanitizer_set_death_callback=uninstrumented
297296417Sdimfun:__sanitizer_set_death_callback=discard
298296417Sdimfun:__sanitizer_update_counter_bitset_and_clear_counters=uninstrumented
299296417Sdimfun:__sanitizer_update_counter_bitset_and_clear_counters=discard
300341825Sdimfun:__sanitizer_cov_trace_pc*=uninstrumented
301341825Sdimfun:__sanitizer_cov_trace_pc*=discard
302341825Sdimfun:__sanitizer_cov_pcs_init=uninstrumented
303341825Sdimfun:__sanitizer_cov_pcs_init=discard
304288943Sdim
305296417Sdim# Ignores the dfsan wrappers.
306296417Sdimfun:__dfsw_*=uninstrumented
307296417Sdimfun:__dfsw_*=discard
308