11 comments

[ 2.9 ms ] story [ 36.0 ms ] thread
Does anyone know why they create a new project that's supposed to be compatible with libgcc, instead of patching libgcc?
(comment deleted)
Probably because of licensing; libgcc is GPLv3, compiler-rt has a BSD-style license
More precisely, it is licensed under GPLv3 + runtime exception with the result being pretty much LGPL. In the case of libgcc, for 99.9% of the users there is no difference between this license and BSD.
For 99.9% of the contributors to LLVM, there is a difference. And guess who wrote the library.
I don't quite follow your logic. The license is there to establish what others can do with your code. Contributors, as copyright holders, can do with the code whatever they please without any license.

What I am trying to say is that to me the user of libgcc or the LLVM version there is not difference between BSD and LGPL conditions.

Contributing to a project doesn't mean you get to ignore the license; if you submit a patch for readline, you still have to GPL your app that links to it.

The LLVM project isn't controlled by a single entity, but it does get a lot of code from "commercial" users, so those users chose a license that works well for them. (It ensures that any future contributions will be usable under an acceptable license.) Admittedly the LGPL would also be fine, but ... that's not what they picked.

I'll bet this is the reason: http://lwn.net/Articles/301959/

The FSF changed the libgcc license to try to ban proprietary GCC plugins, so Apple decided to stop using libgcc.

It looks like compiler-rt is a replacement for only a small part of libgcc, It's just the functions you need to _run_ C programs. It doesn't include functions like printf.

And as for why they're doing it, it's to allow llvm work without a dependency on another project.

libgcc is not glibc
It's a replacement for libgcc not glibc.