The dependencies of our libraries (only liblldb, really) we marked as public, which caused all
their dependencies to be repeated when linking any executables to them. This is a problem because
then all the .a files would be linked twice, once to liblldb and once again to lldb. I am not
sure why, but for some reason this only surfaced when doing a LLVM_LINK_LLVM_DYLIB=ON build,
where we ended having two copies of some symbols and different parts of code referring to
different copies.
Setting the dependencies as private required a fixup of the argdumper link command, as it was not
actually linking to liblldb (it was referring to symbols from the lldb_private namespace, which
are not exposed in liblldb), but rather to the individual component libraries (where these
symbols are still available). Since these symbols are now not added to the command line as
dependencies of liblldb, I needed to add them explicitly.