forked from Imagelibrary/binutils-gdb
Fix PROVIDE
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2002-09-02 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* ldexp.c (exp_fold_tree): If the first attempt to lookup a
|
||||||
|
PROVIDEd symbol fails, look it up again, but this time with
|
||||||
|
the 'create' flag set.
|
||||||
|
|
||||||
2002-08-30 Nick Clifton <nickc@redhat.com>
|
2002-08-30 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* scripttempl/elfd10v.sc (MEMORY): Remove UNIFIED, it is not
|
* scripttempl/elfd10v.sc (MEMORY): Remove UNIFIED, it is not
|
||||||
|
|||||||
24
ld/ldexp.c
24
ld/ldexp.c
@@ -726,22 +726,20 @@ exp_fold_tree (tree, current_section, allocation_done, dot, dotp)
|
|||||||
if (tree->type.node_class == etree_assign)
|
if (tree->type.node_class == etree_assign)
|
||||||
create = true;
|
create = true;
|
||||||
else
|
else
|
||||||
create = false;
|
create = false;
|
||||||
h = bfd_link_hash_lookup (link_info.hash, tree->assign.dst,
|
h = bfd_link_hash_lookup (link_info.hash, tree->assign.dst,
|
||||||
create, false, false);
|
create, false, false);
|
||||||
|
|
||||||
|
if (tree->type.node_class == etree_provide
|
||||||
|
&& (h == NULL
|
||||||
|
|| h->type == bfd_link_hash_undefined
|
||||||
|
|| h->type == bfd_link_hash_common))
|
||||||
|
h = bfd_link_hash_lookup (link_info.hash, tree->assign.dst,
|
||||||
|
true, false, false);
|
||||||
|
|
||||||
if (h == (struct bfd_link_hash_entry *) NULL)
|
if (h == (struct bfd_link_hash_entry *) NULL)
|
||||||
{
|
einfo (_("%P%F:%s: hash creation failed\n"),
|
||||||
if (tree->type.node_class == etree_assign)
|
tree->assign.dst);
|
||||||
einfo (_("%P%F:%s: hash creation failed\n"),
|
|
||||||
tree->assign.dst);
|
|
||||||
}
|
|
||||||
else if (tree->type.node_class == etree_provide
|
|
||||||
&& h->type != bfd_link_hash_undefined
|
|
||||||
&& h->type != bfd_link_hash_common)
|
|
||||||
{
|
|
||||||
/* Do nothing. The symbol was defined by some
|
|
||||||
object. */
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME: Should we worry if the symbol is already
|
/* FIXME: Should we worry if the symbol is already
|
||||||
|
|||||||
Reference in New Issue
Block a user