Index: third_party/tcmalloc/chromium/src/tcmalloc.cc |
diff --git a/third_party/tcmalloc/chromium/src/tcmalloc.cc b/third_party/tcmalloc/chromium/src/tcmalloc.cc |
index 118e40a09fdb44f2036949d4402e387817bf8cc4..b9a44b14d8a3e0228714945a143c3e10b6e7f0b3 100644 |
--- a/third_party/tcmalloc/chromium/src/tcmalloc.cc |
+++ b/third_party/tcmalloc/chromium/src/tcmalloc.cc |
@@ -1719,6 +1719,19 @@ extern "C" PERFTOOLS_DLL_DECL size_t tc_malloc_size(void* ptr) __THROW { |
return MallocExtension::instance()->GetAllocatedSize(ptr); |
} |
+// Define the strong symbol that overrides tc_malloc_skip_new_handler_weak |
+// in chromium. |
+#if defined(OS_LINUX) |
+extern "C" __attribute__((alias ("tc_malloc_skip_new_handler"))) |
+void* tc_malloc_skip_new_handler_weak(size_t size); |
+ |
+extern "C" void* tc_malloc_skip_new_handler(size_t size) { |
+ void* result = do_malloc(size); |
+ MallocHook::InvokeNewHook(result, size); |
+ return result; |
+} |
+#endif |
+ |
#endif // TCMALLOC_USING_DEBUGALLOCATION |
// --- Validation implementation with an extra mark ---------------------------- |