This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Always set up sh_name in assign_section_numbers


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e97029632cfacf9d8b65e2cf3051a932f19f9ebf

commit e97029632cfacf9d8b65e2cf3051a932f19f9ebf
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 20 12:37:14 2015 -0700

    Always set up sh_name in assign_section_numbers
    
    commit 9ad5cbcfb23cb74d34bd04f88f4e47c0f5de5155 added the initial support
    for more than 64k ELF sections with holes for reserved section indices in
    section header table and set entries of reserved section indices in
    section header table to index 0:
    
       for (secn = 1; secn < section_number; ++secn)
    -    i_shdrp[secn]->sh_name = _bfd_elf_strtab_offset (elf_shstrtab (abfd),
    -                                                    i_shdrp[secn]->sh_name);
    -
    +    if (i_shdrp[secn] == NULL)
    +      i_shdrp[secn] = i_shdrp[0];
    +    else
    +      i_shdrp[secn]->sh_name = _bfd_elf_strtab_offset (elf_shstrtab (abfd),
    +							i_shdrp[secn]->sh_name);
    
    commit 4fbb74a6055f7d48f09c44064073d3b1e99c6642 removed holes in section
    header table.  Check for i_shdrp[secn] == NULL is no longer needed now.
    This patch removes it.
    
    	* elf.c (assign_section_numbers): Always set up sh_name.

Diff:
---
 bfd/ChangeLog | 4 ++++
 bfd/elf.c     | 7 ++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 09231bf..1f95fd5 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,9 @@
 2015-04-20  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* elf.c (assign_section_numbers): Always set up sh_name.
+
+2015-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* elf.c (assign_file_positions_for_non_load_sections): Iterate
 	sections by pointer.
 	(_bfd_elf_assign_file_positions_for_non_load): Likewise.
diff --git a/bfd/elf.c b/bfd/elf.c
index 4258c6e..c60e1c8 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -3479,11 +3479,8 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
     }
 
   for (secn = 1; secn < section_number; ++secn)
-    if (i_shdrp[secn] == NULL)
-      i_shdrp[secn] = i_shdrp[0];
-    else
-      i_shdrp[secn]->sh_name = _bfd_elf_strtab_offset (elf_shstrtab (abfd),
-						       i_shdrp[secn]->sh_name);
+    i_shdrp[secn]->sh_name = _bfd_elf_strtab_offset (elf_shstrtab (abfd),
+						     i_shdrp[secn]->sh_name);
   return TRUE;
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]