diff options
author | Ryan Prichard <rprichard@google.com> | 2018-11-22 02:40:17 -0800 |
---|---|---|
committer | Ryan Prichard <rprichard@google.com> | 2018-11-28 14:26:14 -0800 |
commit | abf736a7803f4acc8b70a2dab0d43b931aa9c5c0 (patch) | |
tree | 72009b4f3acbd65415b4c1ed2244d1c560269349 /tools/generate-version-script.py | |
parent | 12ed389ca5ea756f664de6f76118c886f7bac865 (diff) |
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
Diffstat (limited to 'tools/generate-version-script.py')
0 files changed, 0 insertions, 0 deletions