am 51c812cd: am 442d41fc: Merge "Write message to stderr on __libc_fatal()"

* commit '51c812cd220cd9f493d61df98ca77dd0b5f000da':
  Write message to stderr on __libc_fatal()
This commit is contained in:
Dmitriy Ivanov 2014-07-01 22:10:25 +00:00 committed by Android Git Automerger
commit 4d8f3c4d99
2 changed files with 5 additions and 9 deletions

View File

@ -619,7 +619,8 @@ static void __libc_fatal(const char* format, va_list args) {
BufferOutputStream os(msg, sizeof(msg));
out_vformat(os, format, args);
// TODO: log to stderr for the benefit of "adb shell" users.
// log to stderr for the benefit of "adb shell" users.
write(2, msg, strlen(msg));
// Log to the log for the benefit of regular app developers (whose stdout and stderr are closed).
__libc_write_log(ANDROID_LOG_FATAL, "libc", msg);

View File

@ -168,10 +168,7 @@ static unsigned bitmask[4096];
#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 ElfW(Sym)* soinfo_elf_lookup(soinfo* si, unsigned hash, const char* name,
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);
}
}