PR 437
* elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections. (_bfd_elf_link_omit_section_dynsym): Formatting.
This commit is contained in:
parent
0fce082197
commit
1da212d6fb
2 changed files with 15 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2004-10-11 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
PR 437
|
||||
* elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
|
||||
(_bfd_elf_link_omit_section_dynsym): Formatting.
|
||||
|
||||
2004-10-10 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
|
||||
|
|
|
@ -629,8 +629,7 @@ _bfd_elf_link_omit_section_dynsym (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
bfd *dynobj = elf_hash_table (info)->dynobj;
|
||||
|
||||
if (dynobj != NULL
|
||||
&& (ip = bfd_get_section_by_name (dynobj, p->name))
|
||||
!= NULL
|
||||
&& (ip = bfd_get_section_by_name (dynobj, p->name)) != NULL
|
||||
&& (ip->flags & SEC_LINKER_CREATED)
|
||||
&& ip->output_section == p)
|
||||
return TRUE;
|
||||
|
@ -5712,6 +5711,14 @@ elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
|
|||
bfd_byte *erel, *erelend;
|
||||
asection *o = lo->u.indirect.section;
|
||||
|
||||
if (o->contents == NULL && o->size != 0)
|
||||
{
|
||||
/* This is a reloc section that is being handled as a normal
|
||||
section. See bfd_section_from_shdr. We can't combine
|
||||
relocs in this case. */
|
||||
free (sort);
|
||||
return 0;
|
||||
}
|
||||
erel = o->contents;
|
||||
erelend = o->contents + o->size;
|
||||
p = sort + o->output_offset / ext_size * sort_elt;
|
||||
|
|
Loading…
Reference in a new issue