diff options
author | Adam Lesinski <adamlesinski@google.com> | 2014-10-20 12:31:30 -0700 |
---|---|---|
committer | Adam Lesinski <adamlesinski@google.com> | 2014-10-20 12:33:59 -0700 |
commit | a1ac84cd8d7357f38a9fc60ab9d42e81d1790fd2 (patch) | |
tree | f2807868aa6d1a12c3f03b5b171cd20f0242ba4b | |
parent | 1c77bf4ce5059f3a770418cfa8afed39ee41ab24 (diff) | |
download | core-a1ac84cd8d7357f38a9fc60ab9d42e81d1790fd2.tar.gz |
MingW doesn't handle __attribute__((weak)) for Windows PElollipop-dev
Windows PE format doesn't have the same support for weak symbols
as ELF does.
The symbol android_log_id_to_name was strangely omitted from the
resulting Windows executable and the callsite where it was supposed
to be called was relaced with a different symbol, which caused a crash
in AAPT on Windows.
This change works due to a careful set of #ifdefs that ensure only one
definition of android_log_id_to_name is defined, but there are other
uses of __attribute__((weak)) which should be inspected.
Change-Id: I3b58076e31d9b28c5143773a170e9ffda9fa3815
-rw-r--r-- | liblog/logd_write.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/liblog/logd_write.c b/liblog/logd_write.c index 365967633..b2668cedb 100644 --- a/liblog/logd_write.c +++ b/liblog/logd_write.c @@ -58,7 +58,6 @@ static pthread_mutex_t log_init_lock = PTHREAD_MUTEX_INITIALIZER; #endif #if FAKE_LOG_DEVICE -#define WEAK __attribute__((weak)) static int log_fds[(int)LOG_ID_MAX] = { -1, -1, -1, -1, -1 }; #else static int logd_fd = -1; @@ -274,7 +273,7 @@ static const char *LOG_NAME[LOG_ID_MAX] = { [LOG_ID_CRASH] = "crash" }; -const WEAK char *android_log_id_to_name(log_id_t log_id) +const char *android_log_id_to_name(log_id_t log_id) { if (log_id >= LOG_ID_MAX) { log_id = LOG_ID_MAIN; |