Browse Source

Handle NULL iostream in bfd_plugin_object_p.

2010-09-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/12004
	* plugin.c (bfd_plugin_object_p): Handle NULL iostream.
binutils-2_21-branch
H.J. Lu 16 years ago
parent
commit
028ed2b2b6
  1. 5
      bfd/ChangeLog
  2. 25
      bfd/plugin.c

5
bfd/ChangeLog

@ -1,3 +1,8 @@
2010-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/12004
* plugin.c (bfd_plugin_object_p): Handle NULL iostream.
2010-09-14 Kai Tietz <kai.tietz@onevision.com>
* pe-x86_64.c (COFF_SECTION_ALIGNMENT_ENTRIES): Make

25
bfd/plugin.c

@ -233,26 +233,31 @@ bfd_plugin_object_p (bfd *abfd)
int claimed = 0;
int t = load_plugin ();
struct ld_plugin_input_file file;
bfd *iobfd;
if (!t)
return NULL;
file.name = abfd->filename;
if (abfd->iostream)
if (abfd->my_archive)
{
file.fd = fileno ((FILE *) abfd->iostream);
file.offset = 0;
file.filesize = 0; /*FIXME*/
iobfd = abfd->my_archive;
file.offset = abfd->origin;
file.filesize = arelt_size (abfd);
}
else
{
bfd *archive = abfd->my_archive;
BFD_ASSERT (archive);
file.fd = fileno ((FILE *) archive->iostream);
file.offset = abfd->origin;
file.filesize = arelt_size (abfd);
iobfd = abfd;
file.offset = 0;
file.filesize = 0; /*FIXME*/
}
if (!iobfd->iostream && !bfd_open_file (iobfd))
return NULL;
file.fd = fileno ((FILE *) iobfd->iostream);
file.handle = abfd;
claim_file (&file, &claimed);
if (!claimed)

Loading…
Cancel
Save