[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/26978] Inconsistency for defined foo@v1 and foo@@v1
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/26978] Inconsistency for defined foo@v1 and foo@@v1 |
Date: |
Mon, 08 Apr 2024 09:18:39 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=26978
--- Comment #12 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The binutils-2_42-branch branch has been updated by Alan Modra
<amodra@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6224493e457e72b11818c87cdc112bdb0fee5f81
commit 6224493e457e72b11818c87cdc112bdb0fee5f81
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 8 08:16:20 2024 +0930
Re: PR26978, Inconsistency for strong foo@v1 and weak foo@@v1
Commit 726d7d1ecf opened a hole that allowed a u.i.link loop to be
created, resulting in _bfd_generic_link_add_one_symbol never
returning. Fix that. Note that the MIND case handles two types of
redefinition. For a new indirect symbol we'll have string non-NULL.
For a new def, string will be NULL. So moving the string comparison
earlier would work. However, we've already looked up inh in the first
case so can dispense with name comparisons. Either way, for a new def
we'll get to the defweak test and possibly cycle. Which is what we
want here.
PR 31615
PR 26978
* linker.c (_bfd_generic_link_add_one_symbol <MIND>): Test for
exactly matching indirect symbols before cycling on a defweak.
(cherry picked from commit 248b6326a49ed49e2f627d3bddbac514a074bac0)
--
You are receiving this mail because:
You are on the CC list for the bug.