diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-12-19 13:07:37 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-12-19 13:07:37 -0500 |
commit | 5d5ab51862cbd010bdf52dc3b04b0967450bcd1a (patch) | |
tree | 41431acff8952340f256f9eda10524fba048a0d2 /include/link.h | |
parent | 3c4214db727ed6300b34be28a5428b7abd6598df (diff) | |
parent | 3159e2fc816f5c56b54f86f38748ba1ff9e18f9f (diff) | |
download | musl-5d5ab51862cbd010bdf52dc3b04b0967450bcd1a.tar.gz musl-5d5ab51862cbd010bdf52dc3b04b0967450bcd1a.tar.bz2 musl-5d5ab51862cbd010bdf52dc3b04b0967450bcd1a.tar.xz musl-5d5ab51862cbd010bdf52dc3b04b0967450bcd1a.zip |
merge a few fixes by sh4rm4
Diffstat (limited to 'include/link.h')
-rw-r--r-- | include/link.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/link.h b/include/link.h index d5160e7e..c30431e9 100644 --- a/include/link.h +++ b/include/link.h @@ -3,6 +3,7 @@ #include <elf.h> #define __NEED_size_t +#define __NEED_uint32_t #include <bits/alltypes.h> #if UINTPTR_MAX > 0xffffffff @@ -11,6 +12,9 @@ #define ElfW(type) Elf32_ ## type #endif +/* this is the same everywhere except alpha and s390 */ +typedef uint32_t Elf_Symndx; + struct dl_phdr_info { ElfW(Addr) dlpi_addr; const char *dlpi_name; @@ -22,6 +26,21 @@ struct dl_phdr_info { void *dlpi_tls_data; }; +struct link_map { + ElfW(Addr) l_addr; + char *l_name; + ElfW(Dyn) *l_ld; + struct link_map *l_next, *l_prev; +}; + +struct r_debug { + int r_version; + struct link_map *r_map; + ElfW(Addr) r_brk; + enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state; + ElfW(Addr) r_ldbase; +}; + int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), void *); #endif |