aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib-svr4.c
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2000-10-30 23:31:17 +0000
committerKevin Buettner <kevinb@redhat.com>2000-10-30 23:31:17 +0000
commit749499cbc4bbd424e9724cd1ded6fd8db340f1ad (patch)
treebc470d599b076ad88f5cd7e4ff033e7235f562c5 /gdb/solib-svr4.c
parent0cf9d59bcb201be4433464a8b49c8bc7f3225419 (diff)
downloadgdb-749499cbc4bbd424e9724cd1ded6fd8db340f1ad.zip
gdb-749499cbc4bbd424e9724cd1ded6fd8db340f1ad.tar.gz
gdb-749499cbc4bbd424e9724cd1ded6fd8db340f1ad.tar.bz2
solib.c relocation improvements
Diffstat (limited to 'gdb/solib-svr4.c')
-rw-r--r--gdb/solib-svr4.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 13fea47..b5a0725 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -1567,12 +1567,20 @@ svr4_free_so (struct so_list *so)
free (so->lm_info);
}
+static void
+svr4_relocate_section_addresses (struct so_list *so,
+ struct section_table *sec)
+{
+ sec->addr += LM_ADDR (so);
+ sec->endaddr += LM_ADDR (so);
+}
+
static struct target_so_ops svr4_so_ops;
void
_initialize_svr4_solib (void)
{
- svr4_so_ops.lm_addr = LM_ADDR;
+ svr4_so_ops.relocate_section_addresses = svr4_relocate_section_addresses;
svr4_so_ops.free_so = svr4_free_so;
svr4_so_ops.clear_solib = svr4_clear_solib;
svr4_so_ops.solib_create_inferior_hook = svr4_solib_create_inferior_hook;