Always create dynsym section with dynamic sections
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 23 Feb 2016 00:30:30 +0000 (16:30 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 23 Feb 2016 00:30:30 +0000 (16:30 -0800)
We should always create the dynsym section, even if it is empty, with
dynamic sections.

* elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
dynsym section, even if it is empty, with dynamic sections.

bfd/ChangeLog
bfd/elflink.c

index dd1a308890cf6770157c15319a4d43cd2c79fcf6..1e0f6a13de3e2366469a1175b8ca17db59c0ae96 100644 (file)
@@ -1,3 +1,8 @@
+2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
+       dynsym section, even if it is empty, with dynamic sections.
+
 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
 
        * syms.c: Remove BSF_COMMON from comments.
index c7672edf8ab58197a1d10e3c54ef58f2c20e8d0d..89a6dea761407612cd4a2ffa0956918554093c9a 100644 (file)
@@ -875,9 +875,9 @@ _bfd_elf_link_renumber_dynsyms (bfd *output_bfd,
                          &dynsymcount);
 
   /* There is an unused NULL entry at the head of the table which
-     we must account for in our count.  Unless there weren't any
-     symbols, which means we'll have no table at all.  */
-  if (dynsymcount != 0)
+     we must account for in our count.  We always create the dynsym
+     section, even if it is empty, with dynamic sections.  */
+  if (elf_hash_table (info)->dynamic_sections_created)
     ++dynsymcount;
 
   elf_hash_table (info)->dynsymcount = dynsymcount;