From Eric Youngdale <eric@andante.jic.com>:
* elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define.
* elf.c (bfd_elf_print_symbol): Correct errors in last change.
* elflink.h (elf_link_add_object_symbols): Handle cases in which a
versioned symbol appears in both a regular and a shared object.
(elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when
appropriate. Improve error message.
(struct elf_outext_info): Rename from elf_finfo_failed. Change
all uses. Add localsyms field.
(elf_bfd_final_link): When generating a shared library, call
elf_link_output_extsym to output all local symbols.
(elf_link_output_extsym): Handle symbols which were forced to
become local.