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. .gitignore
  2. Android.mk
  3. libc/
  4. libdl/
  5. libm/
  6. libstdc++/
  7. libthread_db/
  8. linker/