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 |