2005-12-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2008 * elf.c (_bfd_elf_setup_sections): Return FALSE if elf_linked_to_section will be set to NULL. * format.c (bfd_check_format_matches): Don't check the default target twice.
This commit is contained in:
parent
a717134b33
commit
25bbc98480
@ -1,3 +1,12 @@
|
||||
2005-12-13 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/2008
|
||||
* elf.c (_bfd_elf_setup_sections): Return FALSE if
|
||||
elf_linked_to_section will be set to NULL.
|
||||
|
||||
* format.c (bfd_check_format_matches): Don't check the default
|
||||
target twice.
|
||||
|
||||
2005-12-13 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf64-ppc.c (ppc64_elf_relocate_section): Force tail calls in
|
||||
|
17
bfd/elf.c
17
bfd/elf.c
@ -654,8 +654,23 @@ _bfd_elf_setup_sections (bfd *abfd)
|
||||
}
|
||||
else
|
||||
{
|
||||
asection *link;
|
||||
|
||||
this_hdr = elf_elfsections (abfd)[elfsec];
|
||||
elf_linked_to_section (s) = this_hdr->bfd_section;
|
||||
|
||||
/* PR 1991, 2008:
|
||||
Some strip/objcopy may leave an incorrect value in
|
||||
sh_link. We don't want to proceed. */
|
||||
link = this_hdr->bfd_section;
|
||||
if (link == NULL)
|
||||
{
|
||||
(*_bfd_error_handler)
|
||||
(_("%B: sh_link [%d] in section `%A' is incorrect"),
|
||||
s->owner, s, elfsec);
|
||||
result = FALSE;
|
||||
}
|
||||
|
||||
elf_linked_to_section (s) = link;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -217,7 +217,9 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
|
||||
const bfd_target *temp;
|
||||
bfd_error_type err;
|
||||
|
||||
if (*target == &binary_vec)
|
||||
/* Don't check the default target twice. */
|
||||
if (*target == &binary_vec
|
||||
|| (!abfd->target_defaulted && *target == save_targ))
|
||||
continue;
|
||||
|
||||
abfd->xvec = *target; /* Change BFD's target temporarily. */
|
||||
|
Loading…
Reference in New Issue
Block a user