summaryrefslogtreecommitdiff
path: root/bfd/linker.c
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2012-10-21 03:23:37 +0000
committerHans-Peter Nilsson <hp@axis.com>2012-10-21 03:23:37 +0000
commitebd79af88920b36f4630187d97fd65f63caad7d8 (patch)
treee4d3369d26ada794199456e6b7b6534d8c2cac44 /bfd/linker.c
parentc828fc808ac12ed52a84ea6463ea43d528aba071 (diff)
downloadbinutils-redhat-ebd79af88920b36f4630187d97fd65f63caad7d8.tar.gz
* linker.c (_bfd_generic_link_output_symbols): Handle a
no-longer-global symbol entered as a BFD_PLUGIN.
Diffstat (limited to 'bfd/linker.c')
-rw-r--r--bfd/linker.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/linker.c b/bfd/linker.c
index 3caec96a8f..d3ef9a43a5 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 ();