This is an archive of the discontinued LLVM Phabricator instance.

[gold] Fix common symbols handling
Needs ReviewPublic

Authored by eugenis on Mar 4 2016, 4:32 PM.
This revision needs review, but all specified reviewers are disabled or inactive.

Details

Reviewers
espindola
Summary

LLVM Gold plugin decides which instance of a common symbol it wants
based on the symbol size in claim_file_hook. If the file that
contains the chosen instance is later dropped from the link, we end
up with an undefined reference.

This change delays this decision until the set of the included files
is known.

Diff Detail

Repository
rL LLVM

Event Timeline

eugenis updated this revision to Diff 49861.Mar 4 2016, 4:32 PM
eugenis retitled this revision from to [gold] Fix common symbols handling.
eugenis updated this object.
eugenis added a reviewer: rafael.
eugenis set the repository for this revision to rL LLVM.
eugenis added a subscriber: llvm-commits.
rafael edited edge metadata.Mar 7 2016, 6:58 AM
rafael added a subscriber: rafael.

The test passes with the patch reverted.

eugenis updated this revision to Diff 50375.Mar 10 2016, 4:41 PM
eugenis edited edge metadata.

I've added a test that always passes with the older gold versions, and fails (w/o this patch) with the ToT gold.

Something weird happened here. I've accidentally committed this as r263180 instead of D17360. I need to learn arc.

The good news is the bots are happy.
Do you want me to revert, or could we make this a post-commit review?

espindola edited reviewers, added: espindola; removed: rafael.Mar 15 2018, 10:53 AM