* elflink.c (bfd_elf_final_link): Correct reloc handling for
elf_backend_count_relocs. (bfd_elf_discard_info): Print an error if we can't read syms.
This commit is contained in:
parent
b16f296eba
commit
1182cb9397
2 changed files with 19 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2007-05-07 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elflink.c (bfd_elf_final_link): Correct reloc handling for
|
||||
elf_backend_count_relocs.
|
||||
(bfd_elf_discard_info): Print an error if we can't read syms.
|
||||
|
||||
2007-05-07 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
|
||||
|
|
|
@ -9312,13 +9312,18 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
|
|||
{
|
||||
Elf_Internal_Rela * relocs;
|
||||
|
||||
relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
|
||||
relocs = _bfd_elf_link_read_relocs (sec->owner, sec,
|
||||
NULL, NULL,
|
||||
info->keep_memory);
|
||||
|
||||
reloc_count = (*bed->elf_backend_count_relocs) (sec, relocs);
|
||||
if (relocs != NULL)
|
||||
{
|
||||
reloc_count
|
||||
= (*bed->elf_backend_count_relocs) (sec, relocs);
|
||||
|
||||
if (elf_section_data (o)->relocs != relocs)
|
||||
free (relocs);
|
||||
if (elf_section_data (sec)->relocs != relocs)
|
||||
free (relocs);
|
||||
}
|
||||
}
|
||||
|
||||
if (sec->rawsize > max_contents_size)
|
||||
|
@ -11147,7 +11152,10 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
|
|||
cookie.locsymcount, 0,
|
||||
NULL, NULL, NULL);
|
||||
if (cookie.locsyms == NULL)
|
||||
return FALSE;
|
||||
{
|
||||
info->callbacks->einfo (_("%P%X: can not read symbols: %E\n"));
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (stab != NULL)
|
||||
|
|
Loading…
Reference in a new issue