Merge "Don't expose non-standard basename_r and dirname_r in LP64." into lmp-dev
diff --git a/libc/bionic/dlmalloc.h b/libc/bionic/dlmalloc.h
index 46efa91..ef78814 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 45ead62..829e8f3 100644
--- a/libc/bionic/ndk_cruft.cpp
+++ b/libc/bionic/ndk_cruft.cpp
@@ -308,4 +308,16 @@
   // The current implementation stirs itself as needed.
 }
 
+// This was removed from BSD.
+extern "C" void arc4random_addrandom(unsigned char*, int) {
+  // The current implementation adds randomness 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