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 71200c2eb75d11af7f93447be579c385ca91fcce..a835ab8b2392a42707ed5209527efc4f5e364e3b 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 c1549fc06239e18356756824d887997300c93be6..3c3284047cc6c36a9eb7d7d5a90730f66c64de57 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 b5a61518bc13bed8e8c7ebfb2fa4f694d269c592..734cbc23ab5265ef0b8a2640866eae00e6118c4c 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 dfcca0cc47b6df7c3da393314b7408df6d11748c..c43858e8b55e282a0f74b9d4f4878e06a2ecd225 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);
     }