diff options
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/opncls.c | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index cea4177ecd5..02a6eab18e2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,12 @@ 2012-11-06 Alan Modra <amodra@gmail.com> + PR binutils/14567 + * opncls.c (opncls_iovec): Forward declare. + (_bfd_new_bfd_contained_in): If using opncls_iovec, copy iostream + to new bfd. + +2012-11-06 Alan Modra <amodra@gmail.com> + * mach-o.c (bfd_mach_o_close_and_cleanup): Don't call _bfd_generic_close_and_cleanup for mach_o_fat archives. diff --git a/bfd/opncls.c b/bfd/opncls.c index fdccba371ec..8fd9ac86a97 100644 --- a/bfd/opncls.c +++ b/bfd/opncls.c @@ -107,6 +107,8 @@ _bfd_new_bfd (void) return nbfd; } +static const struct bfd_iovec opncls_iovec; + /* Allocate a new BFD as a member of archive OBFD. */ bfd * @@ -119,6 +121,8 @@ _bfd_new_bfd_contained_in (bfd *obfd) return NULL; nbfd->xvec = obfd->xvec; nbfd->iovec = obfd->iovec; + if (obfd->iovec == &opncls_iovec) + nbfd->iostream = obfd->iostream; nbfd->my_archive = obfd; nbfd->direction = read_direction; nbfd->target_defaulted = obfd->target_defaulted; |