[lld] [LLD][COFF] Allow overriding EC alias symbols with lazy archive symbols (PR #113283)

Jacek Caban via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 22 02:05:02 PDT 2024


cjacek wrote:

This PR allows the use of archive symbols from actual ARM64EC objects. I will also
    create a separate PR for a related issue where multiple archives may conflict with
    each other. As usual, I tried to keep it compatible with MSVC. I believe that the
    approach is close enough, but figuring out the exact details of MSVC behavior has
    proven to be difficult in this case. While testing various corner cases, I encountered
    some internal linker errors and instances where the results were not quite right.
    Nevertheless, I can confirm that anti-dependency symbols are treated differently
    with respect to their interaction with archive symbols.
    
    I explored various approaches to this, such as tracking an "EC alias" flag in symbols,
    but it added complexity with little to no benefits. The approach in this and the next
    PR has led to simpler logic that should be equally robust in practice.

https://github.com/llvm/llvm-project/pull/113283


More information about the llvm-commits mailing list