diff options
Diffstat (limited to 'abs/extra/community/chromium/glibc-2.14.patch')
-rw-r--r-- | abs/extra/community/chromium/glibc-2.14.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/abs/extra/community/chromium/glibc-2.14.patch b/abs/extra/community/chromium/glibc-2.14.patch new file mode 100644 index 0000000..1bfbbee --- /dev/null +++ b/abs/extra/community/chromium/glibc-2.14.patch @@ -0,0 +1,51 @@ +--- trunk/src/third_party/tcmalloc/chromium/src/tcmalloc.cc 2011/06/21 07:36:46 89799 ++++ trunk/src/third_party/tcmalloc/chromium/src/tcmalloc.cc 2011/06/21 07:37:01 89800 +@@ -150,6 +150,13 @@ + # define WIN32_DO_PATCHING 1 + #endif + ++// GLibc 2.14+ requires the hook functions be declared volatile, based on the ++// value of the define __MALLOC_HOOK_VOLATILE. For compatibility with ++// older/non-GLibc implementations, provide an empty definition. ++#if !defined(__MALLOC_HOOK_VOLATILE) ++#define __MALLOC_HOOK_VOLATILE ++#endif ++ + using std::max; + using tcmalloc::PageHeap; + using tcmalloc::SizeMap; +@@ -403,7 +410,7 @@ + return tc_malloc(size); + } + +-void* (*__malloc_hook)( ++void* (*__MALLOC_HOOK_VOLATILE __malloc_hook)( + size_t size, const void* caller) = tc_ptmalloc_malloc_hook; + + static void* tc_ptmalloc_realloc_hook( +@@ -411,14 +418,14 @@ + return tc_realloc(ptr, size); + } + +-void* (*__realloc_hook)( ++void* (*__MALLOC_HOOK_VOLATILE __realloc_hook)( + void* ptr, size_t size, const void* caller) = tc_ptmalloc_realloc_hook; + + static void tc_ptmalloc_free_hook(void* ptr, const void* caller) { + tc_free(ptr); + } + +-void (*__free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook; ++void (*__MALLOC_HOOK_VOLATILE __free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook; + + #endif + +@@ -1757,7 +1764,7 @@ + MallocHook::InvokeNewHook(result, size); + return result; + } +-void *(*__memalign_hook)(size_t, size_t, const void *) = MemalignOverride; ++void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t, size_t, const void *) = MemalignOverride; + #endif // #ifndef TCMALLOC_FOR_DEBUGALLOCATION + + // ---Double free() debugging implementation ----------------------------------- |