[PATCH] D146776: [llvm] Preliminary fat-lto-objects support
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 20 14:03:21 PDT 2023
MaskRay accepted this revision.
MaskRay added a comment.
This revision is now accepted and ready to land.
In D146776#4435885 <https://reviews.llvm.org/D146776#4435885>, @MaskRay wrote:
> Thanks for the update. This fixes `-DBUILD_SHARED_LIBS=on` build of mine.
>
> Perhaps `llvm/test/Bitcode/` tests (which don't normally test `-passes=`) should be moved to elsewhere, e.g. `llvm/test/Transforms/EmbedBitcodePass/` ?
>
> Another strange thing to fix:
>
> `llc a.ll` => `.type .Lllvm.embedded.object, at object`
>
> We don't normally set attributes on temporary symbols (`.L`), which do not normally have symbol table entries anyway.
This is due to `private` but I think this is acceptable. Both GNU assembler and LLVM integrated assembler do not create a symbol table entry, so this is fine. This likely does not justify adding a special case for `private` lowering to the underlying ELF section.
Feel free to land this one with a `readelf -S` test to check `SHF_EXCLUDE`. Maybe give some time for the Clang patch. Landing this one shall make reviewing the Clang part easier.
================
Comment at: llvm/docs/FatLTO.rst:62
+Currently, using LTO with LLVM fat lto objects is supported by LLD and by the
+GNU linkers via the LLVMGold plugin. This may change in the future, but
+extending support to other linkers isn't planned for now.
----------------
`LLVMgold.so` plugin.
Consider using hypertext to link this to `llvm/docs/GoldPlugin.rst`. I don't recall immediately the reST syntax...
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146776/new/
https://reviews.llvm.org/D146776
More information about the llvm-commits
mailing list