r_debug
(Elf_Addr)&r_debug;
void r_debug_state(struct r_debug *, struct link_map *) __noinline __exported;
struct r_debug r_debug __exported; /* for GDB; */
r_debug.r_version = R_DEBUG_VERSION;
r_debug.r_brk = r_debug_state;
r_debug.r_state = RT_CONSISTENT;
r_debug.r_ldbase = obj_rtld.relocbase;
r_debug.r_state = s; \
r_debug_state(&r_debug, m);
if (r_debug.r_map == NULL) {
r_debug.r_map = l;
for (prev = r_debug.r_map;
if ((r_debug.r_map = l->l_next) != NULL)
r_debug_state(struct r_debug *rd __unused, struct link_map *m __unused)
extern struct r_debug r_debug; /* For GDB */
static void r_debug_state(struct r_debug *, struct link_map *);
struct r_debug r_debug;
r_debug.r_state = s; r_debug_state(NULL, NULL); \
r_debug_state(struct r_debug *dummy_one __unused,
if (r_debug.r_map == NULL) {
r_debug.r_map = l;
for (prev = r_debug.r_map;
if ((r_debug.r_map = l->l_next) != NULL)
r_debug.r_map = NULL;
r_debug.r_brk = r_debug_state;
r_debug.r_state = RT_CONSISTENT;
dp->d_un.d_ptr = (Elf_Addr)&r_debug;
void (*r_brk)(struct r_debug *, struct link_map *);