platform_bionic/libc
Ryan Prichard a2e83ab348 Add additional dl_phdr_info fields
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
2019-08-22 12:43:17 -07:00
..
arch-arm libc: import ARM strcmp from newlib 2019-05-16 04:37:26 +00:00
arch-arm64 Generate assembler system call stubs via genrule. 2019-04-16 12:31:00 -07:00
arch-common/bionic Overalign the TLS segment using crtbegin 2019-05-23 14:21:55 -07:00
arch-mips Generate assembler system call stubs via genrule. 2019-04-16 12:31:00 -07:00
arch-mips64/bionic Generate assembler system call stubs via genrule. 2019-04-16 12:31:00 -07:00
arch-x86 Update notice 2019-07-17 10:56:16 -07:00
arch-x86_64 Add avx2 version of wmemset in binoic 2019-07-16 18:06:57 +05:30
async_safe Enable native_bridge_support 2019-05-06 17:13:51 +02:00
bionic Add additional dl_phdr_info fields 2019-08-22 12:43:17 -07:00
dns Merge "Replace android_open_proxy with dns_open_proxy" 2018-11-28 12:21:33 +00:00
include Add additional dl_phdr_info fields 2019-08-22 12:43:17 -07:00
kernel Update to kernel headers v5.2.6. 2019-08-05 12:59:58 -07:00
malloc_debug Move to the libc++ demangler. 2019-07-18 21:11:22 +00:00
malloc_hooks Move all leak info functions to android_mallopt. 2019-04-19 11:27:02 -07:00
private Fix a few bionic test failures caused by hwasan global instrumentation. 2019-08-15 09:21:34 -07:00
seccomp Add support for seccomp filter that limits setresuid/setresgid. 2019-01-19 09:09:30 +01:00
stdio Remove the ___ hack. 2019-06-19 15:38:42 -07:00
stdlib Revert fwalk/sfp locking to fix concurrent reads 2019-05-04 00:28:00 -07:00
system_properties Enable native_bridge_support 2019-05-06 17:13:51 +02:00
tools Remove the ___ hack. 2019-06-19 15:38:42 -07:00
tzcode Remove bionic refs to runtime module tz files 2019-06-10 15:09:15 +01:00
upstream-freebsd Add reallocarray(3). 2018-09-26 14:24:18 -07:00
upstream-netbsd Sync with upstream NetBSD. 2019-02-13 14:17:18 -08:00
upstream-openbsd Switch to OpenBSD div/ldiv/lldiv. 2019-02-05 16:48:22 -08:00
versioner-dependencies Fix clang header dependency for versioner 2019-07-29 15:44:46 -07:00
Android.bp Use the new sort_bss_symbols_by_size option for libc 2019-07-29 13:26:33 -07:00
fs_config_generator.py
libc.map.txt Add memfd_create(2) and mlock2(2). 2019-08-05 16:31:08 -07:00
libstdc++.map.txt
MODULE_LICENSE_BSD
NOTICE Update notice 2019-07-17 10:56:16 -07:00
SECCOMP_BLACKLIST_APP.TXT Blacklist setregid(32) for apps. 2019-01-22 17:22:54 +01:00
SECCOMP_BLACKLIST_COMMON.TXT
SECCOMP_WHITELIST_APP.TXT Move pipe, open, and getdents from the APP to COMMON seccomp whitelist. 2018-09-11 19:20:34 -04:00
SECCOMP_WHITELIST_COMMON.TXT Add memfd_create(2) and mlock2(2). 2019-08-05 16:31:08 -07:00
SECCOMP_WHITELIST_GLOBAL.TXT
SECCOMP_WHITELIST_SYSTEM.TXT
SYSCALLS.TXT Add memfd_create(2) and mlock2(2). 2019-08-05 16:31:08 -07:00
version_script.txt