# Linus Torvalds about GCC 4.9.0



## overmind (Jul 28, 2014)

From Slashdot:  "Linus Torvalds: "GCC 4.9.0 Seems To Be Terminally Broken"



> This is your compiler creating completely broken code. We may need to add a warning to make sure nobody compiles with gcc-4.9.0, and the Debian people should probably downgrade their shiny new compiler.



http://linux.slashdot.org/story/14/...orvalds-gcc-490-seems-to-be-terminally-broken

Maybe they should switch to Clang/LLVM?


----------



## fonz (Jul 28, 2014)

Nice to see that Linus is still as diplomatic as ever


----------



## NewGuy (Jul 28, 2014)

Linus is, as is often the case, being a jerk. However, I do think he raises a good point. GCC has been terribly buggy over the last couple of releases. Starting around 4.6.0 or 4.7.0 I've had a lot of problems with GCC, especially when optimizations are enabled. It's been talked to death in other places, but the last couple of GCC stable releases have not been, well, stable. I am very happy Clang is around as it performs better, gives clearer errors/warnings and does not break my code when optimizations are turned on.

If this keeps up I'm hoping more Linux distributions (and the kernel) will switch to using Clang. I think it would result in better quality projects in the long run.


----------



## Oko (Jul 29, 2014)

Well people who actually contribute 85% of the Linux kernel code (Red Hat) use GCC 4.4.7 in their flagship product 6.5. The new 7.0 is using GCC 4.8.2 and probably will not be widely deployed until version 7.3 which is circa December of 2015. I am sure GCC 4.8.2 will stabilize in the next year and a half.  Why is Linux making such a fuss over the compiler choice of a Debian hobby project? Also, the story comes out of Slashdot which is more of a gossip portal for Linux teens rather than a reputable tech news source.


----------



## kpedersen (Jul 29, 2014)

And as with GNOME 3, Linux is "all about choice". So they can stick to an old (but working) version of GCC if they want *snigger*.


----------



## NewGuy (Jul 29, 2014)

Oko said:
			
		

> Well people who actually contribute 85% of the Linux kernel code (Red Hat) use GCC 4.4.7 in their flagship product 6.5. The new 7.0 is using GCC 4.8.2 and probably will not be widely deployed until version 7.3 which is circa December of 2015. I am sure GCC 4.8.2 will stabilize in the next year and a half.  Why is Linux making such a fuss over the compiler choice of a Debian hobby project? Also, the story comes out of Slashdot which is more of a gossip portal for Linux teens rather than a reputable tech news source.



Referring to Debian as a hobby project or dismissing the issue because of (one of) the news sources just comes across as exceedingly ignorant. What does it matter what websites are carrying the story and which aren't? They all link back to the same discussions and bug reports.

The Debian project makes up the base of the most widely used Linux distributions, professionally supported or otherwise. If you look at the stats, Debian, Mint and Ubuntu have a much higher market share than Red Hat, Fedora and CentOS. Plus, the Debian family is growing (in the server market) while the Red Hat family is shrinking in market share. Hence the interest in what Debian uses for their compiler.


----------



## Oko (Jul 29, 2014)

NewGuy said:
			
		

> Oko said:
> 
> 
> 
> ...


IMHO slashdot is not the place to discuss GCC bugs. Those should be discussed on GCC mailing lists. in all seriousness GCC is responsible for compiling lots of code so it is very important for anybody who is working professionally in the field of computing that GCC works as advertised.



			
				NewGuy said:
			
		

> The Debian project makes up the base of the most widely used Linux distributions, professionally supported or otherwise. If you look at the stats, Debian, Mint and Ubuntu have a much higher market share than Red Hat, Fedora and CentOS. Plus, the Debian family is growing (in the server market) while the Red Hat family is shrinking in market share. Hence the interest in what Debian uses for their compiler.


I have no horse in the Red Hat vs Debian race. Whenever possible I use BSDs to replace Linux. Often that is not possible. In those cases I opt for Red Hat due to the vendor support. I came across a shocking 85% of Red Hat GIT commits to the Linux kernel a few years ago. I was very shocked to see almost negligible contribution to the Linux kernel by Debian and Canonical. Maybe the things have changed in the meantime. In any case I am not aware of a legal corporate entity which can be sued if things go wrong with Debian. In my experience that is a first and the most important requirement by most U.S. businesses when it comes to selecting an O.S.


----------



## fonz (Jul 29, 2014)

*Preemptive warning* (directed at nobody in particular): please do not turn this thread into a flamewar about US litigation "culture". Thank you.


----------



## swirling_vortex (Jul 31, 2014)

NewGuy said:
			
		

> Linus is, as is often the case, being a jerk. However, I do think he raises a good point. GCC has been terribly buggy over the last couple of releases. Starting around 4.6.0 or 4.7.0 I've had a lot of problems with GCC, especially when optimizations are enabled. It's been talked to death in other places, but the last couple of GCC stable releases have not been, well, stable. I am very happy Clang is around as it performs better, gives clearer errors/warnings and does not break my code when optimizations are turned on.
> 
> If this keeps up I'm hoping more Linux distributions (and the kernel) will switch to using Clang. I think it would result in better quality projects in the long run.


There is work being done to make sure clang compiles on the Linux kernel, but the implementation of it will probably be up to the distribution.

http://llvm.linuxfoundation.org/index.php/Main_Page
http://clang.debian.net/

That said, one problem with clang is that it's x86 and ARM centric. It's one reason why OpenBSD still uses the old gcc in base. I believe the Tier 2 platforms for FreeBSD still use gcc.


----------

