diff options
author | Kevin Buettner <kevinb@redhat.com> | 2001-09-14 00:40:29 +0000 |
---|---|---|
committer | Kevin Buettner <kevinb@redhat.com> | 2001-09-14 00:40:29 +0000 |
commit | 2069d78d3c80b9fa6ceef866853ce966186ee300 (patch) | |
tree | 8ff4cf31465ed077c287dc941f841aa76f7f4c70 /gdb | |
parent | 93de26c18808f0806c956139c1b79c26f46a2368 (diff) | |
download | gdb-2069d78d3c80b9fa6ceef866853ce966186ee300.zip gdb-2069d78d3c80b9fa6ceef866853ce966186ee300.tar.gz gdb-2069d78d3c80b9fa6ceef866853ce966186ee300.tar.bz2 |
Commit Ilya Golubev's clear_solib() fixes.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/irix5-nat.c | 1 | ||||
-rw-r--r-- | gdb/osfsolib.c | 1 | ||||
-rw-r--r-- | gdb/solib.c | 2 |
4 files changed, 12 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 71200c2..a835ab8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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 diff --git a/gdb/irix5-nat.c b/gdb/irix5-nat.c index c1549fc..3c32840 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 b5a6151..734cbc2 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 dfcca0c..c43858e 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); } |