| Index: bfd/linker.c
|
| diff --git a/bfd/linker.c b/bfd/linker.c
|
| index 3caec96a8f038ac64e0df3e794484023c4370327..190520a57f47bb29c3b411f2e397aabff8729c8f 100644
|
| --- a/bfd/linker.c
|
| +++ b/bfd/linker.c
|
| @@ -2359,6 +2359,12 @@ _bfd_generic_link_output_symbols (bfd *output_bfd,
|
| else
|
| output = FALSE;
|
| }
|
| + else if (sym->flags == 0
|
| + && (sym->section->owner->flags & BFD_PLUGIN) != 0)
|
| + /* LTO doesn't set symbol information. We get here with the
|
| + generic linker for a symbol that was "common" but no longer
|
| + needs to be global. */
|
| + output = FALSE;
|
| else
|
| abort ();
|
|
|
| @@ -2913,7 +2919,7 @@ DESCRIPTION
|
| /* Sections marked with the SEC_LINK_ONCE flag should only be linked
|
| once into the output. This routine checks each section, and
|
| arrange to discard it if a section of the same name has already
|
| - been linked. This code assumes that all relevant sections have the
|
| + been linked. This code assumes that all relevant sections have the
|
| SEC_LINK_ONCE flag set; that is, it does not depend solely upon the
|
| section name. bfd_section_already_linked is called via
|
| bfd_map_over_sections. */
|
| @@ -3296,7 +3302,7 @@ bfd_generic_define_common_symbol (bfd *output_bfd,
|
|
|
| /*
|
| FUNCTION
|
| - bfd_find_version_for_sym
|
| + bfd_find_version_for_sym
|
|
|
| SYNOPSIS
|
| struct bfd_elf_version_tree * bfd_find_version_for_sym
|
|
|