https://sourceware.org/bugzilla/show_bug.cgi?id=25993
--- Comment #13 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Alan Modra <amo...@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0490dd41ae89e66efd8b3cee122c189a481269de commit 0490dd41ae89e66efd8b3cee122c189a481269de Author: Alan Modra <amo...@gmail.com> Date: Thu May 21 23:34:58 2020 +0930 Re: PR25993, read of freed memory git commit 7b958a48e132 put the bfd filename in the bfd objalloc memory. That means the filename is freed by _bfd_free_cached_info. Which is called by _bfd_compute_and_write_armap to tidy up symbol tables after they are done with. Unfortunately, _bfd_write_archive_contents wants to seek and read from archive elements after that point, and if the number of elements exceeds max_open_files in cache.c then some of those elements will have their files closed. To reopen, you need the filename. PR 25993 * opncls.c (_bfd_free_cached_info): Keep a copy of the bfd filename. (_bfd_delete_bfd): Free the copy. (_bfd_new_bfd): Free nbfd->memory on error. -- You are receiving this mail because: You are on the CC list for the bug.