undefined newexpr->gdbarch field in ada-lang.c:replace_operator_with_call
[deliverable/binutils-gdb.git] / gdb / solib.c
index 909a23b8b062e4d6a1853556d9f1358da0902a43..2bf0751399e4c9e815624d709d3e17fdf91c4760 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);
        }
 
@@ -1324,6 +1326,7 @@ reload_shared_libraries_1 (int from_tty)
        SYMFILE_DEFER_BP_RESET | (from_tty ? SYMFILE_VERBOSE : 0);
 
       filename = tilde_expand (so->so_original_name);
+      make_cleanup (xfree, filename);
       abfd = solib_bfd_open (filename);
       if (abfd != NULL)
        {
This page took 0.024343 seconds and 4 git commands to generate.