mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-02 06:54:54 +00:00
PR binutils/13257
* archive.c (_bfd_find_nested_archive, _bfd_get_elt_at_filepos): Open thin archive element using container target if not defaulted.
This commit is contained in:
parent
0838fb575e
commit
98c53ba306
@ -1,3 +1,9 @@
|
||||
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.
|
||||
|
||||
2011-10-10 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* po/es.po: Updated Spanish translation.
|
||||
|
@ -343,6 +343,7 @@ static bfd *
|
||||
_bfd_find_nested_archive (bfd *arch_bfd, const char *filename)
|
||||
{
|
||||
bfd *abfd;
|
||||
const char *target;
|
||||
|
||||
for (abfd = arch_bfd->nested_archives;
|
||||
abfd != NULL;
|
||||
@ -351,7 +352,10 @@ _bfd_find_nested_archive (bfd *arch_bfd, const char *filename)
|
||||
if (filename_cmp (filename, abfd->filename) == 0)
|
||||
return abfd;
|
||||
}
|
||||
abfd = bfd_openr (filename, NULL);
|
||||
target = NULL;
|
||||
if (!arch_bfd->target_defaulted)
|
||||
target = arch_bfd->xvec->name;
|
||||
abfd = bfd_openr (filename, target);
|
||||
if (abfd)
|
||||
{
|
||||
abfd->archive_next = arch_bfd->nested_archives;
|
||||
@ -597,6 +601,8 @@ _bfd_get_elt_at_filepos (bfd *archive, file_ptr filepos)
|
||||
|
||||
if (bfd_is_thin_archive (archive))
|
||||
{
|
||||
const char *target;
|
||||
|
||||
/* This is a proxy entry for an external file. */
|
||||
if (! IS_ABSOLUTE_PATH (filename))
|
||||
{
|
||||
@ -628,7 +634,10 @@ _bfd_get_elt_at_filepos (bfd *archive, file_ptr filepos)
|
||||
}
|
||||
/* It's not an element of a nested archive;
|
||||
open the external file as a bfd. */
|
||||
n_nfd = bfd_openr (filename, NULL);
|
||||
target = NULL;
|
||||
if (!archive->target_defaulted)
|
||||
target = archive->xvec->name;
|
||||
n_nfd = bfd_openr (filename, target);
|
||||
if (n_nfd == NULL)
|
||||
bfd_set_error (bfd_error_malformed_archive);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user