Always set up sh_name in assign_section_numbers

commit 9ad5cbcfb2 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 4fbb74a605 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.
This commit is contained in:
H.J. Lu 2015-04-20 12:37:14 -07:00
parent be59ad3d96
commit e97029632c
2 changed files with 6 additions and 5 deletions

View File

@ -1,3 +1,7 @@
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

View File

@ -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;
}