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..e8edac07c7e03438e640e895bd0d74061603ad22 100644 |
--- a/third_party/tcmalloc/chromium/src/tcmalloc.cc |
+++ b/third_party/tcmalloc/chromium/src/tcmalloc.cc |
@@ -1721,6 +1721,23 @@ extern "C" PERFTOOLS_DLL_DECL size_t tc_malloc_size(void* ptr) __THROW { |
#endif // TCMALLOC_USING_DEBUGALLOCATION |
+// Define the strong symbol that overrides tc_malloc_skip_new_handler_weak |
+// in chromium. |
+#if defined(OS_LINUX) |
+extern "C" { |
+ |
+void* tc_malloc_skip_new_handler(size_t size) { |
+ void* result = do_malloc(size); |
+ MallocHook::InvokeNewHook(result, size); |
+ return result; |
+} |
+ |
+__attribute__((visibility("default"), alias("tc_malloc_skip_new_handler"))) |
+void* tc_malloc_skip_new_handler_weak(size_t size); |
+ |
+} |
+#endif |
+ |
// --- Validation implementation with an extra mark ---------------------------- |
// We will put a mark at the extreme end of each allocation block. We make |
// sure that we always allocate enough "extra memory" that we can fit in the |