Summary: | sys-devel/llvm does not install ${CHOST}-prefixed tools | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Dennis Schridde <dschridde+gentoobugs> |
Component: | Current packages | Assignee: | LLVM support project <llvm> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | mgorny, tsmksubc |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=617744 https://bugs.gentoo.org/show_bug.cgi?id=647612 https://bugs.gentoo.org/show_bug.cgi?id=662108 https://bugs.gentoo.org/show_bug.cgi?id=651908 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Dennis Schridde
2017-05-07 22:23:33 UTC
P.S. Some build systems expect the ctarget-prefixed binaries to be present and working around the lack of those tools is not always easy, hence it would be great if Gentoo would provide them, at least as symlinks, as is done for clang. Would you be able to figure out a somehow complete list of what needs to be prefixed? clang is prefixed since it magically alters the target it sets. I don't think llvm-ar really cares about that though. (In reply to Michał Górny from comment #2) > Would you be able to figure out a somehow complete list of what needs to be > prefixed? clang is prefixed since it magically alters the target it sets. I > don't think llvm-ar really cares about that though. I just looked at the x86_64-pc-linux-gnu- prefixed binaries from GCC and compared them to the CLang binaries (llvm-ar, llvm-as, llvm-link, ...), and assumed they should match. (In reply to Dennis Schridde from comment #3) > (In reply to Michał Górny from comment #2) > > Would you be able to figure out a somehow complete list of what needs to be > > prefixed? clang is prefixed since it magically alters the target it sets. I > > don't think llvm-ar really cares about that though. > > I just looked at the x86_64-pc-linux-gnu- prefixed binaries from GCC and > compared them to the CLang binaries (llvm-ar, llvm-as, llvm-link, ...), and > assumed they should match. GCC doesn't include ar, as etc. Binutils do. By default, clang uses binutils linker and LLVM installs a plugin for binutils ar/ranlib/etc. (In reply to Michał Górny from comment #4) > GCC doesn't include ar, as etc. Binutils do. By default, clang uses binutils > linker and LLVM installs a plugin for binutils ar/ranlib/etc. So I do not need `llvm-ar` and `llvm-link` at all, but instead simply use `x86_64-pc-linux-gnu-ar` and `x86_64-pc-linux-gnu-ld`? Yes, for all normal uses that's fine. If you want to use LTO, then you also need to build llvm with USE=gold (I should probably rename the flag since nowadays bfd supports plugins too) |