[Sanitizer] move DumpProcessMap and DisableCoreDumper to common runtime

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158490 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/asan/asan_internal.h b/lib/asan/asan_internal.h
index b23a7d8..f2663f0 100644
--- a/lib/asan/asan_internal.h
+++ b/lib/asan/asan_internal.h
@@ -122,9 +122,7 @@
 // asan_linux.cc / asan_mac.cc / asan_win.cc
 void *AsanDoesNotSupportStaticLinkage();
 bool AsanShadowRangeIsAvailable();
-void AsanDumpProcessMap();
 
-void AsanDisableCoreDumper();
 void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp);
 
 bool AsanInterceptsSignal(int signum);
diff --git a/lib/asan/asan_posix.cc b/lib/asan/asan_posix.cc
index 503f38f..429f58a 100644
--- a/lib/asan/asan_posix.cc
+++ b/lib/asan/asan_posix.cc
@@ -134,26 +134,6 @@
   MaybeInstallSigaction(SIGBUS, ASAN_OnSIGSEGV);
 }
 
-void AsanDisableCoreDumper() {
-  struct rlimit nocore;
-  nocore.rlim_cur = 0;
-  nocore.rlim_max = 0;
-  setrlimit(RLIMIT_CORE, &nocore);
-}
-
-void AsanDumpProcessMap() {
-  ProcessMaps proc_maps;
-  uptr start, end;
-  const sptr kBufSize = 4095;
-  char filename[kBufSize];
-  Report("Process memory map follows:\n");
-  while (proc_maps.Next(&start, &end, /* file_offset */0,
-                        filename, kBufSize)) {
-    Printf("\t%p-%p\t%s\n", (void*)start, (void*)end, filename);
-  }
-  Report("End of process memory map.\n");
-}
-
 uptr GetThreadSelf() {
   return (uptr)pthread_self();
 }
diff --git a/lib/asan/asan_rtl.cc b/lib/asan/asan_rtl.cc
index a1fbae3..91ed9c9 100644
--- a/lib/asan/asan_rtl.cc
+++ b/lib/asan/asan_rtl.cc
@@ -536,7 +536,7 @@
   }
 
   if (FLAG_disable_core) {
-    AsanDisableCoreDumper();
+    DisableCoreDumper();
   }
 
   if (AsanShadowRangeIsAvailable()) {
@@ -552,7 +552,7 @@
   } else {
     Report("Shadow memory range interleaves with an existing memory mapping. "
            "ASan cannot proceed correctly. ABORTING.\n");
-    AsanDumpProcessMap();
+    DumpProcessMap();
     Die();
   }
 
diff --git a/lib/asan/asan_win.cc b/lib/asan/asan_win.cc
index e33f431..b9034ca 100644
--- a/lib/asan/asan_win.cc
+++ b/lib/asan/asan_win.cc
@@ -192,10 +192,6 @@
   return t;
 }
 
-void AsanDumpProcessMap() {
-  UNIMPLEMENTED();
-}
-
 uptr GetThreadSelf() {
   return GetCurrentThreadId();
 }
@@ -212,10 +208,6 @@
   // FIXME: Decide what to do on Windows.
 }
 
-void AsanDisableCoreDumper() {
-  UNIMPLEMENTED();
-}
-
 void SleepForSeconds(int seconds) {
   Sleep(seconds * 1000);
 }
diff --git a/lib/sanitizer_common/sanitizer_common.h b/lib/sanitizer_common/sanitizer_common.h
index fd1b2b2..0b40424 100644
--- a/lib/sanitizer_common/sanitizer_common.h
+++ b/lib/sanitizer_common/sanitizer_common.h
@@ -55,6 +55,10 @@
                       uptr *buff_size, uptr max_len);
 const char *GetEnv(const char *name);
 
+// Other
+void DisableCoreDumper();
+void DumpProcessMap();
+
 // Bit twiddling.
 inline bool IsPowerOfTwo(uptr x) {
   return (x & (x - 1)) == 0;
diff --git a/lib/sanitizer_common/sanitizer_posix.cc b/lib/sanitizer_common/sanitizer_posix.cc
index fe26a36..8d6ec33 100644
--- a/lib/sanitizer_common/sanitizer_posix.cc
+++ b/lib/sanitizer_common/sanitizer_posix.cc
@@ -15,15 +15,20 @@
 
 #include "sanitizer_common.h"
 #include "sanitizer_libc.h"
+#include "sanitizer_procmaps.h"
 
 #include <stdarg.h>
 #include <stdio.h>
 #include <sys/mman.h>
+#include <sys/resource.h>
+#include <sys/time.h>
 #include <sys/types.h>
 #include <unistd.h>
 
 namespace __sanitizer {
 
+// ------------- sanitizer_common.h
+
 int GetPid() {
   return getpid();
 }
@@ -65,6 +70,28 @@
                        0, 0);
 }
 
+void DumpProcessMap() {
+  ProcessMaps proc_maps;
+  uptr start, end;
+  const sptr kBufSize = 4095;
+  char filename[kBufSize];
+  Report("Process memory map follows:\n");
+  while (proc_maps.Next(&start, &end, /* file_offset */0,
+                        filename, kBufSize)) {
+    Printf("\t%p-%p\t%s\n", (void*)start, (void*)end, filename);
+  }
+  Report("End of process memory map.\n");
+}
+
+void DisableCoreDumper() {
+  struct rlimit nocore;
+  nocore.rlim_cur = 0;
+  nocore.rlim_max = 0;
+  setrlimit(RLIMIT_CORE, &nocore);
+}
+
+// -------------- sanitizer_libc.h
+
 int internal_sscanf(const char *str, const char *format, ...) {
   va_list args;
   va_start(args, format);
diff --git a/lib/sanitizer_common/sanitizer_win.cc b/lib/sanitizer_common/sanitizer_win.cc
index 689f2b5..a8c43ca 100644
--- a/lib/sanitizer_common/sanitizer_win.cc
+++ b/lib/sanitizer_common/sanitizer_win.cc
@@ -82,6 +82,14 @@
   return 0;
 }
 
+void DumpProcessMap() {
+  UNIMPLEMENTED();
+}
+
+void DisableCoreDumper() {
+  UNIMPLEMENTED();
+}
+
 // ------------------ sanitizer_libc.h
 void *internal_mmap(void *addr, uptr length, int prot, int flags,
                     int fd, u64 offset) {