Expose libc_shared_globals to libc.so with symbol

Previously, the address of the global variable was communicated from the
dynamic linker to libc.so using a field of KernelArgumentBlock, which is
communicated using the TLS_SLOT_BIONIC_PREINIT slot.

As long as this function isn't called during relocations (i.e. while
executing an ifunc), it always return a non-NULL value. If it's called
before its PLT entry is relocated, I expect a crash.

I removed the __libc_init_shared_globals function. It's currently empty,
and I don't think there's one point in libc's initialization where
shared globals should be initialized.

Bug: http://b/25751302
Test: bionic unit tests
Change-Id: I614d25e7ef5e0d2ccc40d5c821dee10f1ec61c2e
diff --git a/linker/linker.arm.map b/linker/linker.arm.map
index a58e7c8..be438ca 100644
--- a/linker/linker.arm.map
+++ b/linker/linker.arm.map
@@ -22,6 +22,7 @@
     __loader_dl_unwind_find_exidx;
     __loader_add_thread_local_dtor;
     __loader_remove_thread_local_dtor;
+    __loader_shared_globals;
     rtld_db_dlactivity;
   local:
     *;