aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r--bfd/elfxx-mips.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 49355a4..7d29ec2 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -1419,25 +1419,25 @@ free_ecoff_debug (struct ecoff_debug_info *debug)
}
bool
-_bfd_mips_elf_close_and_cleanup (bfd *abfd)
+_bfd_mips_elf_free_cached_info (bfd *abfd)
{
- if (bfd_get_format (abfd) == bfd_object)
+ struct mips_elf_obj_tdata *tdata;
+
+ if ((bfd_get_format (abfd) == bfd_object
+ || bfd_get_format (abfd) == bfd_core)
+ && (tdata = mips_elf_tdata (abfd)) != NULL)
{
- struct mips_elf_obj_tdata *tdata = mips_elf_tdata (abfd);
- if (tdata != NULL)
+ BFD_ASSERT (tdata->root.object_id == MIPS_ELF_DATA);
+ while (tdata->mips_hi16_list != NULL)
{
- BFD_ASSERT (tdata->root.object_id == MIPS_ELF_DATA);
- while (tdata->mips_hi16_list != NULL)
- {
- struct mips_hi16 *hi = tdata->mips_hi16_list;
- tdata->mips_hi16_list = hi->next;
- free (hi);
- }
- if (tdata->find_line_info != NULL)
- free_ecoff_debug (&tdata->find_line_info->d);
+ struct mips_hi16 *hi = tdata->mips_hi16_list;
+ tdata->mips_hi16_list = hi->next;
+ free (hi);
}
+ if (tdata->find_line_info != NULL)
+ free_ecoff_debug (&tdata->find_line_info->d);
}
- return _bfd_elf_close_and_cleanup (abfd);
+ return _bfd_elf_free_cached_info (abfd);
}
bool