summaryrefslogtreecommitdiff
path: root/gdb/solib.c
diff options
context:
space:
mode:
authorThiago Jung Bauermann <bauerman@br.ibm.com>2011-01-26 01:55:18 +0000
committerThiago Jung Bauermann <bauerman@br.ibm.com>2011-01-26 01:55:18 +0000
commit1580ae79702222958e97a7c656b6c55b42356d5b (patch)
tree12aec801bb4b42e54ef6eefb4b7a4b500d46de2e /gdb/solib.c
parent1bfe58a48a4796dc90557daa15980ad432fa202c (diff)
downloadgdb-1580ae79702222958e97a7c656b6c55b42356d5b.tar.gz
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 909a23b8b06..6748d8768c9 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);
}