summaryrefslogtreecommitdiff
path: root/bfd/opncls.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-11-06 09:31:12 +0000
committerAlan Modra <amodra@gmail.com>2012-11-06 09:31:12 +0000
commitb374d0f8d9c2472b083fbb4241a6877d2b1f23d1 (patch)
treef9ef9db0a8ec97bbc221e676d16945e49b805714 /bfd/opncls.c
parent01f2564af3a6b4c5c19e841406f3bd91d690d594 (diff)
downloadbinutils-gdb-b374d0f8d9c2472b083fbb4241a6877d2b1f23d1.tar.gz
PR binutils/14567
* opncls.c (opncls_iovec): Forward declare. (_bfd_new_bfd_contained_in): If using opncls_iovec, copy iostream to new bfd.
Diffstat (limited to 'bfd/opncls.c')
-rw-r--r--bfd/opncls.c4
1 files changed, 4 insertions, 0 deletions
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;