Do not place symbols into a discarded .dynsym

Prevents getting an error about dynamic symbols in sections indexed
64K+ when .dynsym is discarded.

	* elflink.c (elf_link_output_extsym): Do not place symbols into a
	discarded .dynsym.
This commit is contained in:
Egeyar Bagcioglu 2018-10-03 23:27:32 +02:00 committed by Alan Modra
parent 35dc7e6b77
commit 1c2649ed74
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2018-10-09 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
* elflink.c (elf_link_output_extsym): Do not place symbols into a
discarded .dynsym.
2018-10-08 H.J. Lu <hongjiu.lu@intel.com>
PR ld/23428

View File

@ -10024,9 +10024,10 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
/* If this symbol should be put in the .dynsym section, then put it
there now. We already know the symbol index. We also fill in
the entry in the .hash section. */
if (elf_hash_table (flinfo->info)->dynsym != NULL
&& h->dynindx != -1
&& elf_hash_table (flinfo->info)->dynamic_sections_created)
if (h->dynindx != -1
&& elf_hash_table (flinfo->info)->dynamic_sections_created
&& elf_hash_table (flinfo->info)->dynsym != NULL
&& !discarded_section (elf_hash_table (flinfo->info)->dynsym))
{
bfd_byte *esym;