summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2013-03-20 10:28:36 +0000
committerDmitry Vyukov <dvyukov@google.com>2013-03-20 10:28:36 +0000
commit6d6ab9eeea4a99370d7ab18ce80eb96091e2cf3f (patch)
treec1eed354e749ad3d946f3cbed8d6ab88f16b930a
parentc25e62b0cdbca855e7611583b0ff7013c31db21d (diff)
downloadcompiler-rt-6d6ab9eeea4a99370d7ab18ce80eb96091e2cf3f.tar.gz
compiler-rt-6d6ab9eeea4a99370d7ab18ce80eb96091e2cf3f.tar.bz2
compiler-rt-6d6ab9eeea4a99370d7ab18ce80eb96091e2cf3f.tar.xz
tsan: add internal_unlink() function
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177510 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/sanitizer_common/sanitizer_libc.h1
-rw-r--r--lib/sanitizer_common/sanitizer_linux.cc4
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_libc.h b/lib/sanitizer_common/sanitizer_libc.h
index 7c2a1b85..9f4088e0 100644
--- a/lib/sanitizer_common/sanitizer_libc.h
+++ b/lib/sanitizer_common/sanitizer_libc.h
@@ -79,6 +79,7 @@ int internal_lstat(const char *path, void *buf);
int internal_fstat(fd_t fd, void *buf);
int internal_dup2(int oldfd, int newfd);
uptr internal_readlink(const char *path, char *buf, uptr bufsize);
+int internal_unlink(const char *path);
void NORETURN internal__exit(int exitcode);
OFF_T internal_lseek(fd_t fd, OFF_T offset, int whence);
diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
index 6256d845..3c9ae418 100644
--- a/lib/sanitizer_common/sanitizer_linux.cc
+++ b/lib/sanitizer_common/sanitizer_linux.cc
@@ -145,6 +145,10 @@ uptr internal_readlink(const char *path, char *buf, uptr bufsize) {
return (uptr)syscall(__NR_readlink, path, buf, bufsize);
}
+int internal_unlink(const char *path) {
+ return syscall(__NR_unlink, path);
+}
+
int internal_sched_yield() {
return syscall(__NR_sched_yield);
}