Become a fan of Slashdot on Facebook


Forgot your password?
GNU is Not Unix Open Source Software

LLVM & GCC Compiler Developers To Begin Collaborating 279

An anonymous reader writes "While RMS is opposed to LLVM over its BSD-like license rather than the GPL, LLVM/Clang and GCC developers have agreed to try to start cooperating in an "open compiler initiative" to jointly tackle common issues that plague both compilers and issues that can be better served by working together rather than creating fragmentation between the two popular open-source compilers."
This discussion has been archived. No new comments can be posted.

LLVM & GCC Compiler Developers To Begin Collaborating

Comments Filter:
  • (Score:1, Insightful)

    by Anonymous Coward on Saturday February 08, 2014 @07:06PM (#46198857)

    in case y'all didn't know.


  • by Anonymous Coward on Saturday February 08, 2014 @07:07PM (#46198869)

    The GPL is not for everyone or every company, get over it.

    The BSD[MIT/APACHE/ZLIB] licence is the only real free open source license. In a perfect world we wouldn't need licences at all and everyone wouldn't have a hissyfit every time someone borrowed code from someone.

  • by Anonymous Coward on Saturday February 08, 2014 @07:35PM (#46199027)

    For example, the pretty huge list of C and C++ extensions that both gcc and clang implement, and that are invented by the authors of said tools. It's much better that the two talk about it, and come up with one spec that both compilers implement than to have two competing standards that results in code one or other compiler can't deal with.

  • by thoth ( 7907 ) on Saturday February 08, 2014 @07:40PM (#46199045) Journal

    There's a boatload of stuff to agree on for better interop. The language itself (c/c++) says nothing about a lot of stuff people kind of expect these days.

      Language extensions specific to compilers (e.g. __user), toolchains (e.g. llvm is working on lld, a linker, to replace the default system linker), security additions (e.g. if I build a library with gcc and specify stack protection and canaries, none of which are in the language standard, will I be able to link a clang built library and executable and actually have it work), etc.

  • by maxwell demon ( 590494 ) on Saturday February 08, 2014 @08:08PM (#46199191) Journal

    Another thing would be to harmonize the representation of fundamental classes like std::string and std::vector, so those classes can be passed between codes compiled with both compilers, even though the implementation code for those classes might otherwise differ.

  • by tlambert ( 566799 ) on Saturday February 08, 2014 @08:16PM (#46199225)

    I'm not sure how GCC could benefit from this.

    You are not reading history.

    GCC moves too damn slow and doesn't include features that developers (and more importantly: the companies which pay developers) want. These days, that includes the changes between the GPLv2 and GPLv3 not being wanted by the people who pay the bills.

    GCC was more or less started in 1984: []

    GCC was almost replaced by the EGCS fork in 1997, and it took two years before RMS finally gave up on the idea of having the ultimate editorial control over the language implementation, and "blessed" EGCS as the replacement for GCC. When he did that, he gave up on limiting the OSs that the compiler worked on, and limiting the inclusion of things like #pragma (which used to exec "nethack" because RMS didn't like it), and some of the language front ends that are now included, like g77, which RMS didn't want.

    GCC is on the verge of being marginalized again by LLVM; all the sexy compiler work is happening in LLVM, all the bright young minds in the compiler world are going to LLVM because it's a lot easier to make a front end for a new language or a back end for a different processor or embedded controller or virtual machine. LLVM is the "go-to" compiler for academic projects involving compiler research.

    It makes sense; GCC: 1984; +15 years = EGCS: 1999; +15 years = ????: 2014.

    RMS' recent appeal *might* be able to attract a bunch of new ideologues to the GCC project, and have them forsake LLVM work, but more likely course and project requirements for a degree, and after that, an employer, probably mean that LLVM is going to remain the "go-to" compiler for the new blood.

    The idea that GCC can leverage some of the new blood by making it easier for them to work with code in both contexts, rather than leaving GCC in the ashbin of history, is about the *only* way to give GCC the transfusion of new blood it's going to need to survive another 15 years.

    It also couldn't hurt to expand the number of (or replace) members of the "GCC steering committee" so that GCC can get a little more forward momentum. You can get forward momentum one of two ways: (1) more specific impulse, or (2) take off the parking brake.

  • by Anonymous Coward on Saturday February 08, 2014 @08:18PM (#46199237)

    The GPL guarantees that if you have access to the binary you have access to the source. BSD/etc do not. In other words: BSD gives you the "freedom" to restrict others freedom. That isn't something people on the free software front consider positive.

    Maybe it's you who should get over the fact rms believes in free software. You're entitled to your opinion, he's entitled to his. It isn't like he's pointing a free 3D-printed gun to your face and forcing you to write GPL'd code to extend emacs.

  • by Anonymous Coward on Saturday February 08, 2014 @08:28PM (#46199277)
    If you produce a technically inferior compiler for political reasons you deserve a world of hurt from superior, freer alternatives.
  • by TheRealMindChild ( 743925 ) on Saturday February 08, 2014 @09:02PM (#46199401) Homepage Journal
    BSD = "I don't care WHAT the hell you do with this code"

    GPL = "You better give some something back buddy if you want to use this"
  • by martin-boundary ( 547041 ) on Saturday February 08, 2014 @09:38PM (#46199579)
    On the contrary, that point is exactly *why* we GPL advocates advocate it. We don't want to enable companies which have no intention whatsoever to be part of the community. They're free to do everything themselves, and good luck to them. But giving them a leg up to get off the ground just so they can be selfish assholes with their ideas? Why should we? And yes, sharing your *ideas* and *implementations* is what we mean by being part of the community. If this isn't for you, then don't let the door hit you on the way out, thanks.
  • by hairyfeet ( 841228 ) <bassbeast1968 AT gmail DOT com> on Saturday February 08, 2014 @10:40PM (#46199779) Journal

    I'll get hate for saying this but fuck it, truth is truth and RMS burnt a LOT of bridges with GPL V3 so I wouldn't be surprised to see more devs moving from GCC to LLVM and Clang.

    What RMS and his fans just seem to refuse to accept is a simple little bit of reality which is thus...this ain't 1979 anymore, no matter how many times RMS calls everyone "hackers" like he's at a computer club meting. The chips, the designs...we are talking about INSANE complexity folks, it is just not something "a couple of guys banging away in their basement" is gonna be able to do. What you have to have is dozens of highly skilled, highly trained guys working on this stuff 8-12 hours a day every day...the requires funds folks, no way you can get around that.

    What does that have to do with RMS giving corps the bird with GPL V3? Simple...where do you think ALL that money was coming from? Donations by individuals? Nope that was all being paid for by corps whom RMS made clear aren't welcome round here anymore. with GPL V2 you had kind of a "wink wink" with the corps while GPL V3 has made sure that you had better be a GPLed company if you want anything to do with GPL V3 code. This is why Google has a "No GPL V3" rule with ChromeOS and Android, and I have no doubt you'll be seeing money dry up for projects like GCC, simply because companies will be afraid to touch it.

    At the end of the day encouraging corps to open their code is fine, flipping them the bird if they refuse to go GPL? Not the smartest thing. We should be able to tell within the next year whether all the money is gonna go to GCC or LLVM/Clang, I personally think it'll be the latter.

  • by jo_ham ( 604554 ) <> on Sunday February 09, 2014 @12:58AM (#46200301)

    They would;t have written it in the first place if GCC hadn't gone GPLv3.

    Up until that point they were distributing GCC as their main compiler with Xcode, and used it to build OS X itself.

    With the arrival of GPLv3, designed to shut them (and others, like Tivo) out, they had no choice but to move away from GCC. They either had to use a pre-existing compiler (potentially expensive to licence) or write their own, hence LLVM and Clang.

  • by hairyfeet ( 841228 ) <bassbeast1968 AT gmail DOT com> on Sunday February 09, 2014 @08:05AM (#46201771) Journal

    One of the other posters answered your question, I'll highlight it for you "anyone who distributes GPLv3 code *must* give the recipients a royalty free license to any patents they own that are required to be able to use that particular product."

    Sorry but no legal dept with a brain is gonna agree to that, you'd be wiping out the patent portfolio by linking in any way with GCC. This is why Apple made Clang, why companies are supporting LLVM, and why Google has a strict "No GPL V3" policy in place for ChromeOS and Android.

    Between that and RMS himself saying the GPL is viral [] and pushing for GPL libraries over LGPL has made GPL verbotten in many places that previously were fine with it. We'll see if I'm right as we should have enough evidence in the next 24 months (to give time for enough to switch to GPL V3 to make most of Linux off limits) but I predict a lot of the money being spent on Linux dev will dry right up. You'll only have the "pure FOSS" companies like RH and Debian supporting it while the rest follow Google and Apple and switch to other licenses.

Help! I'm trapped in a PDP 11/70!