From ab7e10a0c4f73abe3e26911214b7772e77466f6c Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 18 Nov 2009 14:10:47 +0000 Subject: [PATCH] 2009-11-18 Tristan Gingold * machoread.c (macho_oso_symfile): Fix typo. Add comments. --- gdb/ChangeLog | 4 ++++ gdb/machoread.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f966e9d355e..3d98d1bc054 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2009-11-18 Tristan Gingold + + * machoread.c (macho_oso_symfile): Fix typo. Add comments. + 2009-11-17 Jan Kratochvil * dbxread.c (set_namestring): Remove cast to unsigned. Check N_STRX diff --git a/gdb/machoread.c b/gdb/machoread.c index ac7063dd0d3..ebd90c61c8d 100644 --- a/gdb/machoread.c +++ b/gdb/machoread.c @@ -429,6 +429,7 @@ macho_oso_symfile (struct objfile *main_objfile) const char *member_name = member_bfd->filename; int member_len = strlen (member_name); + /* If this member is referenced, add it as a symfile. */ for (ix2 = ix; ix2 < last_ix; ix2++) { oso2 = VEC_index (oso_el, vec, ix2); @@ -447,7 +448,9 @@ macho_oso_symfile (struct objfile *main_objfile) prev = member_bfd; member_bfd = bfd_openr_next_archived_file (archive_bfd, member_bfd); - if (ix2 < last_ix) + + /* Free previous member if not referenced by an oso. */ + if (ix2 >= last_ix) bfd_close (prev); } for (ix2 = ix; ix2 < last_ix; ix2++) -- 2.30.2