From a010d60faf972bb62f0470f70c4c68cce38752ac Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 18 Aug 2004 02:45:43 +0000 Subject: PR 338 * elflink.c (bfd_elf_record_link_assignment): Add comment about changing bfd_link_hash_undefined to bfd_link_hash_new. * ldexp.c (fold_name): Don't call bfd_link_add_undef if the symbol was already on the undefs list. --- bfd/elflink.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'bfd/elflink.c') diff --git a/bfd/elflink.c b/bfd/elflink.c index 1e2f335..7793e82 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -434,7 +434,12 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED, /* Since we're defining the symbol, don't let it seem to have not been defined. record_dynamic_symbol and size_dynamic_sections - may depend on this. */ + may depend on this. + ??? Changing bfd_link_hash_undefined to bfd_link_hash_new (or + to bfd_link_hash_undefweak, see linker.c:link_action) runs the risk + of some later symbol manipulation setting the symbol back to + bfd_link_hash_undefined, and the linker trying to add the symbol to + the undefs list twice. */ if (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined) h->root.type = bfd_link_hash_new; -- cgit v1.1