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

(cherry pick commit from c9734d24d92f4737f5ab3808c77d816a1b084582)

Change-Id: Iee9a777f66a1edb407d7563a60792b767ac4f83a
This commit is contained in:
Christopher Ferris 2014-10-08 22:48:20 -07:00
parent 8a7f8387b3
commit f183f95946
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

@ -325,4 +325,10 @@ extern "C" pid_t __pthread_gettid(pthread_t t) {
return pthread_gettid_np(t);
}
// 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