summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2011-10-11 06:44:12 +0000
committerAlan Modra <amodra@bigpond.net.au>2011-10-11 06:44:12 +0000
commit066f3707e988b24f8f39d01f105662a814c0979a (patch)
treecc42972a7e05fdebed00ff59afb9ed03da4c3434
parent0dbd33ec0ca431bb68f09b84d18d1767fc8f8c22 (diff)
downloadbinutils-redhat-066f3707e988b24f8f39d01f105662a814c0979a.tar.gz
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.
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/archive.c6
2 files changed, 11 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 5a919fb289..e81f23985f 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 44ac712388..3e333c7e89 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;