summaryrefslogtreecommitdiffstats
path: root/lld/test/ELF/cgprofile-shared-warn.s
Commit message (Collapse)AuthorAgeFilesLines
* [ELF] Don't warn on two legitimate cases when reading .llvm.call-graph-profileFangrui Song2018-10-221-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Before, superfluous warnings were emitted for the following two cases: 1) When from symbol was in a discarded section. The profile should be thought of as affiliated to the section. It makes sense to ignore the profile if the section is discarded. 2) When to symbol was in a shared object. The object file containing the profile may not know about the to symbol, which can reside in another object file (useful profile) or a shared object (not useful as symbols in the shared object are fixed and unorderable). It makes sense to ignore the profile from the object file. Note, the warning when to symbol was undefined was suppressed in D53044, which is still useful for --symbol-ordering-file= This patch silences the warnings. The check is actually more relaxed (no warnings if either From or To is not Defined) for simplicity and I don't see a compelling reason to warn on more cases. Reviewers: ruiu, davidxl, espindola, Bigcheese Reviewed By: ruiu Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D53470 llvm-svn: 344974
* [ELF] Don't warn on undefined symbols if UnresolvedPolicy::Ignore is usedFangrui Song2018-10-101-0/+11
Summary: Add a condition UnresolvedPolicy::Ignore to elf::warnUnorderedSymbol to suppress Sym->isUndefined() warnings from both 1) --symbol-ordering-file= 2) .llvm.call-graph-profile If --unresolved-symbols=ignore-all is used, no "undefined symbol" error/warning is emitted. It makes sense to not warn unorderable symbols. Otherwise, If an executable is linked, the default policy UnresolvedPolicy::ErrorOrWarn will issue a "undefined symbol" error. The unorderable symbol warning is redundant. If a shared object is linked, it is possible that only part of object files are used and some symbols are left undefined. The warning is not very necessary. In particular for .llvm.call-graph-profile, when linking a shared object, a call graph profile may contain undefined symbols. This case generated a warning before but it will be suppressed by this patch. Reviewers: ruiu, davidxl, espindola Reviewed By: ruiu Subscribers: grimar, emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D53044 llvm-svn: 344195
OpenPOWER on IntegriCloud