Currently fails with:
C:\workdir\compiler-rt\lib\tsan\go>gcc -c -o race_windows_amd64.syso gotsan.cc -I..\rtl -I..\.. -I..\..\sanitizer_common -I..\..\..\include -m64 -Wall -fno-exceptions -fno-rtti -DSANITIZER_GO -Wno-error=at
tributes -Wno-attributes -Wno-format -Wno-maybe-uninitialized -DSANITIZER_DEBUG=0 -O3 -fomit-frame-pointer -std=c++11
gotsan.cc:9229:0: warning: ignoring #pragma comment [-Wunknown-pragmas]
#pragma comment(linker, "/alternatename:__sanitizer_print_memory_profile=__sanitizer_default_print_memory_profile") // NOLINT
^
gotsan.cc: In function 'void __sanitizer_print_memory_profile(int)':
gotsan.cc:9226:17: error: redefinition of 'void __sanitizer_print_memory_profile(int)'
extern "C" void __sanitizer_print_memory_profile(int top_percent) {}
^
gotsan.cc:6898:6: note: 'void __sanitizer_print_memory_profile(int)' previously defined here
void __sanitizer_print_memory_profile(int top_percent) {
Remove __sanitizer_print_memory_profile from Go build, it is not needed.
llvm-svn: 285400
return InstallMallocFreeHooks(malloc_hook, free_hook);
}
-#if !SANITIZER_SUPPORTS_WEAK_HOOKS
+#if !SANITIZER_GO && !SANITIZER_SUPPORTS_WEAK_HOOKS
SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
void __sanitizer_print_memory_profile(int top_percent) {
(void)top_percent;
ReleseCallback = Callback;
}
+#if SANITIZER_LINUX && !SANITIZER_GO
void BackgroundThread(void *arg) {
uptr hard_rss_limit_mb = common_flags()->hard_rss_limit_mb;
uptr soft_rss_limit_mb = common_flags()->soft_rss_limit_mb;
}
}
}
+#endif
void WriteToSyslog(const char *msg) {
InternalScopedString msg_copy(kErrorMessageBufferSize);
} // namespace __sanitizer
+#if !SANITIZER_GO
// Workaround to implement weak hooks on Windows. COFF doesn't directly support
// weak symbols, but it does support /alternatename, which is similar. If the
// user does not override the hook, we will use this default definition instead
#else
#pragma comment(linker, "/alternatename:___sanitizer_print_memory_profile=___sanitizer_default_print_memory_profile") // NOLINT
#endif
+#endif
#endif // _WIN32