This is an archive of the discontinued LLVM Phabricator instance.

[ELF] Don't set versionId on undefined weak lazy symbols
AbandonedPublic

Authored by MaskRay on Apr 16 2021, 12:33 AM.

Details

Reviewers
None
Summary

An unfetched lazy symbol (undefined weak) should be considered to have its
original versionId which is VER_NDX_GLOBAL, instead of the lazy symbol's
versionId. (The original versionId cannot be non-VER_NDX_GLOBAL because a
undefined versioned symbol is an error.)

The regression was introduced in D77280 when making version scripts work
with lazy symbols fetched by LTO calls.

Fix PR49915

Diff Detail

Event Timeline

MaskRay created this revision.Apr 16 2021, 12:33 AM
MaskRay requested review of this revision.Apr 16 2021, 12:33 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 16 2021, 12:33 AM
MaskRay abandoned this revision.Apr 16 2021, 10:06 AM