summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2012-02-06 19:23:38 +0000
committerKostya Serebryany <kcc@google.com>2012-02-06 19:23:38 +0000
commit546ba363eaa8407154540cc87c2fb0e849e56788 (patch)
treee0cf38e8f932c25e0d1e55032b78c16c00e863dd
parent2eb6c3d246cf0a68e4f16c520edf01fc1620a387 (diff)
downloadbcm5719-llvm-546ba363eaa8407154540cc87c2fb0e849e56788.tar.gz
bcm5719-llvm-546ba363eaa8407154540cc87c2fb0e849e56788.zip
[asan] use raw syscalls for open/close on linux to avoid being intercepted
llvm-svn: 149892
-rw-r--r--compiler-rt/lib/asan/asan_linux.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler-rt/lib/asan/asan_linux.cc b/compiler-rt/lib/asan/asan_linux.cc
index 6a9b12287a5..cf1e6abc879 100644
--- a/compiler-rt/lib/asan/asan_linux.cc
+++ b/compiler-rt/lib/asan/asan_linux.cc
@@ -118,7 +118,7 @@ size_t AsanWrite(int fd, const void *buf, size_t count) {
}
int AsanOpenReadonly(const char* filename) {
- return open(filename, O_RDONLY);
+ return syscall(__NR_open, filename, O_RDONLY);
}
// Like getenv, but reads env directly from /proc and does not use libc.
@@ -154,7 +154,7 @@ size_t AsanRead(int fd, void *buf, size_t count) {
}
int AsanClose(int fd) {
- return close(fd);
+ return syscall(__NR_close, fd);
}
AsanProcMaps::AsanProcMaps() {
OpenPOWER on IntegriCloud