a2e83ab348
Previously, Bionic's dl_phdr_info only included the first four dl_iterate_phdr fields. Several other libc's have these additional fields: unsigned long long dlpi_adds -- incremented when a library is loaded unsigned long long dlpi_subs -- incremented when a library is unloaded size_t dlpi_tls_modid -- TLS module ID void* dlpi_tls_data -- pointer to current thread's TLS block or NULL These extra fields are also exposed by glibc, musl, and FreeBSD. The unwinder in libgcc.a, linked into shipping Android DSOs, has a PC->eh_frame cache that activates if dl_phdr_info has the dlpi_adds and dlpi_subs fields (indicated at run-time by a sufficiently-large size argument to the callback). Bug: https://github.com/android-ndk/ndk/issues/1062 Test: bionic unit tests Change-Id: I6f0bab548cf8c828af2ddab9eb01c5c6d70cd81f |
||
---|---|---|
.. | ||
arch-arm | ||
arch-arm64 | ||
arch-common/bionic | ||
arch-mips | ||
arch-mips64/bionic | ||
arch-x86 | ||
arch-x86_64 | ||
async_safe | ||
bionic | ||
dns | ||
include | ||
kernel | ||
malloc_debug | ||
malloc_hooks | ||
private | ||
seccomp | ||
stdio | ||
stdlib | ||
system_properties | ||
tools | ||
tzcode | ||
upstream-freebsd | ||
upstream-netbsd | ||
upstream-openbsd | ||
versioner-dependencies | ||
Android.bp | ||
fs_config_generator.py | ||
libc.map.txt | ||
libstdc++.map.txt | ||
MODULE_LICENSE_BSD | ||
NOTICE | ||
SECCOMP_BLACKLIST_APP.TXT | ||
SECCOMP_BLACKLIST_COMMON.TXT | ||
SECCOMP_WHITELIST_APP.TXT | ||
SECCOMP_WHITELIST_COMMON.TXT | ||
SECCOMP_WHITELIST_GLOBAL.TXT | ||
SECCOMP_WHITELIST_SYSTEM.TXT | ||
SYSCALLS.TXT | ||
version_script.txt |