Commit Ilya Golubev's clear_solib() fixes.
authorKevin Buettner <kevinb@redhat.com>
Fri, 14 Sep 2001 00:40:29 +0000 (00:40 +0000)
committerKevin Buettner <kevinb@redhat.com>
Fri, 14 Sep 2001 00:40:29 +0000 (00:40 +0000)
gdb/ChangeLog
gdb/irix5-nat.c
gdb/osfsolib.c
gdb/solib.c

index 71200c2..a835ab8 100644 (file)
@@ -1,3 +1,11 @@
+2001-09-13  Kevin Buettner  <kevinb@redhat.com>
+
+       From Ilya Golubev <gin@mo.msk.ru>:
+       * solib.c (clear_solib): Call `remove_target_sections' to fix
+       stale pointers in `struct target_ops'.
+       * irix5-nat.c (clear_solib): Likewise.
+       * osfsolib.c (clear_solib): Likewise.
+
 2001-09-13  Jim Blandy  <jimb@redhat.com>
 
        * monitor.c (monitor_load): Don't delete symtab users, or reset
index c1549fc..3c32840 100644 (file)
@@ -1061,6 +1061,7 @@ clear_solib (void)
        }
       if (so_list_head->abfd)
        {
+         remove_target_sections (so_list_head->abfd);
          bfd_filename = bfd_get_filename (so_list_head->abfd);
          if (!bfd_close (so_list_head->abfd))
            warning ("cannot close \"%s\": %s",
index b5a6151..734cbc2 100644 (file)
@@ -802,6 +802,7 @@ clear_solib (void)
        }
       if (so_list_head->abfd)
        {
+         remove_target_sections (so_list_head->abfd);
          bfd_filename = bfd_get_filename (so_list_head->abfd);
          if (!bfd_close (so_list_head->abfd))
            warning ("cannot close \"%s\": %s",
index dfcca0c..c43858e 100644 (file)
@@ -730,6 +730,8 @@ clear_solib (void)
     {
       struct so_list *so = so_list_head;
       so_list_head = so->next;
+      if (so->abfd)
+       remove_target_sections (so->abfd);
       free_so (so);
     }