From 153d38f6576d465f160f9e6262a631274ff5cdd8 Mon Sep 17 00:00:00 2001 From: Jie Zhang Date: Fri, 4 Sep 2009 03:35:32 +0000 Subject: * elf32-bfin.c (elf32_bfinfdpic_create_dynamic_sections): Always create .rela.bss. (elf32_bfinfdpic_size_dynamic_sections): Set SEC_EXCLUDE flag for empty .rela.bss and .rel.plt sections. --- bfd/elf32-bfin.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'bfd/elf32-bfin.c') diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index 7a415de..f8e4c19 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -3559,8 +3559,7 @@ elf32_bfinfdpic_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) if (! info->shared) { s = bfd_make_section_with_flags (abfd, - (bed->default_use_rela_p - ? ".rela.bss" : ".rel.bss"), + ".rela.bss", flags | SEC_READONLY); if (s == NULL || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align)) @@ -4299,6 +4298,15 @@ elf32_bfinfdpic_size_dynamic_sections (bfd *output_bfd, return FALSE; } + + s = bfd_get_section_by_name (dynobj, ".rela.bss"); + if (s && s->size == 0) + s->flags |= SEC_EXCLUDE; + + s = bfd_get_section_by_name (dynobj, ".rel.plt"); + if (s && s->size == 0) + s->flags |= SEC_EXCLUDE; + return TRUE; } -- cgit v1.1