shiltian wrote: > lld already links multiple AMDGPU relocatable objects (e_flags/feature merge, > ABI-version reconciliation, symbol resolution, GOT/PIC relocations, HSA > code-object output).
This isn't entirely true. Even though LLD can glue the objects together, the final result doesn't necessarily work due to limitations that are explained in the PR description. That's why we still say object linking is not supported for AMDGPU. If there is cross-TU data access or function calls, you should use `-fgpu-rdc`, which enables full LTO automatically for AMDGPU. > For every other architecture, lld operates purely at the object-file-format > level — relocations, sections, symbols. That surface is a stable ABI: it > changes rarely, so the per-target code in lld/ELF needs almost no maintenance > for years. Yes, but that's because they don't require the very specialized infrastructure that GPU programs need. AFAIK, this is the first open-source effort to implement proper object linking support in the entire community. https://github.com/llvm/llvm-project/pull/206787 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
