[Sanitizer]: move internal_strcmp to sanitizer_common

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157926 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/asan/asan_interceptors.cc b/lib/asan/asan_interceptors.cc
index ebfcc5b..a732636 100644
--- a/lib/asan/asan_interceptors.cc
+++ b/lib/asan/asan_interceptors.cc
@@ -21,6 +21,9 @@
 #include "asan_stats.h"
 #include "asan_thread_registry.h"
 #include "interception/interception.h"
+#include "sanitizer_common/sanitizer_libc.h"
+
+using namespace __sanitizer;  // NOLINT
 
 // Use macro to describe if specific function should be
 // intercepted on a given platform.
@@ -297,18 +300,6 @@
   return dst;
 }
 
-int internal_strcmp(const char *s1, const char *s2) {
-  while (true) {
-    unsigned c1 = *s1;
-    unsigned c2 = *s2;
-    if (c1 != c2) return (c1 < c2) ? -1 : 1;
-    if (c1 == 0) break;
-    s1++;
-    s2++;
-  }
-  return 0;
-}
-
 }  // namespace __asan
 
 // ---------------------- Wrappers ---------------- {{{1
diff --git a/lib/asan/asan_interceptors.h b/lib/asan/asan_interceptors.h
index 9f2d111..235013a 100644
--- a/lib/asan/asan_interceptors.h
+++ b/lib/asan/asan_interceptors.h
@@ -40,7 +40,6 @@
 int internal_memcmp(const void* s1, const void* s2, uptr n);
 char *internal_strstr(const char *haystack, const char *needle);
 char *internal_strncat(char *dst, const char *src, uptr n);
-int internal_strcmp(const char *s1, const char *s2);
 // Works only for base=10 and doesn't set errno.
 s64 internal_simple_strtoll(const char *nptr, char **endptr, int base);
 
diff --git a/lib/sanitizer_common/sanitizer_libc.cc b/lib/sanitizer_common/sanitizer_libc.cc
index 6c07864..6e1c281 100644
--- a/lib/sanitizer_common/sanitizer_libc.cc
+++ b/lib/sanitizer_common/sanitizer_libc.cc
@@ -18,6 +18,18 @@
 void MiniLibcStub() {
 }
 
+int internal_strcmp(const char *s1, const char *s2) {
+  while (true) {
+    unsigned c1 = *s1;
+    unsigned c2 = *s2;
+    if (c1 != c2) return (c1 < c2) ? -1 : 1;
+    if (c1 == 0) break;
+    s1++;
+    s2++;
+  }
+  return 0;
+}
+
 char *internal_strncpy(char *dst, const char *src, uptr n) {
   uptr i;
   for (i = 0; i < n && src[i]; i++)
diff --git a/lib/sanitizer_common/sanitizer_libc.h b/lib/sanitizer_common/sanitizer_libc.h
index 9c61dd2..65e0305 100644
--- a/lib/sanitizer_common/sanitizer_libc.h
+++ b/lib/sanitizer_common/sanitizer_libc.h
@@ -26,6 +26,7 @@
 void MiniLibcStub();
 
 // internal_X() is a custom implementation of X() for use in RTL.
+int internal_strcmp(const char *s1, const char *s2);
 char *internal_strncpy(char *dst, const char *src, uptr n);
 
 }  // namespace __sanitizer
diff --git a/lib/tsan/rtl/tsan_defs.h b/lib/tsan/rtl/tsan_defs.h
index 74ed733..608b58e 100644
--- a/lib/tsan/rtl/tsan_defs.h
+++ b/lib/tsan/rtl/tsan_defs.h
@@ -162,7 +162,6 @@
 void internal_memset(void *ptr, int c, uptr size);
 void internal_memcpy(void *dst, const void *src, uptr size);
 int internal_memcmp(const void *s1, const void *s2, uptr size);
-int internal_strcmp(const char *s1, const char *s2);
 int internal_strncmp(const char *s1, const char *s2, uptr size);
 void internal_strcpy(char *s1, const char *s2);
 uptr internal_strlen(const char *s);
diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc
index 69ae8ca..6c4f9b0 100644
--- a/lib/tsan/rtl/tsan_interceptors.cc
+++ b/lib/tsan/rtl/tsan_interceptors.cc
@@ -1532,10 +1532,6 @@
   return REAL(memcmp)(s1, s2, size);
 }
 
-int internal_strcmp(const char *s1, const char *s2) {
-  return REAL(strcmp)(s1, s2);
-}
-
 int internal_strncmp(const char *s1, const char *s2, uptr size) {
   return REAL(strncmp)(s1, s2, size);
 }
diff --git a/lib/tsan/rtl/tsan_interface_ann.cc b/lib/tsan/rtl/tsan_interface_ann.cc
index a04a207..853770e 100644
--- a/lib/tsan/rtl/tsan_interface_ann.cc
+++ b/lib/tsan/rtl/tsan_interface_ann.cc
@@ -10,6 +10,7 @@
 // This file is a part of ThreadSanitizer (TSan), a race detector.
 //
 //===----------------------------------------------------------------------===//
+#include "sanitizer_common/sanitizer_libc.h"
 #include "tsan_interface_ann.h"
 #include "tsan_mutex.h"
 #include "tsan_placement_new.h"
@@ -20,6 +21,7 @@
 
 #define CALLERPC ((uptr)__builtin_return_address(0))
 
+using namespace __sanitizer;  // NOLINT
 using namespace __tsan;  // NOLINT
 
 namespace __tsan {
diff --git a/lib/tsan/rtl/tsan_rtl_report.cc b/lib/tsan/rtl/tsan_rtl_report.cc
index b3f8390..f8e07ff 100644
--- a/lib/tsan/rtl/tsan_rtl_report.cc
+++ b/lib/tsan/rtl/tsan_rtl_report.cc
@@ -11,6 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "sanitizer_common/sanitizer_libc.h"
 #include "tsan_platform.h"
 #include "tsan_rtl.h"
 #include "tsan_suppressions.h"
@@ -21,6 +22,8 @@
 #include "tsan_flags.h"
 #include "tsan_placement_new.h"
 
+using namespace __sanitizer;  // NOLINT
+
 namespace __tsan {
 
 // Can be overriden by an application/test to intercept reports.