[lld] [LLD][COFF] Store reference to SymbolTable instead of COFFLinkerContext in InputFile (NFC) (PR #119296)
Reid Kleckner via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 11 13:51:35 PST 2024
rnk wrote:
Thanks for the link to that writeup, it was helpful, and thanks to Darek, the author, for writing it.
I'm still trying to understand the implications of ARM64X are for the traditional compile & link model. My initial understanding was that ARM64X was a standard fat binary system: It's a way to combine two standalone x64 and ARM64EC PE files together into one, maybe with some transparent way to share .rdata, but what you have said here has made me question everything.
I'm getting the sense now that this is roughly speaking what a build should look like:
```
$ (clang-)cl *.cpp --target=x86_64-windows-msvc /Fox64/ # Produce a set of x64 object files
$ (clang-)cl *.cpp --target=arm64ec-windows-msvc /Foarm64ec/ # Produce a set of arm64ec object files
$ link x64/*.obj arm64/*.obj -out:app.exe # Combine x64 and arm64ec objects together into one PE
```
With that model, the original review comments start to make some sense.
Speaking to @cjacek 's comments about `InputFile` `SymbolTable` mapping, I think the direction you've chosen makes sense, store the relevant `SymbolTable` pointer on the `InputFile`.
https://github.com/llvm/llvm-project/pull/119296
More information about the llvm-commits
mailing list