[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:09 PDT 2024
https://github.com/mstorsjo commented:
The change looks good to me, thanks! But this would need a testcase.
Have a look in lld/test/COFF, some of the more modern testcases using `split-file` probably serves as the best example. I guess this can be testable with three `.s` files:
One that contains an undefined reference to `__imp_func`. Two `.s` files that are assembled and stored in a static library. One containing a definition of `func`, and with an undefined reference to `other`, and the second static library object containing a definition of `other`.
Then make sure that the testcase does fail on current git main, and succeeds after this change. The third object file containing `other` might simulate the need for calling `run()` after `forceLazy()` - ideally the test should still fail if the `run()` is removed (but it can also be possible that the test still passes despite that - but we probably still need the `run()` just to be safe).
https://github.com/llvm/llvm-project/pull/109082
More information about the llvm-commits
mailing list