* elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty
authorJie Zhang <jie.zhang@analog.com>
Wed, 23 Sep 2009 08:03:02 +0000 (08:03 +0000)
committerJie Zhang <jie.zhang@analog.com>
Wed, 23 Sep 2009 08:03:02 +0000 (08:03 +0000)
.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.

bfd/ChangeLog
bfd/elf32-bfin.c

index f750bebba0c945c91105cfd18bfd594ae696c322..09194ce25ae1b8d914a03217c24779aec265808e 100644 (file)
@@ -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>
 
        * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
index d4e3bbb94243ea53b5ba70e22ab61fbc9e3f730b..a767749012fc236413cafbb5b4c4bf92e7ad4316 100644 (file)
@@ -4166,19 +4166,17 @@ _bfinfdpic_size_got_plt (bfd *output_bfd,
     }
 
   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 =
-       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)->contents =
-           (bfd_byte *) bfd_zalloc (dynobj,
-                                    bfinfdpic_pltrel_section (info)->size);
-         if (bfinfdpic_pltrel_section (info)->contents == NULL)
-           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,
@@ -4215,18 +4213,15 @@ _bfinfdpic_size_got_plt (bfd *output_bfd,
   /* Allocate the PLT section contents only after
      _bfinfdpic_assign_plt_entries has a chance to add the size of the
      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)->flags |= SEC_EXCLUDE;
-      else
-       {
-         bfinfdpic_plt_section (info)->contents =
-           (bfd_byte *) bfd_zalloc (dynobj,
-                                    bfinfdpic_plt_section (info)->size);
-         if (bfinfdpic_plt_section (info)->contents == NULL)
-           return FALSE;
-       }
+      bfinfdpic_plt_section (info)->contents =
+       (bfd_byte *) bfd_zalloc (dynobj,
+                                bfinfdpic_plt_section (info)->size);
+      if (bfinfdpic_plt_section (info)->contents == NULL)
+       return FALSE;
     }
 
   return TRUE;
@@ -4302,12 +4297,11 @@ elf32_bfinfdpic_size_dynamic_sections (bfd *output_bfd,
          return FALSE;
     }
 
-
-  s = bfd_get_section_by_name (dynobj, ".rela.bss");
+  s = bfd_get_section_by_name (dynobj, ".dynbss");
   if (s && s->size == 0)
     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)
     s->flags |= SEC_EXCLUDE;