2005-05-01 Paul Brook <paul@codesourcery.com>

* elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong
	definition has already been seen.
This commit is contained in:
Paul Brook 2005-05-02 03:12:21 +00:00
parent f341cbc179
commit a67b080b92
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2005-05-01 Paul Brook <paul@codesourcery.com>
* elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong
definition has already been seen.
2005-05-01 Paul Brook <paul@codesourcery.com> 2005-05-01 Paul Brook <paul@codesourcery.com>
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat

View file

@ -1078,6 +1078,13 @@ _bfd_elf_merge_symbol (bfd *abfd,
|| h->root.type == bfd_link_hash_undefined) || h->root.type == bfd_link_hash_undefined)
*size_change_ok = TRUE; *size_change_ok = TRUE;
/* Skip weak definitions of symbols that are already defined. */
if (newdef && olddef && newweak && !oldweak)
{
*skip = TRUE;
return TRUE;
}
/* NEWDYNCOMMON and OLDDYNCOMMON indicate whether the new or old /* NEWDYNCOMMON and OLDDYNCOMMON indicate whether the new or old
symbol, respectively, appears to be a common symbol in a dynamic symbol, respectively, appears to be a common symbol in a dynamic
object. If a symbol appears in an uninitialized section, and is object. If a symbol appears in an uninitialized section, and is