+2019-12-29 Alan Modra <amodra@gmail.com>
+
+ * coffcode.h (coff_close_and_cleanup): Redefine to..
+ * coffgen.c (_bfd_coff_close_and_cleanup): ..this. New function.
+ * libcoff-in.h (_bfd_coff_close_and_cleanup): Declare.
+ * libcoff.h: Regenerate.
+
2019-12-29 Hannes Domani <ssbssa@yahoo.de>
Alan Modra <amodra@gmail.com>
#endif /* COFF_WITH_PE_BIGOBJ */
#ifndef coff_close_and_cleanup
-#define coff_close_and_cleanup _bfd_generic_close_and_cleanup
+#define coff_close_and_cleanup _bfd_coff_close_and_cleanup
#endif
#ifndef coff_bfd_free_cached_info
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)
+ {
+ obj_coff_keep_syms (abfd) = FALSE;
+ obj_coff_keep_strings (abfd) = FALSE;
+ if (!_bfd_coff_free_symbols (abfd))
+ return FALSE;
+ }
+ return _bfd_generic_close_and_cleanup (abfd);
+}
(arelent *, struct bfd_link_info *, asection *);
extern void bfd_perform_slip
(bfd *, unsigned int, asection *, bfd_vma);
+extern bfd_boolean _bfd_coff_close_and_cleanup
+ (bfd *);
/* Functions and types in cofflink.c. */
(arelent *, struct bfd_link_info *, asection *);
extern void bfd_perform_slip
(bfd *, unsigned int, asection *, bfd_vma);
+extern bfd_boolean _bfd_coff_close_and_cleanup
+ (bfd *);
/* Functions and types in cofflink.c. */