This is an archive of the discontinued LLVM Phabricator instance.

[ELF] - Handle symbols with default version early.
ClosedPublic

Authored by grimar on Jul 6 2017, 8:04 AM.

Details

Summary

This fixes last testcase provided in PR28414.
In short issue is next: when we had X@@Version symbol in object A,
we did not resolve it to X early. Then when in another object B
we had reference to undefined X, symbol X from archive was fetched.
Since both archive and object A contains another symbol Z, duplicate
symbol definition was triggered as a result.

Correct behavior is to use X@@Version from object A instead and do not fetch
any symbols from archive.

Diff Detail

Event Timeline

grimar created this revision.Jul 6 2017, 8:04 AM
orivej added a subscriber: orivej.Jul 7 2017, 1:26 AM
This revision was automatically updated to reflect the committed changes.
ruiu edited edge metadata.Jul 10 2017, 2:49 PM

LGTM