Write message to stderr on __libc_fatal()
Change-Id: Ia8d6e256768fa51786d0139d3f3b6e9e4bebe027
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 442f7ce..bf923c1 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -168,10 +168,7 @@
#define DISALLOW_ALLOCATION(return_type, name, ...) \
return_type name __VA_ARGS__ \
{ \
- const char* msg = "ERROR: " #name " called from the dynamic linker!\n"; \
- __libc_format_log(ANDROID_LOG_FATAL, "linker", "%s", msg); \
- write(2, msg, strlen(msg)); \
- abort(); \
+ __libc_fatal("ERROR: " #name " called from the dynamic linker!\n"); \
}
DISALLOW_ALLOCATION(void*, malloc, (size_t u __unused));
DISALLOW_ALLOCATION(void, free, (void* u __unused));
@@ -467,10 +464,8 @@
static_cast<size_t>(s->st_size));
return s;
default:
- const char* msg = "FATAL: Unexpected ST_BIND\n";
- __libc_format_log(ANDROID_LOG_FATAL, "linker", "%s", msg);
- write(2, msg, strlen(msg));
- abort();
+ __libc_fatal("ERROR: Unexpected ST_BIND value: %d for '%s' in '%s'",
+ ELF_ST_BIND(s->st_info), name, si->name);
}
}