Implement malloc hooks.
Use the malloc debug framework to implement the malloc debug hooks
since it can introduce a performance issue.
Also, modify the bionic/tests/utils.h slightly to dump an error message
when the exe failed.
Bug: 30561479
Test: Ran malloc hook unit tests.
Test: Ran malloc debug unit tests.
Test: Enabled malloc hooks and ran bionic unit tests and verified no
Test: unexpected failures.
Test: Enabled malloc debug and malloc hooks and verified malloc debug wins.
Test: Enabled malloc debug using env, property, and property with name
Test: still works.
Change-Id: Ib50046a0493c5c2050cf831befb812310bdcc249
(cherry picked from commit d6a1dc23796696f73f483943534d4c5c4b312d39)
diff --git a/libc/libc.arm64.map b/libc/libc.arm64.map
index 1cae22b..75436ff 100644
--- a/libc/libc.arm64.map
+++ b/libc/libc.arm64.map
@@ -1241,7 +1241,11 @@
LIBC_P { # introduced=P
global:
__freading;
+ __free_hook;
__fwriting;
+ __malloc_hook;
+ __memalign_hook;
+ __realloc_hook;
aligned_alloc;
endhostent;
endnetent;