diff options
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/archive.c | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5a919fb..e81f239 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,13 @@ 2011-10-11 Alan Modra <amodra@gmail.com> + PR binutils/13278 + * archive.c (bfd_generic_archive_p): Only check first element + when target_defaulted. + (_bfd_construct_extended_name_table): Use ar_maxnamelen. + (_bfd_archive_bsd44_construct_extended_name_table): Likewise. + +2011-10-11 Alan Modra <amodra@gmail.com> + PR binutils/13257 * archive.c (_bfd_find_nested_archive, _bfd_get_elt_at_filepos): Open thin archive element using container target if not defaulted. diff --git a/bfd/archive.c b/bfd/archive.c index 44ac712..3e333c7 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -793,7 +793,7 @@ bfd_generic_archive_p (bfd *abfd) return NULL; } - if (bfd_has_map (abfd)) + if (abfd->target_defaulted && bfd_has_map (abfd)) { bfd *first; @@ -1512,7 +1512,7 @@ _bfd_construct_extended_name_table (bfd *abfd, char **tabloc, bfd_size_type *tablen) { - unsigned int maxname = abfd->xvec->ar_max_namelen; + unsigned int maxname = ar_maxnamelen (abfd); bfd_size_type total_namelen = 0; bfd *current; char *strptr; @@ -1707,7 +1707,7 @@ _bfd_archive_bsd44_construct_extended_name_table (bfd *abfd, bfd_size_type *tablen, const char **name) { - unsigned int maxname = abfd->xvec->ar_max_namelen; + unsigned int maxname = ar_maxnamelen (abfd); bfd *current; *tablen = 0; |