[Sanitizer] Use DEFINE_REAL macro in TSan runtime to call libc implementations of functions. Move strchr to sanitizer_libc.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158517 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc
index e4d183a..41a1e80 100644
--- a/lib/tsan/rtl/tsan_interceptors.cc
+++ b/lib/tsan/rtl/tsan_interceptors.cc
@@ -287,7 +287,7 @@
{
SCOPED_INTERCEPTOR_RAW(calloc, size, n);
p = user_alloc(thr, pc, n * size);
- real_memset(p, 0, n * size);
+ REAL(memset)(p, 0, n * size);
}
invoke_malloc_hook(p, n * size);
return p;
@@ -1283,7 +1283,7 @@
TSAN_INTERCEPTOR(sighandler_t, signal, int sig, sighandler_t h) {
sigaction_t act = {};
act.sa_handler = h;
- real_memset(&act.sa_mask, -1, sizeof(act.sa_mask));
+ REAL(memset)(&act.sa_mask, -1, sizeof(act.sa_mask));
act.sa_flags = 0;
sigaction_t old = {};
int res = sigaction(sig, &act, &old);
@@ -1521,30 +1521,6 @@
}
}
-void real_memset(void *ptr, int c, uptr size) {
- REAL(memset)(ptr, c, size);
-}
-
-void real_memcpy(void *dst, const void *src, uptr size) {
- REAL(memcpy)(dst, src, size);
-}
-
-int internal_strncmp(const char *s1, const char *s2, uptr size) {
- return REAL(strncmp)(s1, s2, size);
-}
-
-void internal_strcpy(char *s1, const char *s2) {
- REAL(strcpy)(s1, s2); // NOLINT
-}
-
-const char *internal_strstr(const char *where, const char *what) {
- return REAL(strstr)(where, what);
-}
-
-const char *internal_strchr(const char *where, char what) {
- return (const char*)REAL(strchr)((void*)where, what);
-}
-
void internal_start_thread(void(*func)(void *arg), void *arg) {
void *th;
REAL(pthread_create)(&th, 0, (void*(*)(void *arg))func, arg);