2011-01-25 Mathieu Lacage <mathieu.lacage@inria.fr>
[binutils-gdb.git] / gdb / solib.c
index 909a23b8b062e4d6a1853556d9f1358da0902a43..6748d8768c92ecc3f7971e9fb596a04e7ca7de61 100644 (file)
@@ -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);
        }