jhuber6 added inline comments.
================ Comment at: clang/lib/Driver/ToolChains/AMDGPU.cpp:545 + addLTOOptions(getToolChain(), Args, CmdArgs, Output, Inputs[0], + C.getDriver().getLTOMode() == LTOK_Thin); CmdArgs.push_back("-shared"); ---------------- JonChesterfield wrote: > What's the test against OK_Thin for? ThinLTO is a thing but I don't know if > it exists (/works) on amdgpu, is this that? AMDGPU's linker is `lld` so it works "in theory". But in practice, separate linking of object files isn't fully supported by the ABI. So I consider it a "your mileage may vary" scenario. FWIW, it functioned properly with my experimental libc setup ``` $ cat main.cpp int foo(); int main() { return foo(); } $ cat foo.cpp int foo() { return 3; } $ clang++ crt1.o main.cpp foo.cpp --target=amdgcn-amd-amdhsa -mcpu=gfx1030 -Wl,-plugin-opt=mcpu=gfx1030 -nogpulib -o image -flto=thin $ amdhsa_loader image; echo $? 3 ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144505/new/ https://reviews.llvm.org/D144505 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits