summaryrefslogtreecommitdiff
path: root/libexec/ld.so/resolve.h
diff options
context:
space:
mode:
authorKurt Miller <kurt@cvs.openbsd.org>2008-04-09 21:45:27 +0000
committerKurt Miller <kurt@cvs.openbsd.org>2008-04-09 21:45:27 +0000
commite8fa3db80c2b63ccd534533dd3faba4cea7228b8 (patch)
tree576d27cf7bc73facdc4c3316c2b0c99491e0e78d /libexec/ld.so/resolve.h
parent2649d5c18f001d23bb274cca5b01e455722dcc89 (diff)
Improve support for shared libs linked at non-zero addreses:
- rename private values in struct elf_object to better describe their meaning: s/load_offs/obj_base/ "object's address '0' base" s/load_addr/load_base/ "The base address of the loadable segments" - gdb needs the obj_base value so swap positions with load_base in struct elf_object - fix a few occurrences of where load_base was used instead of obj_base. With help and okay drahn@
Diffstat (limited to 'libexec/ld.so/resolve.h')
-rw-r--r--libexec/ld.so/resolve.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/libexec/ld.so/resolve.h b/libexec/ld.so/resolve.h
index 1257ffccae3..ac27d79a274 100644
--- a/libexec/ld.so/resolve.h
+++ b/libexec/ld.so/resolve.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: resolve.h,v 1.55 2007/11/27 16:42:15 miod Exp $ */
+/* $OpenBSD: resolve.h,v 1.56 2008/04/09 21:45:26 kurt Exp $ */
/*
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -49,13 +49,13 @@ struct load_list {
*/
typedef struct elf_object elf_object_t;
struct elf_object {
- Elf_Addr load_addr; /* Real load address */
+ Elf_Addr obj_base; /* object's address '0' base */
char *load_name; /* Pointer to object name */
Elf_Dyn *load_dyn; /* Pointer to object dynamic data */
struct elf_object *next;
struct elf_object *prev;
/* End struct link_map compatible */
- Elf_Addr load_offs; /* Load offset from link address */
+ Elf_Addr load_base; /* Base address of loadable segments */
struct load_list *load_list;
@@ -152,7 +152,7 @@ void _dl_rt_resolve(void);
void _dl_add_object(elf_object_t *object);
elf_object_t *_dl_finalize_object(const char *objname, Elf_Dyn *dynp,
- const long *, const int objtype, const long laddr, const long loff);
+ const long *, const int objtype, const long lbase, const long obase);
void _dl_remove_object(elf_object_t *object);
void _dl_cleanup_objects(void);