https://sourceware.org/bugzilla/show_bug.cgi?id=21703
Renlin Li <renlin.li at arm dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #10 from Renlin Li <renlin.li at arm dot com> --- (In reply to cvs-com...@gcc.gnu.org from comment #9) > The master branch has been updated by Renlin Li <ren...@sourceware.org>: > > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git; > h=93f4de3929aeb3e21d57950bfa96539599a92f2a > > commit 93f4de3929aeb3e21d57950bfa96539599a92f2a > Author: Renlin Li <renlin...@arm.com> > Date: Tue Oct 24 12:42:30 2017 +0100 > > [BFD][PR21703]Override the new defined symbol with the old normal symbol > when --allow-multiple-definition is provided. > > The behavior of _bfd_elf_merge_symbol and > _bfd_generic_link_add_one_symbol is > inconsistent. > > In multiple definition case, _bfd_elf_merge_symbol decided to override > the old > symbol definition with the new defintion, (size, type, target data) > In _bfd_generic_link_add_one_symbol, it simply return without doing > anything > because of allow-multiple-definition is provided. > This leaves the symbol in a wrong state. > > Here, following the documentation, I made this patch to force the old > definition > override the new definition if the old symbol is not dynamic or weak. > Because, in those two cases, it's expected to do some merge. I have > checked > that, those two cases are properly handled. > > bfd/ > PR ld/21703 > * elflink.c (_bfd_elf_merge_symbol): Handle multiple definition case. > > ld/ > > PR ld/21703 > * testsuite/ld-elf/elf.exp: Run new tests. > * testsuite/ld-elf/pr21703-1.s: New. > * testsuite/ld-elf/pr21703-2.s: New. > * testsuite/ld-elf/pr21703-3.s: New. > * testsuite/ld-elf/pr21703-4.s: New. > * testsuite/ld-elf/pr21703-r.sd: New. > * testsuite/ld-elf/pr21703-shared.sd: New. > * testsuite/ld-elf/pr21703.sd: New. > * testsuite/ld-elf/pr21703.ver: New. Mark the PR as Fixed. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils