Use __libc_fatal() for failed malloc in new

This way we can print a useful message to the log isntead of just dying
mysteriously.

Change-Id: Ib660c2fd8ce8bb9aa0d0bb634ae08c645d3901e5
diff --git a/libc/bionic/new.cpp b/libc/bionic/new.cpp
index cb19dfa..fcfd1bd 100644
--- a/libc/bionic/new.cpp
+++ b/libc/bionic/new.cpp
@@ -14,15 +14,18 @@
  * limitations under the License.
  */
 
+#include <errno.h>
 #include <new>
 #include <stdlib.h>
 
+#include "private/libc_logging.h"
+
 const std::nothrow_t std::nothrow = {};
 
 void* operator new(std::size_t size) {
     void* p = malloc(size);
     if (p == NULL) {
-        abort();
+        __libc_fatal("new failed to allocate %zu bytes", size);
     }
     return p;
 }
@@ -30,7 +33,7 @@
 void* operator new[](std::size_t size) {
     void* p = malloc(size);
     if (p == NULL) {
-        abort();
+        __libc_fatal("new[] failed to allocate %zu bytes", size);
     }
     return p;
 }