aboutsummaryrefslogtreecommitdiff
path: root/ld/ldexp.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2015-08-18 16:43:18 +0930
committerAlan Modra <amodra@gmail.com>2015-08-18 16:43:18 +0930
commit43417696fe32416607940258ded622c121872515 (patch)
tree8e854fe8a7d0d996d5aeb32ef255a5a90808fcec /ld/ldexp.c
parentf6721e4955d86bf879b5225f2d128a5a8ddfcae8 (diff)
downloadfsf-binutils-gdb-43417696fe32416607940258ded622c121872515.zip
fsf-binutils-gdb-43417696fe32416607940258ded622c121872515.tar.gz
fsf-binutils-gdb-43417696fe32416607940258ded622c121872515.tar.bz2
PPC64: Allow .TOC. in linker script to override backend calculated value
bfd/ * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't redefine .TOC. if already defined, and set linker_def. (ppc64_elf_set_toc): Use .TOC. value if defined other than by the backend. ld/ * ldexp.c (exp_fold_tree_1): Clear linker_def on symbol assignment.
Diffstat (limited to 'ld/ldexp.c')
-rw-r--r--ld/ldexp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ld/ldexp.c b/ld/ldexp.c
index 1d4da9a..1140881 100644
--- a/ld/ldexp.c
+++ b/ld/ldexp.c
@@ -1144,6 +1144,7 @@ exp_fold_tree_1 (etree_type *tree)
h->type = bfd_link_hash_defined;
h->u.def.value = expld.result.value;
h->u.def.section = expld.result.section;
+ h->linker_def = 0;
if (tree->type.node_class == etree_provide)
tree->type.node_class = etree_provided;