* elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty
.rel.plt and .plt sections are removed. (elf32_bfinfdpic_size_dynamic_sections): Remove empty .dynbss section. Remove the duplicated removing of empty .rel.plt section.
This commit is contained in:
parent
a3371076af
commit
d3e32c2e1a
|
@ -1,3 +1,11 @@
|
||||||
|
2009-09-23 Jie Zhang <jie.zhang@analog.com>
|
||||||
|
|
||||||
|
* elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty
|
||||||
|
.rel.plt and .plt sections are removed.
|
||||||
|
(elf32_bfinfdpic_size_dynamic_sections): Remove empty .dynbss
|
||||||
|
section. Remove the duplicated removing of empty .rel.plt
|
||||||
|
section.
|
||||||
|
|
||||||
2009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
|
2009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
|
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
|
||||||
|
|
|
@ -4166,19 +4166,17 @@ _bfinfdpic_size_got_plt (bfd *output_bfd,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (elf_hash_table (info)->dynamic_sections_created)
|
if (elf_hash_table (info)->dynamic_sections_created)
|
||||||
|
bfinfdpic_pltrel_section (info)->size =
|
||||||
|
gpinfop->g.lzplt / LZPLT_NORMAL_SIZE * get_elf_backend_data (output_bfd)->s->sizeof_rel;
|
||||||
|
if (bfinfdpic_pltrel_section (info)->size == 0)
|
||||||
|
bfinfdpic_pltrel_section (info)->flags |= SEC_EXCLUDE;
|
||||||
|
else
|
||||||
{
|
{
|
||||||
bfinfdpic_pltrel_section (info)->size =
|
bfinfdpic_pltrel_section (info)->contents =
|
||||||
gpinfop->g.lzplt / LZPLT_NORMAL_SIZE * get_elf_backend_data (output_bfd)->s->sizeof_rel;
|
(bfd_byte *) bfd_zalloc (dynobj,
|
||||||
if (bfinfdpic_pltrel_section (info)->size == 0)
|
bfinfdpic_pltrel_section (info)->size);
|
||||||
bfinfdpic_pltrel_section (info)->flags |= SEC_EXCLUDE;
|
if (bfinfdpic_pltrel_section (info)->contents == NULL)
|
||||||
else
|
return FALSE;
|
||||||
{
|
|
||||||
bfinfdpic_pltrel_section (info)->contents =
|
|
||||||
(bfd_byte *) bfd_zalloc (dynobj,
|
|
||||||
bfinfdpic_pltrel_section (info)->size);
|
|
||||||
if (bfinfdpic_pltrel_section (info)->contents == NULL)
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add 4 bytes for every block of at most 65535 lazy PLT entries,
|
/* Add 4 bytes for every block of at most 65535 lazy PLT entries,
|
||||||
|
@ -4215,18 +4213,15 @@ _bfinfdpic_size_got_plt (bfd *output_bfd,
|
||||||
/* Allocate the PLT section contents only after
|
/* Allocate the PLT section contents only after
|
||||||
_bfinfdpic_assign_plt_entries has a chance to add the size of the
|
_bfinfdpic_assign_plt_entries has a chance to add the size of the
|
||||||
non-lazy PLT entries. */
|
non-lazy PLT entries. */
|
||||||
if (elf_hash_table (info)->dynamic_sections_created)
|
if (bfinfdpic_plt_section (info)->size == 0)
|
||||||
|
bfinfdpic_plt_section (info)->flags |= SEC_EXCLUDE;
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (bfinfdpic_plt_section (info)->size == 0)
|
bfinfdpic_plt_section (info)->contents =
|
||||||
bfinfdpic_plt_section (info)->flags |= SEC_EXCLUDE;
|
(bfd_byte *) bfd_zalloc (dynobj,
|
||||||
else
|
bfinfdpic_plt_section (info)->size);
|
||||||
{
|
if (bfinfdpic_plt_section (info)->contents == NULL)
|
||||||
bfinfdpic_plt_section (info)->contents =
|
return FALSE;
|
||||||
(bfd_byte *) bfd_zalloc (dynobj,
|
|
||||||
bfinfdpic_plt_section (info)->size);
|
|
||||||
if (bfinfdpic_plt_section (info)->contents == NULL)
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -4302,12 +4297,11 @@ elf32_bfinfdpic_size_dynamic_sections (bfd *output_bfd,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s = bfd_get_section_by_name (dynobj, ".dynbss");
|
||||||
s = bfd_get_section_by_name (dynobj, ".rela.bss");
|
|
||||||
if (s && s->size == 0)
|
if (s && s->size == 0)
|
||||||
s->flags |= SEC_EXCLUDE;
|
s->flags |= SEC_EXCLUDE;
|
||||||
|
|
||||||
s = bfd_get_section_by_name (dynobj, ".rel.plt");
|
s = bfd_get_section_by_name (dynobj, ".rela.bss");
|
||||||
if (s && s->size == 0)
|
if (s && s->size == 0)
|
||||||
s->flags |= SEC_EXCLUDE;
|
s->flags |= SEC_EXCLUDE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue