If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

FreeBSD 10 To Use Clang Compiler, Deprecate GCC

Phoronix: FreeBSD 10 To Use Clang Compiler, Deprecate GCC

As indicated by the Q1-2012 FreeBSD Status Report, LLVM's Clang compiler is quickly replacing GCC for this popular BSD operating system. The developers are also making much progress in a GNU-free C++11 stack. For FreeBSD 10 they're aiming for Clang as the default C/C++ compiler, deprecate GCC, and to have a BSD-licensed C++ stack...

Code compiled with Clang is still slower than fuck, WHY DO WE NOT WANT GCC AGAIN? God, this is like Wayland replacing X11. Lets just replace something that works better with a newer crappier version just because it is new!

Code compiled with Clang is still slower than fuck, WHY DO WE NOT WANT GCC AGAIN? God, this is like Wayland replacing X11. Lets just replace something that works better with a newer crappier version just because it is new!

In FreeBSD's case, I think the reason they want Clang/LLVM is because they're license purists. Yes, they seriously would rather take a compiler producing shit for code output (very large and very slow binaries) over a GPLed compiler.

They're also banking on the hope that LLVM will improve. But Apple's engineers are no smarter than the folks who maintain GCC: the fact is that it will take a great many years to mature LLVM to the point that GCC is matured. Compilers aren't simple and you can't write a really good one overnight. LLVM might become as good as GCC 4.x someday, but if the high rate of contribution to GCC continues, it will probably continue to retain some edge over LLVM/Clang, especially on its traditionally most popular target of x86/x86_64.

This is a demonstration that the FSF isn't the only organization that are license purists. It's telling that the BSD camp always attacks the FSF camp for being GPL license purists, yet when it comes down to deciding which compiler to include in the leading BSD operating system, they base their decision not on technical issues but on license issues. Idealists will never change...

x11 works better, you are kidding right? that's why most x.org devs support or even actively work on wayland. including x11 veteran keith packard.

Lets just forget for the second that X11 already has far, far more features than Wayland. Computers are getting faster all the time, if feature bloat is a problem, it shouldn't be now. I am sick of people that keep trying to reinvent the wheel. WHY?!? Yeah, X11 is old, but it works. The time can be better put into far more useful things. Just my opinion.

In FreeBSD's case, I think the reason they want Clang/LLVM is because they're license purists. Yes, they seriously would rather take a compiler producing shit for code output (very large and very slow binaries) over a GPLed compiler.

Licence purists, sure. But really even though Clang/LLVM produces less performant code (~5-15%) it's certainly anything but a 'shit' compiler.

However since FreeBSD would not ship any GPLv3 licenced code (due to their corporate sponsors/customers iirc) they were stuck on GCC 4.2 which is like what, 5 years old now? So it's not surprising that the second that Clang/LLVM showed up they decided to switch, not only is it a better compiler than the ~5 year old GCC 4.2 they are stuck with, it also in line with their licence ideology. The transition has taken quite some time due to Clang/LLVM's lack of maturity but it will eventually happen in full. I see this as a good thing, I think the BSD's having to rely on GPL licenced code all these years (particularly in such an important area as the compiler toolchain) has been a sore point for the BSD advocates and has helped fuel further friction, and we could use LESS of that.

However the 'Clang is quickly replacing GCC' line... 'quickly'? He even states later in the 'article' that the switch has been ongoing since 2009 !

Licence purists, sure. But really even though Clang/LLVM produces less performant code (~5-15%) it's certainly anything but a 'shit' compiler.

However since FreeBSD would not ship any GPLv3 licenced code (due to their corporate sponsors/customers iirc) they were stuck on GCC 4.2 which is like what, 5 years old now? So it's not surprising that the second that Clang/LLVM showed up they decided to switch, not only is it a better compiler than the ~5 year old GCC 4.2 they are stuck with, it also in line with their licence ideology. The transition has taken quite some time due to Clang/LLVM's lack of maturity but it will eventually happen in full. I see this as a good thing, I think the BSD's having to rely on GPL licenced code all these years (particularly in such an important area as the compiler toolchain) has been a sore point for the BSD advocates and has helped fuel further friction, and we could use LESS of that.

However the 'Clang is quickly replacing GCC' line... 'quickly'? He even states later in the 'article' that the switch has been ongoing since 2009 !

Code compiled with Clang is still slower than fuck, WHY DO WE NOT WANT GCC AGAIN? God, this is like Wayland replacing X11. Lets just replace something that works better with a newer crappier version just because it is new!

Basically because they're stuck with GCC 4.2 because of the change of licensing (they were fine with GPLv2, but GPLv3 added some new stuff that *investors* and some other people didn't like) ... so the toolchain was rotting more and more as time passed, thankfully clang appeared (devs were looking at other options) to the rescue and not only that, it also caugh a lot of interesting stuff at the code !! that with libcxxrt and libc++ made an interesting case for the c++11 stack

Run a bench of GCC 4.2 against LLVM/Clang 3.1 ... that if we ignore features. IMHO you're really honoring your nickname

In FreeBSD's case, I think the reason they want Clang/LLVM is because they're license purists. Yes, they seriously would rather take a compiler producing shit for code output (very large and very slow binaries) over a GPLed compiler.

A "purely bsd licensed system" is a more coherent licensing for the rest of the system and project's philosophy IMHO ... but that's mostly "a plus" for the devs.
for the code speed and size, can you provide proper tests to show those grossly big numbers?

This is a demonstration that the FSF isn't the only organization that are license purists. It's telling that the BSD camp always attacks the FSF camp for being GPL license purists, yet when it comes down to deciding which compiler to include in the leading BSD operating system, they base their decision not on technical issues but on license issues. Idealists will never change...

Are you subscribed to freebsd-hackers, freebsd-current and the new freebsd-toolchain? (and some others I can't remember now) obviously, reading all the related discussions ... because what you said is a really cute story.

Not unless I employ optimizations not available in Clang/LLVM, like profile guided optimization or openmp in which case yes GCC often runs circles around Clang/LLVM but it's a bit 'unfair' as these are rather 'exotic' optimizations not always in use and also that they will eventually make their way into Clang/LLVM.

- FreeBSD uses GCC 4 because of *license issues* with newer version (namely their *sponsors* don't want then to use GPL3)
- FreeBSD will use LLVM/Clang since they don't want to use GCC > 4
- FreeBSD does not switch compiler for license reasons <= write black, then say white, that doesn't work
- LLVM/Clang are only 5-15% (15% is quite a bit btw) slower than GCC *if* you don't use GCC optimization cuz it's unfair if you do. I mean why in hell wouldn't you use GCC optimizations for your code? that doesn't make any sense

Well what all that tells me? I used to like FreeBSD but I see more and more value in the GPL. Pretty obviously being forced to choices by sponsors, aka by money, isn't really my vision of open source (yeah they're allowed to have that vision, but I find the free software one much more attractive).