[RFC/RFA] dangling bfd pointer in archive cache...

Alan Modra amodra@gmail.com
Thu Oct 4 08:07:00 GMT 2012


On Wed, Oct 03, 2012 at 06:50:49PM -0400, Hans-Peter Nilsson wrote:
> On Wed, 3 Oct 2012, Alan Modra wrote:
> > On Tue, Oct 02, 2012 at 07:14:06AM -0700, Joel Brobecker wrote:
> > >         * opncls.c (bfd_close); Add call to _bfd_archive_close_and_cleanup.
> >
> > No, we should already be calling _bfd_archive_close_and_cleanup via
> >
> > > --- a/bfd/opncls.c
> > > +++ b/bfd/opncls.c
> > > @@ -719,6 +719,17 @@ bfd_close (bfd *abfd)
> > >    if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
> >
> > this call.  The problem is in coff-rs6000.c (and coff64-rs6000.c)
> > where the bfd_target vector just uses bfd_true for close_and_cleanup.
> 
> Could there be a similar problem for a.out as well, that
> _bfd_archive_close_and_cleanup isn't called?

Yes, likely.

bfd/aout-target.h:#ifndef MY_close_and_cleanup
bfd/aout-target.h:#define MY_close_and_cleanup MY_bfd_free_cached_info

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list