--- bfd/archive.c_ Wed Apr 21 19:28:07 2004 +++ bfd/archive.c Wed Apr 21 20:54:25 2004 @@ -498,6 +498,11 @@ struct areltdata *new_areldata; bfd *n_nfd; + if (archive->my_archive) { + filepos += archive->origin; + archive = archive->my_archive; + } + n_nfd = _bfd_look_for_bfd_in_cache (archive, filepos); if (n_nfd) return n_nfd; @@ -593,6 +598,7 @@ BSD-4.4-style element with a long odd size. */ filestart = last_file->origin + size; filestart += filestart % 2; + if (archive->my_archive) filestart -= archive->origin; } return _bfd_get_elt_at_filepos (archive, filestart);