Browse Source

link.h: expose glibc/svr4 dynlinker debugging glue

this is already implemented in the dynliker (see struct debug),
but was not exposed.
we need it to do so to make wine happy...
rs-1.0
rofl0r 13 years ago
parent
commit
26cf9c3c6b
  1. 19
      include/link.h

19
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

Loading…
Cancel
Save