Re: [PATCH] lto: Set resolution to LDPR_PREVAILING_DEF for non-IR common symbol
Jan Beulich <[email protected]>
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
On 27.08.2026 10:31, H.J. Lu wrote:
> Since size or alignment of common symbol may be overridden by another
> common symbol, set symbol resolution to LDPR_PREVAILING_DEF, instead of
> LDPR_RESOLVED_EXEC, for common symbol in regular object when seeing an
> undefined or common symbol from an IR object.
Is this correct for the LDPK_COMMON case that's also covered by the if()
that you alter in get_symbols()?
Adding to the (my?) confusion is that after said
if (syms[n].def == LDPK_UNDEF
|| syms[n].def == LDPK_WEAKUNDEF
|| syms[n].def == LDPK_COMMON)
there's an "else if" with this comment:
/* Was originally def, weakdef, or common, but has been pre-empted. */
With the cited if(), no originally common symbol can make it there, can it?
Jan