+
+/* Return name used to identify a comdat group. */
+
+const char *
+bfd_coff_group_name (bfd *abfd, const asection *sec)
+{
+ struct coff_comdat_info *ci = bfd_coff_get_comdat_section (abfd, sec);
+ if (ci != NULL)
+ return ci->name;
+ return NULL;
+}
+
+bfd_boolean
+_bfd_coff_close_and_cleanup (bfd *abfd)
+{
+ if (abfd->format == bfd_object
+ && bfd_family_coff (abfd)
+ && coff_data (abfd) != NULL)
+ {
+ /* PR 25447:
+ Do not clear the keep_syms and keep_strings flags.
+ These may have been set by pe_ILF_build_a_bfd() indicating
+ that the syms and strings pointers are not to be freed. */
+ if (!_bfd_coff_free_symbols (abfd))
+ return FALSE;
+ }
+ return _bfd_generic_close_and_cleanup (abfd);
+}