[compiler-rt] r195110 - [dfsan] Tweaks for the ABI list
Peter Collingbourne
peter at pcc.me.uk
Mon Nov 18 22:33:13 PST 2013
Author: pcc
Date: Tue Nov 19 00:33:13 2013
New Revision: 195110
URL: http://llvm.org/viewvc/llvm-project?rev=195110&view=rev
Log:
[dfsan] Tweaks for the ABI list
- Add a bunch of glibc functions to the ABI list
- Group similar functions in the ABI
Patch by Lorenzo Martignoni!
Differential Revision: http://llvm-reviews.chandlerc.com/D2185
Modified:
compiler-rt/trunk/lib/dfsan/done_abilist.txt
Modified: compiler-rt/trunk/lib/dfsan/done_abilist.txt
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/dfsan/done_abilist.txt?rev=195110&r1=195109&r2=195110&view=diff
==============================================================================
--- compiler-rt/trunk/lib/dfsan/done_abilist.txt (original)
+++ compiler-rt/trunk/lib/dfsan/done_abilist.txt Tue Nov 19 00:33:13 2013
@@ -1,38 +1,37 @@
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_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
-# 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,77 +41,97 @@ 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:exp=functional
fun:exp2=functional
fun:log=functional
fun:sqrt=functional
-fun:__cxa_atexit=discard
-fun:open=discard
-fun:pthread_key_create=discard
-fun:getenv=discard
+
+# Functions that produce an output that does not depend on the input (shadow is
+# zeroed automatically).
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:__uselocale=discard
+fun:access=discard
+fun:atexit=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:connect=discard
+fun:dladdr=discard
+fun:fclose=discard
+fun:feof=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:geteuid=discard
fun:getpagesize=discard
+fun:getpid=discard
+fun:lseek=discard
+fun:mkdir=discard
+fun:mmap=discard
+fun:munmap=discard
+fun:open=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_setaffinity=discard
-fun:syscall=discard
+fun:sched_yield=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:sleep=discard
+fun:strerror=discard
+fun:syscall=discard
+fun:uselocale=discard
+fun:write=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:fstat=custom
-fun:memcmp=custom
+fun:pread=custom
+fun:read=custom
+fun:stat=custom
+
+# Functions that produce an output that depend on the input (propagate the
+# shadow manually).
fun:memcpy=custom
fun:memset=custom
-fun:strcmp=custom
fun:strdup=custom
-fun:strncmp=custom
fun:strncpy=custom
+
+# Functions that produce an output that is computed from the input, but is not
+# necessarily data dependent.
+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
+
+# Functions that take a callback (wrap the callback manually).
fun:dl_iterate_phdr=custom
# TODO: custom
@@ -125,3 +144,30 @@ fun:strtoull=discard
fun:sigemptyset=discard
fun:sigaction=discard
fun:gettimeofday=discard
+fun:get_current_dir_name=discard
+fun:getpwuid_r=discard
+fun:poll=discard
+fun:sched_getaffinity=discard
+fun:select=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
More information about the llvm-commits
mailing list