aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib.c
diff options
context:
space:
mode:
authorThiago Jung Bauermann <bauerman@br.ibm.com>2011-01-26 01:55:19 +0000
committerThiago Jung Bauermann <bauerman@br.ibm.com>2011-01-26 01:55:19 +0000
commite4f6d2ecc41bc3ab6a3a77596a40b851d0ffa4f3 (patch)
tree5b68f53615c364f90cf099dfe236d9bc087bcce9 /gdb/solib.c
parentf829b0eccc3245b76662aedf387f0643e58f1737 (diff)
downloadfsf-binutils-gdb-e4f6d2ecc41bc3ab6a3a77596a40b851d0ffa4f3.zip
fsf-binutils-gdb-e4f6d2ecc41bc3ab6a3a77596a40b851d0ffa4f3.tar.gz
fsf-binutils-gdb-e4f6d2ecc41bc3ab6a3a77596a40b851d0ffa4f3.tar.bz2
2011-01-25 Mathieu Lacage <mathieu.lacage@inria.fr>
PR/symtab 11766: * gdb/objfiles.h (struct objfile) <addr_low>: New field. * gdb/solib.c (solib_read_symbols): Check for addr_low in equality test for objfile, initialize addr_low if needed.
Diffstat (limited to 'gdb/solib.c')
-rw-r--r--gdb/solib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/solib.c b/gdb/solib.c
index 909a23b..6748d87 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -638,7 +638,8 @@ solib_read_symbols (struct so_list *so, int flags)
/* Have we already loaded this shared object? */
ALL_OBJFILES (so->objfile)
{
- if (strcmp (so->objfile->name, so->so_name) == 0)
+ if (strcmp (so->objfile->name, so->so_name) == 0
+ && so->objfile->addr_low == so->addr_low)
break;
}
if (so->objfile != NULL)
@@ -648,6 +649,7 @@ solib_read_symbols (struct so_list *so, int flags)
so->sections_end);
so->objfile = symbol_file_add_from_bfd (so->abfd,
flags, sap, OBJF_SHARED);
+ so->objfile->addr_low = so->addr_low;
free_section_addr_info (sap);
}