aboutsummaryrefslogtreecommitdiff
path: root/bfd
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
commitd3a65d4deaf2c553480a43796e0d987adc5f9f43 (patch)
treebc9c72b14a2e1d22fd813f7f239c7939091ebb9f /bfd
parent2cce1bffff52bbd71e77397e965839c82cd09a3b (diff)
downloadfsf-binutils-gdb-d3a65d4deaf2c553480a43796e0d987adc5f9f43.zip
fsf-binutils-gdb-d3a65d4deaf2c553480a43796e0d987adc5f9f43.tar.gz
fsf-binutils-gdb-d3a65d4deaf2c553480a43796e0d987adc5f9f43.tar.bz2
* linker.c (_bfd_generic_link_output_symbols): Handle a
no-longer-global symbol entered as a BFD_PLUGIN.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/linker.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 95d6c69..c537b92 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-21 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * linker.c (_bfd_generic_link_output_symbols): Handle a
+ no-longer-global symbol entered as a BFD_PLUGIN.
+
2012-10-20 Alan Modra <amodra@gmail.com>
* compress.c: Reinstate 2012-10-19 change.
diff --git a/bfd/linker.c b/bfd/linker.c
index 3caec96..d3ef9a4 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 ();