Don't initialize interceptor_metadata_map unless SI_POSIX is set
authorEugene Leviant <eleviant@accesssoftek.com>
Sun, 28 Jul 2019 08:58:44 +0000 (08:58 +0000)
committerEugene Leviant <eleviant@accesssoftek.com>
Sun, 28 Jul 2019 08:58:44 +0000 (08:58 +0000)
Differential revision: https://reviews.llvm.org/D64794

llvm-svn: 367188

compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

index e805c86..16bdffe 100644 (file)
@@ -317,11 +317,11 @@ struct CommonInterceptorMetadata {
   };
 };
 
+#if SI_POSIX
 typedef AddrHashMap<CommonInterceptorMetadata, 31051> MetadataHashMap;
 
 static MetadataHashMap *interceptor_metadata_map;
 
-#if SI_POSIX
 UNUSED static void SetInterceptorMetadata(__sanitizer_FILE *addr,
                                           const FileMetadata &file) {
   MetadataHashMap::Handle h(interceptor_metadata_map, (uptr)addr);
@@ -9551,9 +9551,11 @@ INTERCEPTOR(void, sl_free, void *sl, int freeall) {
 #endif
 
 static void InitializeCommonInterceptors() {
+#if SI_POSIX
   static u64 metadata_mem[sizeof(MetadataHashMap) / sizeof(u64) + 1];
   interceptor_metadata_map =
       new ((void *)&metadata_mem) MetadataHashMap();  // NOLINT
+#endif
 
   INIT_MMAP;
   INIT_MMAP64;