LLVM donated their branding to a stupid toy project of Google's just because Google wanted them to. They are controlled by Google.
Conversation
The libc project fits into the overall ambitions of LLVM beyond Google.
They're very open to incubating those projects and accepting substantial code drops from big companies.
LLD and LLDB are pretty good examples. Originally, it wasn't clear LLD would do serious Linux support.
2
I don't think it actually does, but even if it did, the proposal to do it did not fit with LLVM project at all and was purely something of Google's imagination.
1
1
libcxx.llvm.org, libcxxabi.llvm.org and compiler-rt.llvm.org have been part of LLVM for a long time.
It makes sense to me that they'd want a libc implementation when they have a C++ standard library, C++ runtime and low-level runtime.
I think it fits into it.
2
No, but as another example I could easily see them making a Java AOT / JIT compiler, Java standard library implementation, debugger, etc. I could see Google being the main sponsors of that work too. I could also see them maintaining the userspace portion of GPU drivers.
1
Or, as another example, I could see LLVM having a permissive licensed alternative to QEMU. A lot of the infrastructure for software emulation of architectures with hardware acceleration is already present. It's a much broader project than a compiler. It always was to some extent.
1
Part of what that would mean is having it available as a library, not simply a tool. That's part of what you get from Clang, LLD, LLDB, etc. They're permissively licensed libraries not simply tools.
LLVM is in the situation WebKit would be if Apple & Google had worked together.
1
So, as an example, you can write a C binding generation tool (like rust-bindgen) using libclang. You can write a debugger with liblldb as a library. It can be proprietary, since it's permissively licensed.
RMS essentially sparked the whole thing. All leads back to crippling GCC.
1
I pretty strongly disagree there. RMS is an asshole in his treatment of people and ineffective in Free Software strategy, but all the stuff you cited that LLVM is making is stuff that should not have been in GCC and should not be made.
1
1
I mean, are you saying stuff like Rust shouldn't exist? It isn't practical for all these languages and tools to exist solely as GNU projects with no one else allowed to use the compiler infrastructure.
Unsure how familiar you are with the context: gcc.gnu.org/legacy-ml/gcc/.
No, I'm saying FFI bindings generators that depend on a 20 GB build tree for a whole compiler engine should not exist, debuggers don't need to be libraries, one org does not need to control everything, and scope creep is bad.
1
And as for Rust, it should have been built without the LLVM baggage.
1
Show replies

