mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 19:50:13 +08:00
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:
@ -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>
|
2004-10-10 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
|
* 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;
|
bfd *dynobj = elf_hash_table (info)->dynobj;
|
||||||
|
|
||||||
if (dynobj != NULL
|
if (dynobj != NULL
|
||||||
&& (ip = bfd_get_section_by_name (dynobj, p->name))
|
&& (ip = bfd_get_section_by_name (dynobj, p->name)) != NULL
|
||||||
!= NULL
|
|
||||||
&& (ip->flags & SEC_LINKER_CREATED)
|
&& (ip->flags & SEC_LINKER_CREATED)
|
||||||
&& ip->output_section == p)
|
&& ip->output_section == p)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -5712,6 +5711,14 @@ elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
|
|||||||
bfd_byte *erel, *erelend;
|
bfd_byte *erel, *erelend;
|
||||||
asection *o = lo->u.indirect.section;
|
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;
|
erel = o->contents;
|
||||||
erelend = o->contents + o->size;
|
erelend = o->contents + o->size;
|
||||||
p = sort + o->output_offset / ext_size * sort_elt;
|
p = sort + o->output_offset / ext_size * sort_elt;
|
||||||
|
Reference in New Issue
Block a user