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

Reply via email to