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."
is going to be gunning for an apology...
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
It works better when they do nothing
From Torvalds, that's uncharacteristically friendly.
I'm a sloth and I thought it was funny.
Oh gosh a compiler bug! The world is going to end and GCC is terminally broken for ever and ever and ever. Life happens, and occasionally that includes compiler bugs. I've seen fewer bugs in GCC than any other production compiler ever.
Anyway, it seems like GCC is implementing a very obscure compiler option incorrectly in some circumstances which causes a crash.
But of course this is cue for lamentations of how awful and braindead GCC is and so much drama.
End result, the GCC people will fix this bug in short order (what are GCC point releases for anyway), and distributers will probably have a patch package out for 4.9.0 before 4.9.1 ships (what are distributors for anyway?) and the world will keep turning and GCC will go back from being the buggy broken braindead piece of shit to yet again being the most solid production compiler in existence.
It's a little ironic that the he's so quick to attack the GCC people. The success of Linux is 100% built off the success of GCC. There have been no other credible compilers for Linux throughout the majority of its existence and without GCC being bulletproof, Linux would never have been solid.
SJW n. One who posts facts.
Debian people should probably downgrate their shiny new compiler.
Or upgrade to llvm. Being [able] to compile with either gcc or llvm would be a nice option.
How could you _upgrade_ from GPLv3 to BSD? Sounds like the reverse.
Compiling with a BSD licensed compiler does not change the license of the software being compiled. Linux would remain gpl regardless of whether gcc or llvm is used.
rbp is a stack pointer it is negative because it grows down.
So he actually called it, "pure and utter sht"?
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
This is abuse, arguments are in the next article.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
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.
It's amazed me how attitudes from LLVM in the last few years has gone from:
"OMG WTF why is Apple doing their own compiler why can't they contribute to GCC they want to make everything proprietary"
To:
"Hey, LLVM is a pretty great tool."
I'm happy to see LLVM making such great strides.
The only way to cajole passive aggressives into taking action is to shame them publicly. That's why they whine like little babies and play the victim role. Unfortunately, passive aggressive dynamics run so much of society nowadays that they've been codified into law as 'rights', and the bluntness/truth that contradicts them, 'hate crimes.'
A well placed 'Fuck you!' can save years and years of mountainous, expensive political tugs of war.
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.
Nobody cares what code you committed. Butthurt v. 2.1 was working fine before your 'improvements.' Just cut out the 'abusive' crap. You sound like some sort of social worker.
Yes. Choice is nice. That's why I've migrated away from all of Apple's 'flagship' products, which are proprietary closed off dead ends.
But you couldn't ignore Mussolini and move on if you did not like his leadership. Here you can.
And Mussolini made the trains run on time?
Actually, he didn't. That myth have been repeatedly busted my historians.
TCAP-Abort
To be fair, the tirade occurred on the Linux Kernel mailing list and was intra-kernel team bitching. This wasn't directed at the gcc devs personally - he was telling another kernel dev that the output of from his version of gcc was crap. It's a snapshot of a mailing list conversation, not an official statement.
His actual bug report was professional and courteous. He thanked the gcc devs for quickly coming up with a fix.
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.
The fact that you don't know what does and does not constitute the kernel is a tribute to your cluelessness. Extra points for not knowing that Linus always openly acknowleges that he doesn't do most of the work but still gets most of the credit. Linus is actually a very humble guy. He just doesn't suffer fools well, which explains your butthurt completely, of course.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
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.
His manner is coarse
It's not "coarse", it's abusive. Namecalling, mocking, ridicule, hyperbole. That's abuse.
If you read the message, you may have noticed that he called the code shit, not any person coding it. Same with all other colorful language. I wouldn't get offended.
It is what it is.
If you'd actually read the linked mailing list post (or even just read the quotes of it in the summary) you'd see that none of the abusive comments are aimed at people, they're aimed at the code. He calls the code a bunch of mean, nasty, insulting things, but he doesn't say anything about the people who worked or released that code. I think the distinction is important here. It's not abuse if there's nobody to be abused.
Secondarily: if you read the rest of the thread, he goes on to work with everyone very productively on tracking down the exact nature of the underlying bugs, posts deep analyses of the code generation differences, proposes a patch for his own kernel to work around this GCC bug, and goes and files the upstream Bugzilla report with the GCC team himself. On the whole I'd say this is pretty responsible and cooperative behavior.
Perhaps. But, if you cared to look at the other posts on the thread, you'd see how calm and rationale he was. Or look at the gcc bug report he filed. The gcc bug has gotten fixed
I've met Linus in the flesh a number of years back and he is truly a calm and mellow guy. He only does the "bullying" for the "shock effect" to get people [with strong egos] to actually start _thinking_.
And there is some precedent for this. A number of years back, gcc was doing an illegal code motion optimization across a spinlock. After literally hundreds of posts on the gcc mailing list about how this wasn't a bug, Linus started using muscle. I would have, too, at that point. When somebody finally pointed out that the optimization was actually violating requirements in the memory model of the [then] upcoming ISO C spec, it took another hundred or so posts before they actually believed one of their own [gcc people].
Since that time, the gcc folks have become more receptive to [rather than dismissive of] bugs filed by the kernel people--which is a good thing.
Like a good neighbor, fsck is there
How else do you make the trains run on time...?
You adjust the timetable to match reality. The trains aren't any faster, but the timetable no longer lies.
He didn't get the job done in this case, though. He sent an abusive email about a bug that had already been patched, with a tirade about register spills that aren't even related to the bug.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
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.
From a prior discussion from linus.
Oh, I'll be polite when it's called for. But when people who know better send me crap, I'll curse at them. I suspect you'll notice me cursing *way* more at top developers than random people on the list. I expect more from them, and conversely I'll be a lot more upset when they do something that I really think was not great. For example, my latest cursing explosion was for the x86 maintainers, and it comes from the fact that I *know* they know to do better. The x86 tip pulls have generally been through way more testing than most other pulls I get (not just compiling, but even booting randconfigs etc). So when an x86 pull request comes in that clearly missed that expected level of quality, I go to town. Similarly, you will see fireworks if some long-term maintainer makes excuses for breaking user space etc. That will make me go into incoherent rages. The "polite Linus" example that you point to? That was a maintainer asking for direction for when things went wrong and *before* sending me something dubious. Of course I'm polite then. Sarah, I don't have Tourettes syndrome. You seem to think that my cursing is uncontrolled and random. I argue that it has causes. Big difference.
Yes. And I do it partly (mostly) because it's who I am, and partly because I honestly despise being subtle or "nice". The fact is, people need to know what my position on things are. And I can't just say "please don't do that", because people won't listen. I say "On the internet, nobody can hear you being subtle," and I mean it. And I definitely am not willing to string people along, either. I've had that happen too—not telling people clearly enough that I don't like their approach, they go on to re-architect something, and get really upset when I am then not willing to take their work. Sarah, first off, I don't have that many tools at hand. Secondly, I simply don't believe in being polite or politically correct. And you can point at all those cultural factors where some cultures are not happy with confrontation (and feel free to make it about gender too—I think that's almost entirely cultural too). And please bring up "cultural sensitivity" while at it. And I'll give you back that same "cultural sensitivity". Please be sensitive to _my_ culture too.
some people don't believe in going "oh I'm sorry dear, you are an awesome sugar plum fairy but your performance in this little area was below expectations, especially when it is quite clear said person should know far better given their position of responsibility.
He is clear, to the point, and gets things done.
This is not abuse, this is quite clearly saying that it is screwed, and how it is screwed. It is productive conversation.
All of linus' tirades are followed by an in-depth message detailing in what way they are wrong, being direct and to the point is his style, which he is entitled to.
If calling for standards of quality in a very direct way is abuse.. well.. start a new kernel where you accept any old tripe and see how it goes? And only interact/depend on with projects who have a similar standard and means of management.
Linus is a very pragmatic, practical engineer. Don't let feelings get in the way of practical needs people. His style works far better than most.
From linus at a prior time
Oh, I'll be polite when it's called for. But when people who know better send me crap, I'll curse at them. I suspect you'll notice me cursing *way* more at top developers than random people on the list. I expect more from them, and conversely I'll be a lot more upset when they do something that I really think was not great. For example, my latest cursing explosion was for the x86 maintainers, and it comes from the fact that I *know* they know to do better. The x86 tip pulls have generally been through way more testing than most other pulls I get (not just compiling, but even booting randconfigs etc). So when an x86 pull request comes in that clearly missed that expected level of quality, I go to town. Similarly, you will see fireworks if some long-term maintainer makes excuses for breaking user space etc. That will make me go into incoherent rages. The "polite Linus" example that you point to? That was a maintainer asking for direction for when things went wrong and *before* sending me something dubious. Of course I'm polite then. Sarah, I don't have Tourettes syndrome. You seem to think that my cursing is uncontrolled and random. I argue that it has causes. Big difference.
Yes. And I do it partly (mostly) because it's who I am, and partly because I honestly despise being subtle or "nice". The fact is, people need to know what my position on things are. And I can't just say "please don't do that", because people won't listen. I say "On the internet, nobody can hear you being subtle," and I mean it. And I definitely am not willing to string people along, either. I've had that happen too—not telling people clearly enough that I don't like their approach, they go on to re-architect something, and get really upset when I am then not willing to take their work. Sarah, first off, I don't have that many tools at hand. Secondly, I simply don't believe in being polite or politically correct. And you can point at all those cultural factors where some cultures are not happy with confrontation (and feel free to make it about gender too—I think that's almost entirely cultural too). And please bring up "cultural sensitivity" while at it. And I'll give you back that same "cultural sensitivity". Please be sensitive to _my_ culture too.
In effect you are whining that calling a crap code submission crap is not professional. Linus is a very pragmatic and practical man. That so many people want everything to go smoothly and politely even when shitty things are submitted/done reflects poorly on that "everyone is a winner" kind of culture that propagates that mentality.
We should not prioritize peoples feelings over code quality. If something horribly break things that we've known for a while and know they are capable of better, we should be able to tell people that that was crap and we expect more of them without them whinging to the political correctness police yelling "abuse".
This mentality seems to keep on spreading amongst the new generations, and I fear for what the software development industry will look like in fifty years with all of the pragmatic people thrown out by those more concerned of peoples feelings.
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.
A guy in charge of a big open source project swears at a specific version of a compiler in a development related mail list, and that triggers an article + 418 comments?
Nobody at the mail thread complained and he filed a bug at the gcc tracker with the specific details and no swearing.
Is it really worth to make a big deal out of every thing this guy says?