Fix the C library runtime initialization order.

This allows libc.so to run the C runtime initializer as soon as the
dynamic linker loads the shared library, i.e. before any other initializers
(e.g. static C++ constructors in other shared libraries the executable depends
on).

This also removes the bug where the initializers from the executable itself
were run twice: once by the dynamic linker, and another time by __libc_init
as defined by libc_init_dynamic.c
4 files changed
tree: 11135868d3dc4a731f7288bcb00abdf48c5c7202
  1. libc/
  2. libdl/
  3. libm/
  4. libstdc++/
  5. libthread_db/
  6. linker/
  7. .gitignore
  8. Android.mk