1999-03-20 01:06:36 +03:00
|
|
|
/* $NetBSD: link_elf.h,v 1.5 1999/03/19 22:06:36 thorpej Exp $ */
|
1996-12-16 23:37:55 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
* This only exists for GDB.
|
|
|
|
*/
|
1999-03-20 01:06:36 +03:00
|
|
|
|
|
|
|
#ifndef _LINK_ELF_H_
|
|
|
|
#define _LINK_ELF_H_
|
1996-12-16 23:37:55 +03:00
|
|
|
|
|
|
|
#include <sys/types.h>
|
|
|
|
|
1998-10-30 08:43:40 +03:00
|
|
|
#include <machine/elf_machdep.h>
|
|
|
|
|
1996-12-16 23:37:55 +03:00
|
|
|
struct link_map {
|
1999-03-01 19:40:07 +03:00
|
|
|
caddr_t l_addr; /* Base Address of library */
|
1998-03-25 07:12:32 +03:00
|
|
|
#ifdef __mips__
|
1999-03-01 19:40:07 +03:00
|
|
|
caddr_t l_offs; /* Load Offset of library */
|
1998-03-25 07:12:32 +03:00
|
|
|
#endif
|
1999-03-01 19:40:07 +03:00
|
|
|
const char *l_name; /* Absolute Path to Library */
|
|
|
|
void *l_ld; /* Pointer to .dynamic in memory */
|
|
|
|
struct link_map *l_next; /* linked list of of mapped libs */
|
|
|
|
struct link_map *l_prev;
|
1996-12-16 23:37:55 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
struct r_debug {
|
1999-03-01 19:40:07 +03:00
|
|
|
int r_version; /* not used */
|
|
|
|
struct link_map *r_map; /* list of loaded images */
|
|
|
|
void (*r_brk) __P((void)); /* pointer to break point */
|
1996-12-16 23:37:55 +03:00
|
|
|
enum {
|
1999-03-01 19:40:07 +03:00
|
|
|
RT_CONSISTENT, /* things are stable */
|
|
|
|
RT_ADD, /* adding a shared library */
|
|
|
|
RT_DELETE /* removing a shared library */
|
|
|
|
} r_state;
|
1996-12-16 23:37:55 +03:00
|
|
|
};
|
1999-03-01 19:40:07 +03:00
|
|
|
|
1999-03-20 01:06:36 +03:00
|
|
|
#endif /* _LINK_ELF_H_ */
|