* elf32-bfin.c (elf32_bfinfdpic_create_dynamic_sections): Always
authorJie Zhang <jie.zhang@analog.com>
Fri, 4 Sep 2009 03:35:32 +0000 (03:35 +0000)
committerJie Zhang <jie.zhang@analog.com>
Fri, 4 Sep 2009 03:35:32 +0000 (03:35 +0000)
create .rela.bss.
(elf32_bfinfdpic_size_dynamic_sections): Set SEC_EXCLUDE flag
for empty .rela.bss and .rel.plt sections.

bfd/ChangeLog
bfd/elf32-bfin.c

index 39987cdcd2a5fa1c1e91210de50ae94aeb2bf948..954edf30b8900afeb27740378978db67cb65ab9a 100644 (file)
@@ -1,3 +1,10 @@
+2009-09-04  Jie Zhang  <jie.zhang@analog.com>
+
+       * 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.
+
 2009-09-03  Adam Nemet  <anemet@caviumnetworks.com>
 
        * elfxx-mips.c (mips_elf_calculate_relocation): Don't relocate
index 7a415defd66596e277d3a643baa9dcb8e11a63a3..f8e4c19e72b24ddbef9830cd9b560c46aed9116c 100644 (file)
@@ -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;
 }