Re-add dlmalloc for 32 bit.

It turns out that appportable has a version that calls dlmalloc directly.
Re-add the dlmalloc symbol for 32 bit only as a compatibility shim that
calls malloc.

Bug: 17881362
Change-Id: I8f20963b0b8d323489dc083e4063779e0d1d7447
This commit is contained in:
Christopher Ferris 2014-10-08 22:48:20 -07:00
parent 1543fdf616
commit c9734d24d9
2 changed files with 12 additions and 3 deletions

View File

@ -34,11 +34,14 @@
#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__)
/* dlmalloc_usable_size and dlmalloc were exposed in the NDK and some
* apps actually used them. Rename these functions out of the way
* for 32 bit architectures so that ndk_cruft.cpp can expose
* compatibility shims with these names.
*/
#define dlmalloc_usable_size dlmalloc_usable_size_real
#define dlmalloc dlmalloc_real
#endif
/* Export two symbols used by the VM. */

View File

@ -320,4 +320,10 @@ extern "C" size_t dlmalloc_usable_size(void* ptr) {
return malloc_usable_size(ptr);
}
// Older versions of appportable used dlmalloc directly instead of malloc,
// so export this compatibility shim that simply calls malloc.
extern "C" void* dlmalloc(size_t size) {
return malloc(size);
}
#endif