Merge "Init stdio in __libc_init_common."
diff --git a/libc/bionic/libc_init_common.cpp b/libc/bionic/libc_init_common.cpp
index 8f1ee95..91e210e 100644
--- a/libc/bionic/libc_init_common.cpp
+++ b/libc/bionic/libc_init_common.cpp
@@ -54,6 +54,7 @@
extern "C" int __system_properties_init(void);
extern "C" int __set_tls(void* ptr);
extern "C" int __set_tid_address(int* tid_address);
+extern "C" int __sinit(void);
__LIBC_HIDDEN__ WriteProtected<libc_globals> __libc_globals;
@@ -133,6 +134,9 @@
__pthread_internal_add(main_thread);
__system_properties_init(); // Requires 'environ'.
+ // Initialize stdio here to get rid of data races caused by lazy initialization.
+ // TODO: Remove other calls to __sinit().
+ __sinit();
}
__noreturn static void __early_abort(int line) {