Fix test-case ld-elf/pr19617b

* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
	discard unused non-function symbols when --dynamic-list-data.
This commit is contained in:
Hans-Peter Nilsson
2016-02-23 02:06:45 +01:00
parent 1a6e6083b6
commit 2d8dcb8135
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2016-02-23 Hans-Peter Nilsson <hp@axis.com>
Fix test-case ld-elf/pr19617b
* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
discard unused non-function symbols when --dynamic-list-data.
2016-02-22 H.J. Lu <hongjiu.lu@intel.com> 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the

View File

@ -4032,8 +4032,10 @@ elf_cris_discard_excess_program_dynamics (struct elf_cris_link_hash_entry *h,
have to export it as a dynamic symbol. This was already done for have to export it as a dynamic symbol. This was already done for
functions; doing this for all symbols would presumably not functions; doing this for all symbols would presumably not
introduce new problems. Of course we don't do this if we're introduce new problems. Of course we don't do this if we're
exporting all dynamic symbols. */ exporting all dynamic symbols, or all data symbols, regardless of
if (! info->export_dynamic them being referenced or not. */
if (! (info->export_dynamic
|| (h->root.type != STT_FUNC && info->dynamic_data))
&& h->root.dynindx != -1 && h->root.dynindx != -1
&& !h->root.def_dynamic && !h->root.def_dynamic
&& !h->root.ref_dynamic) && !h->root.ref_dynamic)