diff options
Diffstat (limited to 'lib/dfsan/done_abilist.txt')
-rw-r--r-- | lib/dfsan/done_abilist.txt | 255 |
1 files changed, 194 insertions, 61 deletions
diff --git a/lib/dfsan/done_abilist.txt b/lib/dfsan/done_abilist.txt index 27df3e9b707c9..15c6d1bb2e390 100644 --- a/lib/dfsan/done_abilist.txt +++ b/lib/dfsan/done_abilist.txt @@ -1,38 +1,41 @@ fun:main=uninstrumented fun:main=discard -# DFSan interface functions. +############################################################################### +# DFSan interface functions +############################################################################### fun:dfsan_union=uninstrumented fun:dfsan_union=discard - fun:dfsan_create_label=uninstrumented fun:dfsan_create_label=discard - fun:dfsan_set_label=uninstrumented fun:dfsan_set_label=discard - fun:dfsan_add_label=uninstrumented fun:dfsan_add_label=discard - fun:dfsan_get_label=uninstrumented fun:dfsan_get_label=custom - fun:dfsan_read_label=uninstrumented fun:dfsan_read_label=discard - +fun:dfsan_get_label_count=uninstrumented +fun:dfsan_get_label_count=discard fun:dfsan_get_label_info=uninstrumented fun:dfsan_get_label_info=discard - fun:dfsan_has_label=uninstrumented fun:dfsan_has_label=discard - fun:dfsan_has_label_with_desc=uninstrumented fun:dfsan_has_label_with_desc=discard +fun:dfsan_set_write_callback=uninstrumented +fun:dfsan_set_write_callback=custom -# glibc functions. +############################################################################### +# glibc +############################################################################### fun:malloc=discard fun:realloc=discard fun:free=discard + +# Functions that return a value that depends on the input, but the output might +# not be necessarily data-dependent on the input. fun:isalpha=functional fun:isdigit=functional fun:isprint=functional @@ -42,86 +45,216 @@ fun:ispunct=functional fun:isspace=functional fun:tolower=functional fun:toupper=functional + +# Functions that return a value that is data-dependent on the input. +fun:btowc=functional fun:exp=functional fun:exp2=functional +fun:fabs=functional +fun:finite=functional +fun:floor=functional +fun:fmod=functional +fun:isinf=functional +fun:isnan=functional fun:log=functional +fun:modf=functional +fun:pow=functional +fun:round=functional fun:sqrt=functional -fun:__cxa_atexit=discard -fun:open=discard -fun:pthread_key_create=discard -fun:getenv=discard +fun:wctob=functional + +# Functions that produce an output that does not depend on the input (shadow is +# zeroed automatically). +fun:__assert_fail=discard fun:__ctype_b_loc=discard +fun:__cxa_atexit=discard fun:__errno_location=discard -fun:mmap=discard -fun:munmap=discard -fun:write=discard +fun:__newlocale=discard +fun:__sbrk=discard +fun:__sigsetjmp=discard +fun:__uselocale=discard +fun:__wctype_l=discard +fun:access=discard +fun:alarm=discard +fun:atexit=discard +fun:bind=discard +fun:chdir=discard fun:close=discard -fun:pthread_equal=discard -fun:pthread_getspecific=discard -fun:pthread_setspecific=discard -fun:pthread_mutex_destroy=discard -fun:pthread_mutexattr_init=discard -fun:pthread_mutexattr_settype=discard -fun:pthread_mutex_init=discard -fun:pthread_mutex_lock=discard -fun:pthread_mutex_trylock=discard -fun:pthread_mutex_unlock=discard -fun:pthread_mutexattr_destroy=discard -fun:pthread_once=discard -fun:pthread_key_delete=discard -fun:pthread_self=discard -fun:printf=discard +fun:closedir=discard +fun:connect=discard +fun:dladdr=discard +fun:dlclose=discard +fun:fclose=discard +fun:feof=discard +fun:ferror=discard +fun:fflush=discard +fun:fileno=discard +fun:fopen=discard fun:fprintf=discard -fun:fputs=discard fun:fputc=discard -fun:fopen=discard +fun:fputc=discard +fun:fputs=discard +fun:fputs=discard fun:fseek=discard -fun:lseek=discard fun:ftell=discard -fun:fclose=discard -fun:dladdr=discard +fun:fwrite=discard +fun:getenv=discard +fun:getuid=discard +fun:geteuid=discard fun:getpagesize=discard +fun:getpid=discard +fun:kill=discard +fun:listen=discard +fun:lseek=discard +fun:mkdir=discard +fun:mmap=discard +fun:munmap=discard +fun:open=discard +fun:pipe=discard +fun:posix_fadvise=discard +fun:posix_memalign=discard +fun:prctl=discard +fun:printf=discard +fun:pthread_sigmask=discard +fun:putc=discard +fun:putchar=discard +fun:puts=discard +fun:rand=discard +fun:random=discard +fun:remove=discard fun:sched_getcpu=discard -fun:sched_getaffinity=discard +fun:sched_get_priority_max=discard fun:sched_setaffinity=discard -fun:syscall=discard +fun:sched_yield=discard +fun:sem_destroy=discard fun:sem_init=discard fun:sem_post=discard fun:sem_wait=discard -fun:sched_yield=discard -fun:uselocale=discard -fun:rand=discard -fun:random=discard +fun:send=discard +fun:sendmsg=discard +fun:sendto=discard +fun:setsockopt=discard +fun:shutdown=discard fun:sleep=discard +fun:socket=discard +fun:strerror=discard +fun:strspn=discard +fun:strcspn=discard +fun:symlink=discard +fun:syscall=discard +fun:unlink=discard +fun:uselocale=discard -fun:stat=custom +# Functions that produce output does not depend on the input (need to zero the +# shadow manually). +fun:calloc=custom +fun:clock_gettime=custom +fun:dlopen=custom +fun:fgets=custom fun:fstat=custom -fun:memcmp=custom +fun:getcwd=custom +fun:get_current_dir_name=custom +fun:gethostname=custom +fun:getrlimit=custom +fun:getrusage=custom +fun:nanosleep=custom +fun:pread=custom +fun:read=custom +fun:socketpair=custom +fun:stat=custom +fun:time=custom + +# Functions that produce an output that depend on the input (propagate the +# shadow manually). +fun:ctime_r=custom +fun:inet_pton=custom +fun:localtime_r=custom fun:memcpy=custom fun:memset=custom -fun:strcmp=custom +fun:strcpy=custom fun:strdup=custom -fun:strncmp=custom fun:strncpy=custom +fun:strtod=custom +fun:strtol=custom +fun:strtoll=custom +fun:strtoul=custom +fun:strtoull=custom + +# Functions that produce an output that is computed from the input, but is not +# necessarily data dependent. +fun:memchr=custom +fun:memcmp=custom fun:strcasecmp=custom -fun:strncasecmp=custom fun:strchr=custom +fun:strcmp=custom fun:strlen=custom -fun:calloc=custom -fun:dlopen=custom -fun:read=custom -fun:pread=custom -fun:clock_gettime=custom -fun:pthread_create=custom +fun:strncasecmp=custom +fun:strncmp=custom +fun:strrchr=custom +fun:strstr=custom + +# Functions which take action based on global state, such as running a callback +# set by a sepperate function. +fun:write=custom + +# Functions that take a callback (wrap the callback manually). fun:dl_iterate_phdr=custom +fun:getpwuid_r=custom +fun:poll=custom +fun:sched_getaffinity=custom +fun:select=custom +fun:sigemptyset=custom +fun:sigaction=custom +fun:gettimeofday=custom + +# sprintf-like +fun:sprintf=custom +fun:snprintf=custom + # TODO: custom -fun:snprintf=discard -fun:vsnprintf=discard fun:asprintf=discard fun:qsort=discard -fun:strtoll=discard -fun:strtoull=discard -fun:sigemptyset=discard -fun:sigaction=discard -fun:gettimeofday=discard + +############################################################################### +# pthread +############################################################################### +fun:pthread_equal=discard +fun:pthread_getspecific=discard +fun:pthread_key_create=discard +fun:pthread_key_delete=discard +fun:pthread_mutex_destroy=discard +fun:pthread_mutex_init=discard +fun:pthread_mutex_lock=discard +fun:pthread_mutex_trylock=discard +fun:pthread_mutex_unlock=discard +fun:pthread_mutexattr_destroy=discard +fun:pthread_mutexattr_init=discard +fun:pthread_mutexattr_settype=discard +fun:pthread_once=discard +fun:pthread_self=discard +fun:pthread_setspecific=discard + +# Functions that take a callback (wrap the callback manually). +fun:pthread_create=custom + +############################################################################### +# libffi/libgo +############################################################################### +# Functions that are written in asm or are called from asm. +fun:ffi_call_unix64=uninstrumented +fun:ffi_call_unix64=discard +fun:ffi_closure_unix64_inner=uninstrumented +fun:ffi_closure_unix64_inner=discard +fun:ffi_closure_unix64=uninstrumented +fun:ffi_closure_unix64=discard +fun:__go_get_closure=uninstrumented +fun:__go_get_closure=discard +fun:__go_makefunc_can_recover=uninstrumented +fun:__go_makefunc_can_recover=discard +fun:__go_makefunc_returning=uninstrumented +fun:__go_makefunc_returning=discard +fun:reflect.MakeFuncStubGo=uninstrumented +fun:reflect.MakeFuncStubGo=discard +fun:reflect.makeFuncStub=uninstrumented +fun:reflect.makeFuncStub=discard |