Linus Torvalds: "GCC 4.9.0 Seems To Be Terminally Broken"
hypnosec (2231454) writes to point out a pointed critique from Linus Torvalds of GCC 4.9.0. after a random panic was discovered in a load balance function in Linux 3.16-rc6. in an email to the Linux kernel mailing list outlining two separate but possibly related bugs, Linus describes the compiler as "terminally broken," and worse ("pure and utter sh*t," only with no asterisk). A slice: "Lookie here, your compiler does some absolutely insane things with the
spilling, including spilling a *constant*. For chrissake, that
compiler shouldn't have been allowed to graduate from kindergarten.
We're talking "sloth that was dropped on the head as a baby" level
retardation levels here .... Anyway, this is not a kernel bug. 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
downgrate their shiny new compiler."
Debian people should probably downgrate their shiny new compiler.
Or upgrade to llvm. Being above to compile with either gcc or llvm would be a nice option.
He doesn't complain, he blows the fuck up.
If you want to say shit, say shit. We're all grown-ups here.
Circumcision is child abuse.
...the people who deserve the apology are the people who were subject to an abusive tirade.
You can point out someone made a mistake. There's no obligation to be "nice" when doing so. There is an obligation to not be abusive, which is what Linus repeatedly does. Abuse includes mockery, ridicule, name calling, etc.
He's being a bully, pure and simple - using his popularity to shove around others. That should not be tolerated, full stop.
Please help metamoderate.
End result, the GCC people will fix this bug in short order (what are GCC point releases for anyway)
The bug was reported 4 point releases ago. It just now started effecting the kernel.
In fact, it has been fixed in trunk even before Linus' rant.
https://gcc.gnu.org/bugzilla/s...
GCC is a mess that has been getting consistently worse since 3.0. It's so bad that compiling GCC with GCC, with any CPU optimizations enabled, produces a non-working compiler.
[citation needed]
It just keeps getting bigger and slower, and has a great many proprietary GCC-isms that open source developers keep using, not even realizing they're bugs.
Every single compiler out there offers nonportable extensions.
Either you're not looking (myopia is fun), or you have very little experience with other modern compilers.
I could level the same complaint at you. The other compilers have more. Like full up ICE crashes.
Only true if you drink rms' kool-aid...
Ah and now we get to the root of it. You've decided to throw logic and facts to the wind and just go off on an I-hate-RMS-so-I-hate-GCC-by-proxy rant.
Grow up.
SJW n. One who posts facts.
So he actually called it, "pure and utter sht"?
Remember, that's the guy that said "Nvidia, F*CK YOU!". http://www.youtube.com/watch?v...
He's a passionate, colorful character...he's been like that for as long as I can remember him. Thank god there's still awesome nerds out there that just can't be bought.
What this world is coming to - is for you and me to decide.
Strawman argument. Nobody except you has posited that "all opinions are valid", and nobody suggested that criticisms can't be made. You invented that position to attack it.
I specifically said: it's fine to tell people they did something wrong. What you may not do is be abusive.
Actually, I can be abusive if I choose to be. It may not win me many friends and it may alienate the ones I do have, but I can certainly do so if I want.
Whether or not Linus advances Linux because of, or in spite of, being abusive is an open question.
As Louis Brandeis (and correctly, IMHO) pointed out, "If there be time to expose through discussion the falsehood and fallacies, to avert the evil by the process of education, the remedy to be applied is more speech, not enforced silence."
No, no, you're not thinking; you're just being logical. --Niels Bohr
Yeah, let's pretend that 80+% of the world isn't using Android, not to mention supercomputers or huge server deployments. What you're missing is not everyone is using an IBM compatible PC and play games whole day in their mom's basement.
Because every truly competent developer agrrees with him. We all hate incompetence, and Linus speaks for us all when he lays in to some incompetent for sullying the gene pool of software developers everywhere. Linus' approach has a truly wonderful effect. The incompetent people run away crying "Ohh Noze! He was mean to me! Doesn't he know that I have a right to be incompetent and still be treated with kid gloves??!!!". The competent people say "Thank you Linus for saying what we all wanted to say!" and continue to develop. I have no idea if the effect of his tirades is intentional, but make no mistake about it. It is not merely acceptable. It is ideal.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Well, if you RTFP, Linus is abusing the *compiler*'s behavior. At no point does he abuse the compiler authors.
I don't understand it anymore. How are we not beyond the need to replace random letters with asterix? I mean honestly, the summary goes on to comment about it. It's a waste of space. Just fucking say it already.
Because if you aren't incompetent, you won't get yelled at.
Unlike a corporate structure, where you don't get yelled if you play the game right.
If you are incompetent, please don't develop linux kernel code. Go work for a corporation.You'll find you're a better fit, and if you play your cards right, you won't get yelled at no matter how bad you are at your job.
Of the winners in computing, those that won because of technical merit are swarmed by those that won for other reasons.
I mean just look at some of the match ups
DOS vs Everything else available ?
Windows vs Everything else
Microsoft office vs Everything else
X86 vs Everything else
ISA bus vs NuBus vs MCA
DirectX vs OpenGL
Technical merit only seems to matter when it completely crushes every other factor as in transistor vs tube, IC vs transistor, CMOS vs TTL.
Your argument applies to itself. You are accusing people of abdicating judgment: your solution is to not judge Linus! Furthermore, you are confusing criticism of the messenger with criticism of the message; as SuperBanana points out, this is a straw man argument.
Not all opinions are valid and equal: nor are all means of expressing them. We have the right to speak freely; we also have the right to judge such speech as invalid or unacceptable. I suggest this right to judge is in fact an obligation. Silence implies consent. Abusive behavior should be called out. You may argue that Linus was not abusive, but to argue that we should never make such judgments in the first place is to fall prey to the false equivalence you decry.
What exactly does 'abusive' mean when a european kernel crafter is accusing a 'free speech' american compiler crafter that his compiler is utter shit?
Either the compiler is 'utter shit' and the accusation is a fact and proclaiming so is free speech or it is not, then it might be considered 'abusive'.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
I'm super tired of this BS argument. I'm sick and tired of high performing professional being criticized for expecting high standards from others. Not every job requires or should have an abstraction layer of "people development," "life coaching," or professional courtesy and pleasantries. Some jobs, the jobs that truly change of course of human events requires breathtaking sacrifice, most significantly of all, putting aside ones ego when called out. If someone calls me an idiot for being wrong, whether justified or not, I'm still wrong and I accept it. If my performance is so shoddy that I get called out as incompetent, than an introspective person should have the maturity to realize that he or she caused such frustration to the other person that such words were uttered. To be able to take this is the sign of a true professional and leader. If you can't take the heat, just GTFO of the way, and go work at a Fortune 500 with regular white collar people with thin skin.
It's not ginned up outrage to waste dozens of man hours for someone else's mistake. GCC can be considered a Teir 1 OSS project. For a major point release to have an issue that, if verified, causes the founder of Linux to call it crap, then raw criticism is warranted. Raw, unfiltered , communication amongst trusted engineers leads to better outcome, I have found in my career. Keep the politically correct crap outside of the engineering room.
You position holds true when dealing with a small child.
If some smears his own feces on a wall and they are:
- 2 years old; you scold them gently and clean them up first, then the wall.
- 20 years old; yeah... not so much. If a little abuse is all you get you're probably lucky.
You've asserted several times that people may not be abusive, and other people have run with some kind of silly argument that Linus isn't, but neither your assertion nor their tangent makes you right.
Let's see:
(1) Microsoft had one guy who dumped on people by calling them "random" (kind of a great insult, actually) and another guy who threw chairs. Dipstick score: 2 Results: tops in their industry.
(2) Apple has a massive "motivator", spelled a-s-s-h-o-l-e, tolerating zero garbage and pushing coders harder than Cleopatra pushed rowers. Dipstick score: 1 Results: biggest and most profitable company, period.
(3) Linux exists at all, despite being given away for free, decades after it was introduced. It is ubiquitous, runs on mainframes and thimbles, and more cell phones than iOS. Chief penguinisto occasionally says "This crap tastes like crap." Dipstick score: 0 Results: most improbably popular free code ever.
Seems like 2014 just might have been the year of Linux on the desktop if Linus had taken some chair-throwing, and stock-option-hoarding lessons from his peers.
Seriously, the GCC is a prestige project just like the kernel. You have to have the basics of your particular software development field down, otherwise you have no business whatsoever lost in these projects. I don't know the details and I certainly can't judge them, but from the broad perspective it seems like somebody did something akin to not avalidating and filtering your input or pushing windows-1252 but presenting it as UTF-8 or something in webdevelopment and it passed all the way through evaluation, testing, merging, release management, etc. right into the final GCC release. Which does reflect on to the entire team and project.
Bottom line: When Linus has released rants like these in the past he usually was spot on and dead right. The GCC has gotten some flak for it's shittyness lately, and it looks like they haven't improved their process much yet.
We suffer more in our imagination than in reality. - Seneca