aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elflink.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 71f258f..6908787 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,9 @@
2015-02-19 Alan Modra <amodra@gmail.com>
+ * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
+
+2015-02-19 Alan Modra <amodra@gmail.com>
+
PR ld/4317
* elflink.c (elf_link_input_bfd): Drop undefined local syms.
(elf_link_output_extsym): Drop local and global undefined syms.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 0cd85f1..ec1e4df 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -77,9 +77,9 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
}
bh = &h->root;
+ bed = get_elf_backend_data (abfd);
if (!_bfd_generic_link_add_one_symbol (info, abfd, name, BSF_GLOBAL,
- sec, 0, NULL, FALSE,
- get_elf_backend_data (abfd)->collect,
+ sec, 0, NULL, FALSE, bed->collect,
&bh))
return NULL;
h = (struct elf_link_hash_entry *) bh;
@@ -90,7 +90,6 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL)
h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
- bed = get_elf_backend_data (abfd);
(*bed->elf_backend_hide_symbol) (info, h, TRUE);
return h;
}