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.
This commit is contained in:
parent
492d5973f0
commit
028ed2b2b6
@ -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
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…
Reference in New Issue
Block a user