[compiler-rt] r184747 - tsan: update dynamic export syms file

Dmitry Vyukov dvyukov at google.com
Mon Jun 24 08:17:36 PDT 2013


Author: dvyukov
Date: Mon Jun 24 10:17:36 2013
New Revision: 184747

URL: http://llvm.org/viewvc/llvm-project?rev=184747&view=rev
Log:
tsan: update dynamic export syms file
now it includes proper functions (including interceptors)
and does not include local functions that lead to build failures

Added:
    compiler-rt/trunk/lib/tsan/gen_dynamic_list.sh   (with props)
Modified:
    compiler-rt/trunk/lib/tsan/Makefile.old
    compiler-rt/trunk/lib/tsan/rtl/tsan.syms

Modified: compiler-rt/trunk/lib/tsan/Makefile.old
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/Makefile.old?rev=184747&r1=184746&r2=184747&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/Makefile.old (original)
+++ compiler-rt/trunk/lib/tsan/Makefile.old Mon Jun 24 10:17:36 2013
@@ -64,6 +64,8 @@ run: all
 
 presubmit:
 	../sanitizer_common/scripts/check_lint.sh
+	./gen_dynamic_list.sh > rtl/tsan.syms.new
+	diff rtl/tsan.syms rtl/tsan.syms.new
 	# Debug build with clang.
 	$(MAKE) -f Makefile.old clean
 	$(MAKE) -f Makefile.old run DEBUG=1 -j 16 CC=$(CLANG) CXX=$(CLANG)++

Added: compiler-rt/trunk/lib/tsan/gen_dynamic_list.sh
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/gen_dynamic_list.sh?rev=184747&view=auto
==============================================================================
--- compiler-rt/trunk/lib/tsan/gen_dynamic_list.sh (added)
+++ compiler-rt/trunk/lib/tsan/gen_dynamic_list.sh Mon Jun 24 10:17:36 2013
@@ -0,0 +1,47 @@
+#!/bin/bash
+set -e
+
+function collect() {
+  while read line ; do
+    if [[ $line =~ ^(.*)((TSAN_INTERCEPT|INTERCEPT_FUNCTION)\()([a-z,A-Z,0-9,_]+)(.*)$ ]] ; then
+      results+=" ${BASH_REMATCH[4]}"
+      results+=" __interceptor_${BASH_REMATCH[4]}"
+    fi
+  done < "$1"
+}
+
+results+=" __tsan_init"
+results+=" __tsan_read*"
+results+=" __tsan_write*"
+results+=" __tsan_vptr*"
+results+=" __tsan_func*"
+results+=" __tsan_atomic*"
+results+=" __tsan_java*"
+results+=" __tsan_unaligned*"
+results+=" __tsan_release"
+results+=" __tsan_acquire"
+results+=" __sanitizer_unaligned*"
+results+=" __sanitizer_syscall*"
+results+=" _Znwm"
+results+=" _Znam"
+results+=" _ZnwmRKSt9nothrow_t"
+results+=" _ZnamRKSt9nothrow_t"
+results+=" _ZdlPv"
+results+=" _ZdlPvRKSt9nothrow_t"
+results+=" _ZdaPv"
+results+=" _ZdaPvRKSt9nothrow_t"
+results+=" Annotate*"
+results+=" WTFAnnotate*"
+results+=" RunningOnValgrind"
+
+collect rtl/tsan_interceptors.cc
+collect ../sanitizer_common/sanitizer_common_interceptors.inc
+
+results=`for i in $results; do echo $i; done | sort -f`
+echo "# AUTO GENERATED by compiler-rt/lib/tsan/gen_dynamic_list.sh; EDITING IS FUTILE."
+echo "{"
+for i in $results; do
+  echo "  $i;"
+done
+echo "};"
+

Propchange: compiler-rt/trunk/lib/tsan/gen_dynamic_list.sh
------------------------------------------------------------------------------
    svn:executable = *

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan.syms
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan.syms?rev=184747&r1=184746&r2=184747&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan.syms (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan.syms Mon Jun 24 10:17:36 2013
@@ -1,5 +1,394 @@
+# AUTO GENERATED by compiler-rt/lib/tsan/gen_dynamic_list.sh; EDITING IS FUTILE.
 {
-  __tsan_*;
-  __sanitizer_syscall_pre_*;
-  __sanitizer_syscall_post_*;
+  abort;
+  accept;
+  accept4;
+  Annotate*;
+  asctime_r;
+  bind;
+  calloc;
+  cfree;
+  clock_settime;
+  close;
+  connect;
+  creat;
+  creat64;
+  dup;
+  dup2;
+  dup3;
+  epoll_create;
+  epoll_create1;
+  epoll_ctl;
+  epoll_wait;
+  eventfd;
+  fclose;
+  fflush;
+  fopen;
+  fork;
+  fread;
+  free;
+  freopen;
+  frexp;
+  frexpl;
+  fstat;
+  fstat64;
+  func;
+  fwrite;
+  getaddrinfo;
+  getgrgid;
+  getgrgid_r;
+  gethostbyname2;
+  gethostbyname2_r;
+  getpeername;
+  getsockname;
+  getsockopt;
+  gettimeofday;
+  glob64;
+  inet_aton;
+  inet_pton;
+  inotify_init;
+  inotify_init1;
+  ioctl;
+  kill;
+  listen;
+  longjmp;
+  lstat;
+  lstat64;
+  malloc;
+  memalign;
+  memchr;
+  memcmp;
+  memcpy;
+  memmove;
+  memrchr;
+  memset;
+  mlock;
+  mlockall;
+  mmap;
+  mmap64;
+  modfl;
+  munlock;
+  munlockall;
+  munmap;
+  nanosleep;
+  on_exit;
+  open;
+  open64;
+  opendir;
+  pipe;
+  pipe2;
+  poll;
+  posix_memalign;
+  prctl;
+  pread;
+  pread64;
+  preadv;
+  preadv64;
+  pthread_barrier_destroy;
+  pthread_barrier_init;
+  pthread_barrier_wait;
+  pthread_cond_broadcast;
+  pthread_cond_destroy;
+  pthread_cond_init;
+  pthread_cond_signal;
+  pthread_cond_timedwait;
+  pthread_cond_wait;
+  pthread_create;
+  pthread_detach;
+  pthread_getschedparam;
+  pthread_join;
+  pthread_kill;
+  pthread_mutex_destroy;
+  pthread_mutex_init;
+  pthread_mutex_lock;
+  pthread_mutex_timedlock;
+  pthread_mutex_trylock;
+  pthread_mutex_unlock;
+  pthread_once;
+  pthread_rwlock_destroy;
+  pthread_rwlock_init;
+  pthread_rwlock_rdlock;
+  pthread_rwlock_timedrdlock;
+  pthread_rwlock_timedwrlock;
+  pthread_rwlock_tryrdlock;
+  pthread_rwlock_trywrlock;
+  pthread_rwlock_unlock;
+  pthread_rwlock_wrlock;
+  pthread_spin_destroy;
+  pthread_spin_init;
+  pthread_spin_lock;
+  pthread_spin_trylock;
+  pthread_spin_unlock;
+  puts;
+  pvalloc;
+  pwrite;
+  pwrite64;
+  pwritev;
+  pwritev64;
+  raise;
+  read;
+  readv;
+  realloc;
+  recv;
+  recvmsg;
+  rmdir;
+  RunningOnValgrind;
+  sem_destroy;
+  sem_getvalue;
+  sem_init;
+  sem_post;
+  sem_timedwait;
+  sem_trywait;
+  sem_wait;
+  send;
+  sendmsg;
+  setitimer;
+  setjmp;
+  sigaction;
+  siglongjmp;
+  signal;
+  signalfd;
+  sigsetjmp;
+  sleep;
+  socket;
+  socketpair;
+  stat;
+  stat64;
+  strcasecmp;
+  strchr;
+  strchrnul;
+  strcmp;
+  strcpy;
+  strlen;
+  strncasecmp;
+  strncmp;
+  strncpy;
+  strrchr;
+  strstr;
+  sysinfo;
+  time;
+  unlink;
+  usleep;
+  valloc;
+  wait4;
+  write;
+  writev;
+  WTFAnnotate*;
+  _setjmp;
+  _ZdaPv;
+  _ZdaPvRKSt9nothrow_t;
+  _ZdlPv;
+  _ZdlPvRKSt9nothrow_t;
+  _Znam;
+  _ZnamRKSt9nothrow_t;
+  _Znwm;
+  _ZnwmRKSt9nothrow_t;
+  __close;
+  __cxa_atexit;
+  __fxstat;
+  __fxstat64;
+  __interceptor_abort;
+  __interceptor_accept;
+  __interceptor_accept4;
+  __interceptor_asctime_r;
+  __interceptor_bind;
+  __interceptor_calloc;
+  __interceptor_cfree;
+  __interceptor_clock_settime;
+  __interceptor_close;
+  __interceptor_connect;
+  __interceptor_creat;
+  __interceptor_creat64;
+  __interceptor_dup;
+  __interceptor_dup2;
+  __interceptor_dup3;
+  __interceptor_epoll_create;
+  __interceptor_epoll_create1;
+  __interceptor_epoll_ctl;
+  __interceptor_epoll_wait;
+  __interceptor_eventfd;
+  __interceptor_fclose;
+  __interceptor_fflush;
+  __interceptor_fopen;
+  __interceptor_fork;
+  __interceptor_fread;
+  __interceptor_free;
+  __interceptor_freopen;
+  __interceptor_frexp;
+  __interceptor_frexpl;
+  __interceptor_fstat;
+  __interceptor_fstat64;
+  __interceptor_func;
+  __interceptor_fwrite;
+  __interceptor_getaddrinfo;
+  __interceptor_getgrgid;
+  __interceptor_getgrgid_r;
+  __interceptor_gethostbyname2;
+  __interceptor_gethostbyname2_r;
+  __interceptor_getpeername;
+  __interceptor_getsockname;
+  __interceptor_getsockopt;
+  __interceptor_gettimeofday;
+  __interceptor_glob64;
+  __interceptor_inet_aton;
+  __interceptor_inet_pton;
+  __interceptor_inotify_init;
+  __interceptor_inotify_init1;
+  __interceptor_ioctl;
+  __interceptor_kill;
+  __interceptor_listen;
+  __interceptor_longjmp;
+  __interceptor_lstat;
+  __interceptor_lstat64;
+  __interceptor_malloc;
+  __interceptor_memalign;
+  __interceptor_memchr;
+  __interceptor_memcmp;
+  __interceptor_memcpy;
+  __interceptor_memmove;
+  __interceptor_memrchr;
+  __interceptor_memset;
+  __interceptor_mlock;
+  __interceptor_mlockall;
+  __interceptor_mmap;
+  __interceptor_mmap64;
+  __interceptor_modfl;
+  __interceptor_munlock;
+  __interceptor_munlockall;
+  __interceptor_munmap;
+  __interceptor_nanosleep;
+  __interceptor_on_exit;
+  __interceptor_open;
+  __interceptor_open64;
+  __interceptor_opendir;
+  __interceptor_pipe;
+  __interceptor_pipe2;
+  __interceptor_poll;
+  __interceptor_posix_memalign;
+  __interceptor_prctl;
+  __interceptor_pread;
+  __interceptor_pread64;
+  __interceptor_preadv;
+  __interceptor_preadv64;
+  __interceptor_pthread_barrier_destroy;
+  __interceptor_pthread_barrier_init;
+  __interceptor_pthread_barrier_wait;
+  __interceptor_pthread_cond_broadcast;
+  __interceptor_pthread_cond_destroy;
+  __interceptor_pthread_cond_init;
+  __interceptor_pthread_cond_signal;
+  __interceptor_pthread_cond_timedwait;
+  __interceptor_pthread_cond_wait;
+  __interceptor_pthread_create;
+  __interceptor_pthread_detach;
+  __interceptor_pthread_getschedparam;
+  __interceptor_pthread_join;
+  __interceptor_pthread_kill;
+  __interceptor_pthread_mutex_destroy;
+  __interceptor_pthread_mutex_init;
+  __interceptor_pthread_mutex_lock;
+  __interceptor_pthread_mutex_timedlock;
+  __interceptor_pthread_mutex_trylock;
+  __interceptor_pthread_mutex_unlock;
+  __interceptor_pthread_once;
+  __interceptor_pthread_rwlock_destroy;
+  __interceptor_pthread_rwlock_init;
+  __interceptor_pthread_rwlock_rdlock;
+  __interceptor_pthread_rwlock_timedrdlock;
+  __interceptor_pthread_rwlock_timedwrlock;
+  __interceptor_pthread_rwlock_tryrdlock;
+  __interceptor_pthread_rwlock_trywrlock;
+  __interceptor_pthread_rwlock_unlock;
+  __interceptor_pthread_rwlock_wrlock;
+  __interceptor_pthread_spin_destroy;
+  __interceptor_pthread_spin_init;
+  __interceptor_pthread_spin_lock;
+  __interceptor_pthread_spin_trylock;
+  __interceptor_pthread_spin_unlock;
+  __interceptor_puts;
+  __interceptor_pvalloc;
+  __interceptor_pwrite;
+  __interceptor_pwrite64;
+  __interceptor_pwritev;
+  __interceptor_pwritev64;
+  __interceptor_raise;
+  __interceptor_read;
+  __interceptor_readv;
+  __interceptor_realloc;
+  __interceptor_recv;
+  __interceptor_recvmsg;
+  __interceptor_rmdir;
+  __interceptor_sem_destroy;
+  __interceptor_sem_getvalue;
+  __interceptor_sem_init;
+  __interceptor_sem_post;
+  __interceptor_sem_timedwait;
+  __interceptor_sem_trywait;
+  __interceptor_sem_wait;
+  __interceptor_send;
+  __interceptor_sendmsg;
+  __interceptor_setitimer;
+  __interceptor_setjmp;
+  __interceptor_sigaction;
+  __interceptor_siglongjmp;
+  __interceptor_signal;
+  __interceptor_signalfd;
+  __interceptor_sigsetjmp;
+  __interceptor_sleep;
+  __interceptor_socket;
+  __interceptor_socketpair;
+  __interceptor_stat;
+  __interceptor_stat64;
+  __interceptor_strcasecmp;
+  __interceptor_strchr;
+  __interceptor_strchrnul;
+  __interceptor_strcmp;
+  __interceptor_strcpy;
+  __interceptor_strlen;
+  __interceptor_strncasecmp;
+  __interceptor_strncmp;
+  __interceptor_strncpy;
+  __interceptor_strrchr;
+  __interceptor_strstr;
+  __interceptor_sysinfo;
+  __interceptor_time;
+  __interceptor_unlink;
+  __interceptor_usleep;
+  __interceptor_valloc;
+  __interceptor_wait4;
+  __interceptor_write;
+  __interceptor_writev;
+  __interceptor__setjmp;
+  __interceptor___close;
+  __interceptor___cxa_atexit;
+  __interceptor___fxstat;
+  __interceptor___fxstat64;
+  __interceptor___isoc99_vfscanf;
+  __interceptor___libc_memalign;
+  __interceptor___lxstat;
+  __interceptor___lxstat64;
+  __interceptor___res_iclose;
+  __interceptor___sigsetjmp;
+  __interceptor___xstat;
+  __interceptor___xstat64;
+  __isoc99_vfscanf;
+  __libc_memalign;
+  __lxstat;
+  __lxstat64;
+  __res_iclose;
+  __sanitizer_syscall*;
+  __sanitizer_unaligned*;
+  __sigsetjmp;
+  __tsan_acquire;
+  __tsan_atomic*;
+  __tsan_func*;
+  __tsan_init;
+  __tsan_java*;
+  __tsan_read*;
+  __tsan_release;
+  __tsan_unaligned*;
+  __tsan_vptr*;
+  __tsan_write*;
+  __xstat;
+  __xstat64;
 };





More information about the llvm-commits mailing list