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