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