[PATCH] D23754: cmake: Add CLANG_GOLD_LIBDIR_SUFFIX to specify loc of LLVMgold.so

Chandler Carruth via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 26 16:10:01 PDT 2016


chandlerc added a comment.

In https://reviews.llvm.org/D23754#580277, @mgorny wrote:

> In https://reviews.llvm.org/D23754#580268, @beanz wrote:
>
> > @mgorny, I don't think LLVMgold qualifies as a runtime in the traditional sense. It more closely aligns with the tools vended by LLVM even though it is a shared library not an executable.
> >
> > Runtime libraries are specifically libraries that products of clang are linked against (builtins, sanitizers, libcxx, libunwind...).
> >
> > That bit of semantics aside, I don't think there is any situation where LLVMgold's libdir suffix would be different from LLVM's libdir suffix. Since LLVMgold is built and installed as part of LLVM, there is no mechanism (nor do I think there should be) to cause such a differentiation.
> >
> > @rafael may disagree, and I will defer to his judgment if he does. My take is that we should just use LLVM_LIBDIR_SUFFIX for LLVMgold, and not have a separate variable.
>
>
> The difference is that LLVMgold.so is not used by LLVM or clang directly but by the system binutils, and so it must match the ABI of the linker. If you have 32-bit libclang*, LLVM_LIBDIR_SUFFIX is 32 but ld is still a 64-bit executable that needs 64-bit LLVMgold.so.


But how does that work? The LLVM libraries linked into LLVMgold.so can't be 32-bit if it is loaded into a 64-bit binutils.


https://reviews.llvm.org/D23754





More information about the cfe-commits mailing list