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