diff options
author | Kevin Buettner <kevinb@redhat.com> | 2000-03-21 22:37:42 +0000 |
---|---|---|
committer | Kevin Buettner <kevinb@redhat.com> | 2000-03-21 22:37:42 +0000 |
commit | 15e7646bffc5f472602dfb7149d0ae4899e067a9 (patch) | |
tree | 7f8b146fca47afe6c6d81d04e754c75f39f84fc2 /gdb/solib.c | |
parent | 2147266a646e6a8bf75fbde94664e20eca1ec546 (diff) | |
download | gdb-15e7646bffc5f472602dfb7149d0ae4899e067a9.tar.gz |
Make sure section addresses from a shared object are correctly set in
a new struct objfile.
Diffstat (limited to 'gdb/solib.c')
-rw-r--r-- | gdb/solib.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gdb/solib.c b/gdb/solib.c index edfcb22864e..621bd6cc425 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -1155,6 +1155,7 @@ symbol_add_stub (arg) { register struct so_list *so = (struct so_list *) arg; /* catch_errs bogon */ CORE_ADDR text_addr = 0; + struct section_addr_info *sap; /* Have we already loaded this shared object? */ ALL_OBJFILES (so->objfile) @@ -1181,15 +1182,12 @@ symbol_add_stub (arg) + LM_ADDR (so); } - { - struct section_addr_info section_addrs; - - memset (§ion_addrs, 0, sizeof (section_addrs)); - section_addrs.text_addr = text_addr; - - so->objfile = symbol_file_add (so->so_name, so->from_tty, - §ion_addrs, 0, OBJF_SHARED); - } + sap = build_section_addr_info_from_section_table (so->sections, + so->sections_end); + sap->text_addr = text_addr; + so->objfile = symbol_file_add (so->so_name, so->from_tty, + sap, 0, OBJF_SHARED); + free_section_addr_info (sap); return (1); } |