[lld] [LLD][COFF] Do another pass of resolveRemainingUndefines for undefined lazy symbols (PR #109082)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 18 00:17:10 PDT 2024
================
@@ -2601,7 +2601,10 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) {
createECExportThunks();
// Resolve remaining undefined symbols and warn about imported locals.
- ctx.symtab.resolveRemainingUndefines();
+ if (ctx.symtab.resolveRemainingUndefines()) {
+ run();
+ ctx.symtab.resolveRemainingUndefines();
----------------
mstorsjo wrote:
I'm pondering whether it would make sense to convert it into a loop,
```
while (ctx.symtab.resolveRemainingUndefines())
run();
```
That has some charm of genericity to it - but also looks more prone to potentially hang (even though that really shouldn't happen). I don't have a very strong opinion on it either way though.
https://github.com/llvm/llvm-project/pull/109082
More information about the llvm-commits
mailing list