Currently, the ebuild for sys-devel/llvm will pull in sys-devel/binutils if the binutils-plugin USE flag is enabled. However, the LLVM binutils plugin only requires the plugin-api.h header to build, which is provided by sys-libs/binutils-libs. I'm currently using the mold linker which requires LLVMgold.so for LTO support, and it's working perfectly without binutils, so as far as I can tell there aren't any runtime issues. Reproducible: Always
I'm sorry but I'm not sure if I understand you correctly: did you verify that it builds fine with only binutils-libs installed and no binutils at all? The dependency predates introduction of binutils-libs, so it is understandable it may be outdated.
(In reply to Michał Górny from comment #1) > I'm sorry but I'm not sure if I understand you correctly: did you verify > that it builds fine with only binutils-libs installed and no binutils at > all? The dependency predates introduction of binutils-libs, so it is > understandable it may be outdated. Yes, it built and worked successfully on my machine with only binutils-libs installed and no binutils, since as far as I can tell the only thing required for LLVMgold.so to build is the plugin-api.h header (which is provided by binutils-libs).
Now that I look at it, we already have DEPEND on binutils-libs. I suppose the RDEPEND was supposed to mean "binutils will load our plugin" but I guess enforcing this doesn't justify the costs.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ef5d597cab485d25c7fcf9733a329daab4ad07e commit 0ef5d597cab485d25c7fcf9733a329daab4ad07e Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2023-03-11 04:57:14 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2023-03-11 04:57:14 +0000 sys-devel/llvm: Remove explicit RDEPEND on binutils Remove the explicit RDEPEND on sys-devel/binutils[plugins]. Unless I'm mistaken, this dependency was supposed to guarantee that binutils will load LLVMgold.so plugin and therefore its tool will be able to process archives containing LLVM bytecode. However, it has a side effect of installing binutils on binutils-free systems. Closes: https://bugs.gentoo.org/899080 Signed-off-by: Michał Górny <mgorny@gentoo.org> sys-devel/llvm/llvm-14.0.6-r2.ebuild | 1 - sys-devel/llvm/llvm-15.0.7.ebuild | 1 - sys-devel/llvm/llvm-16.0.0.9999.ebuild | 1 - sys-devel/llvm/llvm-16.0.0_rc3.ebuild | 1 - sys-devel/llvm/llvm-17.0.0.9999.ebuild | 1 - sys-devel/llvm/llvm-17.0.0_pre20230304.ebuild | 1 - 6 files changed, 6 deletions(-)