/* Low-level I/O routines for BFDs.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
Written by Cygnus Support.
bfd *parent_bfd = abfd;
ptr = abfd->iovec->btell (abfd);
- while (parent_bfd->my_archive != NULL)
+ while (parent_bfd->my_archive != NULL
+ && !bfd_is_thin_archive (parent_bfd->my_archive))
{
ptr -= parent_bfd->origin;
parent_bfd = parent_bfd->my_archive;
if (direction == SEEK_CUR && position == 0)
return 0;
- if (abfd->format != bfd_archive && abfd->my_archive == 0)
+ if (abfd->my_archive == NULL || bfd_is_thin_archive (abfd->my_archive))
{
if (direction == SEEK_SET && (bfd_vma) position == abfd->where)
return 0;
{
bfd *parent_bfd = abfd;
- while (parent_bfd->my_archive != NULL)
+ while (parent_bfd->my_archive != NULL
+ && !bfd_is_thin_archive (parent_bfd->my_archive))
{
file_position += parent_bfd->origin;
parent_bfd = parent_bfd->my_archive;