|
@ -1,4 +1,4 @@ |
|
|
/* $OpenBSD: link.h,v 1.6 2001/05/31 14:04:52 art Exp $ */ |
|
|
|
|
|
|
|
|
/* $OpenBSD: link.h,v 1.7 2001/06/08 07:00:48 art Exp $ */ |
|
|
/* $NetBSD: link.h,v 1.10 1996/01/09 00:00:11 pk Exp $ */ |
|
|
/* $NetBSD: link.h,v 1.10 1996/01/09 00:00:11 pk Exp $ */ |
|
|
|
|
|
|
|
|
/* |
|
|
/* |
|
@ -42,6 +42,8 @@ |
|
|
#ifndef _LINK_H_ |
|
|
#ifndef _LINK_H_ |
|
|
#define _LINK_H_ |
|
|
#define _LINK_H_ |
|
|
|
|
|
|
|
|
|
|
|
#include <sys/exec_elf.h> |
|
|
|
|
|
|
|
|
/* XXXART - ? */ |
|
|
/* XXXART - ? */ |
|
|
#ifndef DT_PROCNUM |
|
|
#ifndef DT_PROCNUM |
|
|
#define DT_PROCNUM 0 |
|
|
#define DT_PROCNUM 0 |
|
@ -168,6 +170,38 @@ struct so_debug { |
|
|
struct rt_symbol *dd_cc; /* Allocated commons/copied data */ |
|
|
struct rt_symbol *dd_cc; /* Allocated commons/copied data */ |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* Debug rendezvous struct. Pointer to this is set up in the |
|
|
|
|
|
* target code pointed by the DT_MIPS_RLD_MAP tag. If it is |
|
|
|
|
|
* defined. |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
struct r_debug { |
|
|
|
|
|
int r_version; /* Protocol version. */ |
|
|
|
|
|
struct link_map *r_map; /* Head of list of loaded objects. */ |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* This is the address of a function internal to the run-time linker, |
|
|
|
|
|
* that will always be called when the linker begins to map in a |
|
|
|
|
|
* library or unmap it, and again when the mapping change is complete. |
|
|
|
|
|
* The debugger can set a breakpoint at this address if it wants to |
|
|
|
|
|
* notice shared object mapping changes. |
|
|
|
|
|
*/ |
|
|
|
|
|
Elf_Addr r_brk; |
|
|
|
|
|
enum { |
|
|
|
|
|
/* |
|
|
|
|
|
* This state value describes the mapping change taking place |
|
|
|
|
|
* when the `r_brk' address is called. |
|
|
|
|
|
*/ |
|
|
|
|
|
RT_CONSISTENT, /* Mapping change is complete. */ |
|
|
|
|
|
RT_ADD, /* Adding a new object. */ |
|
|
|
|
|
RT_DELETE, /* Removing an object mapping. */ |
|
|
|
|
|
} r_state; |
|
|
|
|
|
|
|
|
|
|
|
Elf_Addr r_ldbase; /* Base address the linker is loaded at. */ |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
/* |
|
|
* Entry points into ld.so - user interface to the run-time linker. |
|
|
* Entry points into ld.so - user interface to the run-time linker. |
|
|
*/ |
|
|
*/ |
|
|