[llvm-dev] [RFC] One or many git repositories?
Renato Golin via llvm-dev
llvm-dev at lists.llvm.org
Thu Jul 28 07:30:21 PDT 2016
On 28 July 2016 at 09:42, David Chisnall <david.chisnall at cl.cam.ac.uk> wrote:
> I think it’s important to differentiate between ‘needs’ as in ‘requires a precisely matched version’ and ‘needs’ as in ‘requires something to provide this functionality’. Clang needs something equivalent to libc++ and something equivalent to libunwind, but it doesn’t (or, at least, shouldn’t) need a specific version of LLVM’s implementations of these. In contrast, clang needs a bunch of LLVM libraries and depends on precise versions.
Absolutely!
> In FreeBSD, we used to ship libsupc++, libstdc++ and GCC’s libunwind. We then switched to shipping libcxxrt, libstdc++, and GCC’s libunwind, then to shipping libcxxrt, libc++, and GCC’s libunwind, and are now switching to shipping libcxxrt, libc++, and LLVM’s libunwind. We build all of these with clang and gcc. When we import a new lldb and clang (and, soon, when we start to import lld), we need to do a complete import of LLVM, clang, lld, and lldb at the same time, or things will break. We can update libunwind and libc++ on a different schedule. We’ll probably want to keep roughly the same versions of these for an entire major release series (modulo bug fixes) for stability and we will want a new clang, lld, and lldb to work with the old ones.
My problem, and I'll be quick not to digress too much, is that
--rtlib=compiler-rt is slightly broken. I can't assume libunwind or
libc++abi are there, so for rtlib=RT, I don't add -lunwind and
-lc++abi "as needed" like we do for libgcc's counterparts.
This breaks expectations more than implementations. To use compiler-rt
I need to also add -lgcc_s or -lunwind, and that's not obvious. A
warning here would be weird.
Again, I totally agree it's not a hard requirement, nor version locked
or anything, but it would be good to "assume" the'd be there for the
*default* case, and let people mix and match by using other advanced
flags.
cheers,
--renato
More information about the llvm-dev
mailing list