[utils] Fix name clash on dlmalloc on x86 android devices. Fixes #13957
authorRodrigo Kumpera <kumpera@gmail.com>
Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)
committerRodrigo Kumpera <kumpera@gmail.com>
Mon, 28 Mar 2016 19:48:19 +0000 (12:48 -0700)
Android uses dlmalloc within bionic. For some reason, our x86 build
links against the libc implementation instead of our own.

This leads us allocating memory that is not executable which made
dynamic methods fail when executing.

List of original contributors:

Rodrigo Kumpera <kumpera@gmail.com>

mono/utils/dlmalloc.h

index 074f947f291ff5be3bec063f56a14989be79c66a..44a8f6b7c7b55abd903984267e19b17bb59bb571 100644 (file)
@@ -52,9 +52,21 @@ extern "C" {
 #define dlindependent_comalloc independent_comalloc
 #endif /* USE_DL_PREFIX */
 
-#ifdef ENABLE_EXTENSION_MODULE
-#include "../../../mono-extensions/mono/utils/dlmalloc.h"
-#endif
+#define dlcalloc               mono_dlcalloc
+#define dlfree                 mono_dlfree
+#define dlmalloc               mono_dlmalloc
+#define dlmemalign             mono_dlmemalign
+#define dlrealloc              mono_dlrealloc
+#define dlvalloc               mono_dlvalloc
+#define dlpvalloc              mono_dlpvalloc
+#define dlmallinfo             mono_dlmallinfo
+#define dlmallopt              mono_dlmallopt
+#define dlmalloc_trim          mono_dlmalloc_trim
+#define dlmalloc_stats         mono_dlmalloc_stats
+#define dlmalloc_usable_size   mono_dlmalloc_usable_size
+#define dlmalloc_footprint     mono_dlmalloc_footprint
+#define dlindependent_calloc   mono_dlindependent_calloc
+#define dlindependent_comalloc mono_dlindependent_comalloc
 
 /*
   malloc(size_t n)