From 1c365cb494d8cab1b639ecef21514425647e606b Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Fri, 5 Sep 2014 16:39:22 -0700 Subject: [PATCH] Add dlmalloc_usable_size for 32 bit arches. Bug: 17337831 Change-Id: I50c50559a5dfa083c85f064042bc0726718c988b --- libc/bionic/dlmalloc.h | 7 +++++++ libc/bionic/ndk_cruft.cpp | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/libc/bionic/dlmalloc.h b/libc/bionic/dlmalloc.h index 46efa911f..ef7881436 100644 --- a/libc/bionic/dlmalloc.h +++ b/libc/bionic/dlmalloc.h @@ -34,6 +34,13 @@ #define malloc_getpagesize getpagesize() +/* dlmalloc_usable_size was exposed in the NDK, so change the name + * of the function on 32 bit architectures. + */ +#if !defined(__LP64__) +#define dlmalloc_usable_size dlmalloc_usable_size_real +#endif + /* Export two symbols used by the VM. */ __BEGIN_DECLS int dlmalloc_trim(size_t) __LIBC_ABI_PUBLIC__; diff --git a/libc/bionic/ndk_cruft.cpp b/libc/bionic/ndk_cruft.cpp index 45ead624e..7879b7f32 100644 --- a/libc/bionic/ndk_cruft.cpp +++ b/libc/bionic/ndk_cruft.cpp @@ -308,4 +308,11 @@ extern "C" void arc4random_stir(void) { // The current implementation stirs itself as needed. } +// Old versions of the NDK did not export malloc_usable_size, but did +// export dlmalloc_usable_size. We are moving away from dlmalloc in L +// so make this call malloc_usable_size. +extern "C" size_t dlmalloc_usable_size(void* ptr) { + return malloc_usable_size(ptr); +} + #endif