If we find one we create a iovec based bfd that decompresses the
object data on demand. If we don't find one, return NULL. */
-bfd *
+gdb_bfd_ref_ptr
find_separate_debug_file_in_section (struct objfile *objfile)
{
asection *section;
- bfd *abfd;
+ gdb_bfd_ref_ptr abfd;
if (objfile->obfd == NULL)
return NULL;
if (abfd == NULL)
return NULL;
- if (!bfd_check_format (abfd, bfd_object))
+ if (!bfd_check_format (abfd.get (), bfd_object))
{
warning (_("Cannot parse .gnu_debugdata section; not a BFD object"));
- gdb_bfd_unref (abfd);
return NULL;
}
#else
warning (_("Cannot parse .gnu_debugdata section; LZMA support was "
"disabled at compile time"));
- abfd = NULL;
#endif /* !HAVE_LIBLZMA */
return abfd;