This allows reporting undefined symbols before LTO codegen is
run. Since LTO codegen can take a long time, this improves user
experience by avoiding that time spend if the link is going to
fail with undefined symbols anyway.
Fixes PR32400.
Differential D62434
[lld-link] diagnose undefined symbols before LTO when possible inglorion on May 24 2019, 3:51 PM. Authored by
Details This allows reporting undefined symbols before LTO codegen is Fixes PR32400.
Diff Detail
Event TimelineComment Actions The basic idea here is: reportRemainingUndefines did two things: it attempts to resolve undefined symbols, and it reports any that remain undefined. This splits reportRemainingUndefines into two functions, one which reports symbols which we know are unresolvable (reportUnresolvable, which we run before LTO) and one which actually does the resolution (resolveRemainingUndefines, which we run after LTO). Then there is a little bit of added code report undefined symbols in bitcode files.
Comment Actions Linking ThinLTO chrome.dll with an undefined symbol: Without this change: ~13 minutes. Comment Actions Generally looking ogod.
Comment Actions LGTM
|
Source -> source