From 2069d78d3c80b9fa6ceef866853ce966186ee300 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Fri, 14 Sep 2001 00:40:29 +0000 Subject: [PATCH] Commit Ilya Golubev's clear_solib() fixes. --- gdb/ChangeLog | 8 ++++++++ gdb/irix5-nat.c | 1 + gdb/osfsolib.c | 1 + gdb/solib.c | 2 ++ 4 files changed, 12 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 71200c2eb75..a835ab8b239 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2001-09-13 Kevin Buettner + + From Ilya Golubev : + * 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 * monitor.c (monitor_load): Don't delete symtab users, or reset diff --git a/gdb/irix5-nat.c b/gdb/irix5-nat.c index c1549fc0623..3c3284047cc 100644 --- a/gdb/irix5-nat.c +++ b/gdb/irix5-nat.c @@ -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", diff --git a/gdb/osfsolib.c b/gdb/osfsolib.c index b5a61518bc1..734cbc23ab5 100644 --- a/gdb/osfsolib.c +++ b/gdb/osfsolib.c @@ -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", diff --git a/gdb/solib.c b/gdb/solib.c index dfcca0cc47b..c43858e8b55 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -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); } -- 2.30.2