diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2001-06-08 07:00:49 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2001-06-08 07:00:49 +0000 |
commit | a74af83dee5a792f42ccb96b9e8cadc21b899f1b (patch) | |
tree | 877c0972c85e941090906cd3e36f0deac9425a55 | |
parent | 279ca435561dc1d5e9f70df052c7ccb75943c137 (diff) |
Ooops. Add struct r_debug, from powerpc.
-rw-r--r-- | include/link.h | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/include/link.h b/include/link.h index 6784f1063f1..c1a328fbda9 100644 --- a/include/link.h +++ b/include/link.h @@ -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 $ */ /* @@ -42,6 +42,8 @@ #ifndef _LINK_H_ #define _LINK_H_ +#include <sys/exec_elf.h> + /* XXXART - ? */ #ifndef DT_PROCNUM #define DT_PROCNUM 0 @@ -169,6 +171,38 @@ struct so_debug { }; /* + * 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. */ struct ld_entry { |