Interview with Mark Mitchel, GCC's Release Engineer
ICC-Rocks writes "In light of the imminent release of the first 'stable' version of GCC version 3, OSNews features an interview with Mark Mitchel, GCC's Release Engineer. They are talking about GCC 3.x, the future and the competition."
Answer: Blah blah blah I don't know blah.
Brilliant, really.
Al Qaeda has ninjas!
Yes, even RedHat 7.3 still has the piece of crap 2.96 compiler. WE as a community stand up and say to dist people. USE RELEASES PLEASE.
;p
RedHat, please, just make it easier to play with the system and include the stuff that we all will go and download 20 seconds after install. Please. This compiling compilers like 2.95.3 and 3.0.4 is a waste of my time.
Note: About my insinuations about GCC 2.96 brokenness, I work side by side with a person who used to be on the GCC/GNU team, and has found strange bugs in certain version of the glibc that has been compiled by the 2.96 series. It went away when using release glibc compiled by release GCC. I personally have seen evidence that this is not FUD concerning GCC 2.96 - so please, all the flaming Bero zealots explain why is it now better to have a kluged compiler when the GCC team has far superceded it?
Good - they use glibc 2.2.5 - a standard GNU release, but they compiled it with the LAME 2.96 compiler. We shall SEE if they got the compiler It has been said that if a broken compiler compiles a library the library can be strangely broken and very difficult to debug. This goes to show RedHat why they shouldn't do this, and properly couple GLIBC 2.2.5 with GCC 3.0.4 as intended by GNU. Bero seems adamant about maintaining a 2.96 fork, which is costing time and resources and annoying users. I wouldn't care so much if 1.1.2, 2.95.3, 3.04 and RH-BROKEN.296-special were all included, but such is not the case. Lame.
However, why did gcc3 appear in 7.2 and not 7.3? All I ask is that yes, they can compile how they see fit, and so can I. My only request is to for them to provide the rest of the compilers for me that have been cleanly installed "their way," so that I don't have to go through the same shenanigan every time I upgrade or change a system or install a new one, etc.
On a side note, as far as GCC 3.X not being prime time, for C is surely is, I don't know about the rest, but for C its, as far as I can see, quite useable, stable and reliable with some interesting new optimizations. I also like ICC, from Intel, but they have very strange and frustrating licensing weirdness, and the kernel can't be compiled with it.
A lot of the GCC 3 is broke with regards to the C++, that's a crock. Both sides blame the other, but from what I have seen, most of the crap that doesn't compile right on GCC 3.x is the writer's fault, not the compiler. Think, what is harder, writing hello world or writing a compiler to compile hello world. I'm more inclined to believe the compiler guy that has to work on the project.
I see the reason to maintain binary compatibility to a point. For their manageability it makes sense, to some degree. So if its easier for them to put stuff out, go ahead.
I think that GNU has been a great force in the world, and to uselessly outpace them or point fingers at them is frustrating and bad for both sides of the camp.
One more note on RedHat, I am what would be the "customer," I do buy the media and get RH with new systems, etc. "Customers" who use this as a server don't like things being out of whack. I wish I could make it a requirement that the EGCS 1.1.2 release, 2.95.3 release, GCC 3.0.X release be included already to make things easier. It was there in 7.2, and then yanked out. I didn't hear the pissing and whining from the usual suspects about why this was done, but, I can only imagine they went off in some strange direction and have to dig themselves out quietly and slowly form this bastard fork, which, NO "readme," or "install" doc *EVER, EVER* requests. Face it. 2.96 is some RedHat only (Not Mandrake, Not SuSE) strange kluge. Programmers ignore in favor of GNU releases. Debian ignores it. It's a strange wart that needs wart removing acid, now.
GCC is the compiler du jour for minority hobby operating systems like Linux and BSD. It was invented as part of the GNU project as a replacement for proprietary tools such as Visual C[++] on Windows, and has done a fair job at keeping up.
A while back, there was a small uproar over the egcs compiler, a competing product, but when Linux bought out Egcs.com, for better or for worse, the two became one. Since then allegations have flown regarding the stability and security of GCC.
It looks like things are finally back on track for GCC, and I think we have everyone to thank.
Karma: Good (despite my invention of the Karma: sig)
-Just In Time assembling (JITa)
-pipeline overflow caching
-memory protection beyond the 4 MB barrier
-interlaced object replacement with error redundancy cycles
-and much, much more
It's a great time to jump in and learn to program which is just what I intend to do.
8. What did you think about the Intel Compiler v6 that came out recently? Did you have time to have a look at it?
Mark Mitchel: I do not have enough information about that compiler to comment on it.
I know that x86 is just 1 arch for gcc, however it is an important one, being the most common. I would think that those heavily involved with gcc (and especially the x86 backend) would be much more interested in how well the other compilers performed since they are 'the competition' as it were.
It's kind of depressing that he 'doesn't have enough information to comment'.
if intel's compiler had been released last month or thereabouts, I could understand, but IIRC, it was released about 6 months ago.
Zapman
gcc 2.96 is actually more standards compliant than any other version
of gcc released at the time Red Hat made this decision (3.0 is even more compliant, but not as stable yet).
It may not be "standards compliant" as in "what most others
are shipping", but 2.96 is almost fully ISO C99 and ISO C++ 98
compliant, unlike any previous version of gcc.
gcc 2.96 has more complete support for C++. Older versions of gcc could
handle only a very limited subset of C++.
Earlier versions of g++ often had problems with templates and other
valid C++ constructs.
Most of gcc 2.96's perceived "bugs" are actually broken code
that older gccs accepted because they were not standards compliant - or, using
an alternative term to express the same thing, buggy.
A C or C++ compiler that doesn't speak the standardized C language is
a bug, not a feature.
In the initial version of gcc 2.96, there were a couple of other bugs.
All known ones have been fixed in the version from updates - and the version
that is in the current beta version of Red Hat Linux. The bugs in the initial
version don't make the whole compiler broken, though. There has never been
a 100% bug free compiler, or any other 100% bug free non-trivial program.
The current version can be taken from Red Hat Linux 7.2. It will work
without changes on prior 7.x releases of Red Hat Linux.
Since a lot of people claim 2.96 is buggy because of the accusations
found in MPlayer documentation, I have
included the facts that led them to incorrectly believe that 2.96 is buggy
here.
gcc 2.96 generates better, more optimized code.
gcc 2.96 supports all architectures Red Hat is currently supporting,
including ia64. No other compiler can do this. Having to maintain different
compilers for every different architecture is a development (find a bug, then
fix it 4 times), QA and support nightmare.
The binary incompatibility issues are not as bad as some people and
companies make you believe.
First of all, they affect dynamically linked C++ code only.
If you don't use C++, you aren't affected. If you use C++ and link statically,
you aren't affected.
If you don't mind depending on a current glibc, you might also want to
link statically to c++ libraries while linking dynamically to glibc and other
C libraries you're using:
g++ -o test test.cc -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
(Thanks to Pavel Roskin for pointing this
out)
Second, the same issues appear with every major release of gcc
so far. gcc 2.7.x C++ is not binary compatible with gcc 2.8.x. gcc 2.8.x C++
is not binary compatible with egcs 1.0.x. egcs 1.0.x C++ is not binary
compatible with egcs 1.1.x. egcs 1.1.x C++ is not binary compatible with
gcc 2.95. gcc 2.95 C++ is not binary compatible with gcc 3.0.
Besides, it can easily be circumvented. Either link statically, or
simply distribute libstdc++ with your program and install it if necessary.
Since it has a different soname, it can coexist with other libstdc++ versions
without causing any problems.
Red Hat Linux 7 also happens to be the first Linux distributions using
the current version of glibc, 2.2.x. This update is not binary compatible with
older distributions either (unless you update glibc - there's nothing that
prevents you from updating libstdc++ at the same time), so complaining about
gcc's new C++ ABI breaking binary compatibility is pointless. If you want
to distribute something binary-only, link it statically and it will run
everywhere.
Someone has to be the first to take a step like this. If nobody dared
to make a change because nobody else is doing it, we'd all still be using
gcc 1.0, COBOL or ALGOL. No wait, all of those were new at some point...
gcc 3.0, the current so-called "stable" release (released quite
some time after Red Hat released gcc 2.96-RH), fixes some problems, but
introduces many others - for example, gcc 3.0.1 can't compile KDE 2.2
correctly due to bugs in gcc 3.0.x's implementation in multiple inheritance
in C++.
Until another set of 3.0.x updates is released, I still claim 2.96 is
the best compiler yet.
I respect the guy for saying he doesn't know the answer rather then trying to make it up, but I don't see why the original website ran the story, let alone why it should be posted on Slashdot. The percentage of sentences with useful information seems to be in the low teens, and it's not like it's a terribly long article where that can be expected...
Here we go.
Hi, BERO, or a BERO underling.
SHUT UP. SHUT UP.
I hate the FUD this loser produces. Someone *PLEASE* whoever this guy's boss is, wake up and get a clue, this guy is employing his friends to hack at GCC when it need not be done.
This is PURE regurgitated BULLSHIT. It's the same fucking playbook - every time.
Yet, I never read in an install book, ANYTHING ANYTHING asking for the RedHat compiler. In fact, 90% of the Install docs I read, say AVOID it.
GOOD fuckin JOB RedHat.
I like it, I use it, but it PISSES me OFF, especially when you don't provide release compilers to finish up customizing my system.
The message is between the lines. If there were ever an interview with a developer working in "go away and don't bug me" mode, this is it.
An essential difference between engineers and politicians or marketing droids. Refreshing, really.
Is it me, or did he sound like compiler output?
;)
"Not to my knowledge"
"No, It's not."
Never anything helpful
No, it's true, 2.95.3 is broken in a myriad of ways (wow, I have PROOF TOO). Some of us couldn't wait two years for a working 3.1 compiler, sorry.
Is that why the Linux 2.5 kernel doc says the following:
I'm sure if Linux was more stringent, he would say:
"Don't use that fucking broken RedHat piece of shit fork. The C code it produces is crap and cannot be used"
Bero, crawl back into your hole. We want fucking release compilers in the dist. You can compile broken shit with your broken compiler all day long, but at least give us the RELEASE alternatives, maybe in usr/local, or something. PULEEZE.
Bero. You lose. Everyone I know complains of this. No one else's does this in their dists. Debian uses a CVS version of 2.95.3, and I don't see much on Debian than cannot be done on RH - in fact, there is nothing. YOU SPREAD LIES TO SUPPORT NEPOTISM. You have useless hires churning out broken fork code, and then you fuckin defend it.
Lame.
Yet Debian Woody uses an unreleased GCC 2.95.4? There goes that argument.
Funny - it compiles more thing that RH 2.96 does.
And its from GNU's CVS, not the RedHat toilet.
Fate, chance, karma, whatever you wanna call it -- when Miss Fortune spreads her legs for you, you're already in over your head. Believe me, I know.
...
Bunny LaFever looked like a dame with more curves and venom than Reggie Peeler's Land O' Snakes. But she wasn't a real dame. She was a she-devil. That golden bush of hers was nothing but a welcome mat to hell.
But now I'm getting way ahead of myself. Bunny had a way of doing that to jerks like me. She twisted us inside out and turned our heads around so we couldn't think straight anymore. So lemme begin at the beginning
Carnies got a word for a crooked game operator like me. They call me "Flattie" cuz I'll flat-out rob you and make you like it.
My name's Randy Everhard and I've got a million ways to take your money. One of my personal favorites is the "hopper shot." It's tossing softballs into toilet seats, which you've seen on every midway in your life. I could gaff the joint to make it impossible to win.
But where's the fun in that? I work it so any chucklehead can win all night long. Cuz once I've hooked a live one into thinking he can take me for a ride, that's when I nail him with the "build-up." Caught up in the excitement of winning game after game, the rube's built up to play twenty games at two bucks a pop. And the only prize he's going home with is a teddy bear that cost me three shekels per, wholesale. You do the math, Einstein.
The problem with selling three-dollar plush for forty scoots is that the build-up only pays off if you've got a steady string of suckers. And that night was turning out to be a real larry. The Laff Riot carnival was a flattie's wet dream. The grab joints and flashy rides were a front for the real action: flat stories, alibi and percentage joints, crap tables, slot machines, fortune wheels.
The show was running wide open. Everybody crooked and every joint gaffed and nobody doing a damn thing to stop it. I figured the cops were greased slicker 'n Liberace's asshole. It should've been like shooting trout in a barrel. Too bad nobody was taking my bait. I was up shit creek without a paddle to piss on.
My first goddamn night with the show, and already I was itchy for a new angle.
I can't remember which one of them I saw first: the blonde come-on dressed like she had an exhibitionist streak a mile wide or the square in the coke bottle glasses who was eyeballing her like she was nothing but something to look at. Of course, that Coppertone beauty really was something to look at. She was turning heads and raising dicks all over the place. But I didn't like him getting his eyes all over this piece of 100 percent corn-fed cocktease.
She was stacked like a double-decker Ferris wheel with nipples that could cut glass. The red double-O's stenciled on her football jersey were stretched over humongous hooters. She looked like a shooting gallery, bursting at the seams. You couldn't miss those twin titty targets. I'm talking knockers so big you could still see them when she turned around. And believe you me, she was one woman who looked as good going as she did coming.
She wore a pair of daring Daisy Dukes that were so short and tight her crotch sucked them in. The denim over her ass was thread-bare, blown out like a retread. And if that wasn't enough, she was doing a number on a grape Popsicle to make your peter wish it was frozen on a stick. That girl was one carnival ride I wanted to jump on quick, and I didn't care how many tickets it cost.
In my racket, though, business comes before pleasure. And this looked like a golden opportunity to work the key scam. It's the oldest con in the carny book.
I jumped the counter and made my way over to the chump with the steamed-up glasses. I was like, "Hot enough for ya? And I ain't talking about the weather, fella." At first he didn't buy it when I told him I was the "manager" of this fine talent. He just stood there mopping his brow with a hanky.
"I don't fuck chickens and I don't shit feathers," I said, "and I wouldn't lie about a piece of ass like that, neither." I gave myself a hard-on feeding him the fast talk: screwing her would make a man think he died and gone to heaven, where the streets are paved with solid gold snatch.
"She's a sight for sore eyes, ain't she? And if you think I'm giving you lip, you oughta see her go to town on a dick. Life-transforming, friend. Life-transforming." I pulled out an old key I kept for just such an occasion. Dangling it before his bug eyes, I spieled how it was the key to her room at some motel outside of town. "I'm talking once-in-a-lifetime opportunity, pal. She's the reason hard-ons were made."
He swallowed it all -- hook, line and sinker.
Chuckling over what he was going to tell his wife when he came home minus his paycheck, I made my way over to the sultry sex kitten. She was throwing heat like a furnace. Melting chocolate bars at twenty paces. It was too hot to fuck, but next to her, that scorcher felt like a cool, seaside breeze.
"I just made you twenty bucks, and all you had to do was stand here looking gorgeous, Gorgeous." She didn't say anything, just looked me up and down and blinked those big baby blues. The sheen of sweat on her face glowed under the neon lights. She'd sucked all the flavor out of the end of the Popsicle, so the tip was white.
I fished out a crisp, new bill and passed it over. She let it rest in the palm of her hand as she stared at it, confused. She tried giving it back to me, but I stopped her. "See that guy over there?" I asked, stepping aside to give her a glimpse. "He just paid me a lot of money to sleep with you."
He what?" she goes, insulted. She threw down what was left of her Popsicle and took a step closer. Her eyes burned like a butane flame. Like most women, she looked better when she was steamed. But I didn't want her making a scene. She was liable to blow the act.
"Don't get yer panties in a bunch," I said, shutting her cakehole with my hand. I told her about the con and then nervously took my hand away. I was sure she was gonna blow up again. But she kept quiet. I told her we had to scram and didn't give her a chance to say no. I just put my arm around her waist and steered her toward the exit gates. I gave Pops a back-handed wave as we booked outta there double-time.
My dick is long and my cons are short. Cop and blow, that's my motto -- take the money and run. Otherwise things got a way of getting ugly.
Two minutes later, we were hauling ass down the highway in my supercharged Chevy Menace. It was an acid green two-door with cheetah seat covers, four on the floor and dual exhaust. Twin cams and 440 horses under the hood.
"Say," I said, "what's your name, anyway?"
I was hoping to get to know every inch of her better. She smelled like coconut oil. Her tanned skin gave off heat like asphalt that'd been baking in the sun all day.
"Bunny," she goes. "Bunny LaFever." She was a real piece, too. I couldn't wait to do all sorts of dirty things to her. "How much you take him for?" she asked. "Two-fifty." In actuality I scored three-fifty. But if there's one thing I know about women, it's never tell them exactly how much money you've got.
Back at my room at the God bless America Truckstop Motel, she showed me that that sweet and innocent show was just a put-on. I was glad, though. I prefer a girl with some experience under her belt.
Before I knew it, she was all over me like stink on shit. Purple from the Popsicle, her tongue sprung to the back of my throat and then snaked all over the inside of my mouth like she was mining the gold fillings out of my teeth. Despite all the tongue wrasslin,' her hands were nowhere near where I wanted them to be.
My dick had been so hard for so long I thought it would blast off like a rocket, but she kept her distance. The teasing was cute at first but enough was enough. I grabbed her hands and planted them on the tent pole in my pants.
She pulled away and took a few steps back.
"You trying to insult me? You think you can have this body for free?" Bunny squeezed her 'lopes together, serving them up for my hungry eyes: "These tits alone cost five bucks to look at."
I chuckled nervously. "C'mon," I go, "quit screwing around."
"I'm totally serious. Five bucks or I'm gone."
I started laughing for real, digging the little swindler. What else could I do but pay up? She had me right were she wanted me.
This was one of those times in a man's life when he knows his dick's doing the brainwork but he doesn't care. Whatever the dick wants, the dick gets. That right there's the whole story of my life.
I plucked a five-spot from my wallet and waved it like a flag of surrender. She just looked at it. "I don't want your money now," she goes. "Pay me later."
"Whatever you say." And I just eased back on the bed to enjoy the show.
She peeled off her T-shirt and out bounced those giant, all-natural juggs. She had razor sharp tan lines from the sling of a skimpy bikini top. You could tell from her nips that the air-conditioning was on full-blast.
Bunny danced around the room, wiggling and shaking everything her momma gave her. I looked her up and down until I could've guessed her weight. She had all the right parts in all the right places and then some.
She neared the bed and leaned over me to let those massive, all-American melons swing inches above my face. "Wanna taste them?" she goes. As if she had to ask.
I lifted my head to suck the tantalizing titties into my mouth, but she snatched them away.
"Five bucks," she goes.
"All right, five bucks."
"Five bucks each, big spender."
"You got it."
"Pay me later," she cooed, and moved closer to bury me beneath her treasure chest. "Mmm," she purred, "you suck real good."
"Damn straight," I mumbled. "You're getting my money's worth."
She only laughed as her fingers spider-walked down to my crotch and unzipped my fly. "You'd like a tit-fuck, wouldn't you?"
It wasn't a question. It was a statement of fact. Some girls are mind readers, but Bunny LaFever was the first dick reader I ever had the pleasure to meet.
"Twenty bucks," she barked.
I was like, "A bargain at twice the price. Pay you later?"
"That's right, bright boy."
We switched places on the bed so that she was on her back. I kicked off my shoes and pulled down my pants and underwear. This dick of mine's got its own zip code and time zone.
When she gripped the shaft, her fingers didn't reach all the way around. She was like, "Lucky for you I'm still in my size-is-everything phase."
"Me, too," I said, dropping to my knees to straddle her. My hard-on slipped between her cleavage like a hot dog in its steamed bun. She pressed them together to make the sandwich good and tight as I began my strokes.
I humped her hooters harder to push my dick closer to her succulent mouth. She stuck out her pink tongue and tickled the tip. Back and forth it fluttered over the head.
"There's a freebie," she giggled. "But I won't take one in the mouth for less than twenty."
"How much to swallow?"
She had to think that one over. "Thirty," she answered. "And that's only cuz I like you."
I dismounted and stood beside the bed. She sat on the edge of the mattress to let her mouth get better acquainted with my cock. Her tongue twirled over my shaft until it looked like a monument of polished marble.
She blew me good and slow, repeatedly bringing me to the edge of orgasm and then stopping until the urge melted away.
The build-up felt so good it hurt. I never begged anyone for anything before. But tortured by her talented tongue, I was actually begging for mercy.
After some more tongue lashing, she finally let me fill her mouth. She swallowed, too, and it felt like my whole body was sliding down with it.
You may mod me down but I will troll more then you could possibly imagine. And this time you can't get my real account! AC powa!
Highest score for a similar post so far: 4. Mod this up if you agree.
Please fix the page widening bug. I am prepared to
sacrifice this account to protest against your "it's
not my fault" attitude. You're happy enough to include
workarounds to fix bugs in Mozilla, why not IE?
See, it was fine so long as only -1 accounts widened
pages. Unfortunately, the behaviour of your co-editor
Michael Simms means we have to browse at -1 to see the
truth, as opposed to what you want us to see.
Just think what would happen if everyone had your
attitude... No workarounds, no interoperability... The
Internet would cease to function. Now grow up. Thankyou.
I am waiting to be modslapped. Those in favour who dare, mod this up as a protest against Jamie's childish behaviour.
Thankyou for your time.
Compile all the program at once. Create one file that includes all source files and compile it in one step. Works fine and eliminates duplicate string constants.
-- 1.e4 c6 2.d4 d5 3.Sc3 de4: 4.Se4: Sd7 5.Sg5 Sgf6 6.Ld3 e6 7.S1f3 h6 8.Se6:
Man, I'm starting to suspect that you DON'T LIKE REDHAT. Why don't you use something else?
MM is primarily a C++ front-end guy (when not being a release manager), and the interesting aspects of ICC is mostly in the i32 backend, so ICC is unlikely to be that interesting once MM has time.
I believe ICC use a version of the generic Edison C++ front-end (most good C++ compilers do), which MM is most likely already familiar with.
And since the 3.1 release is now nearly a month behind, due to no fault of Mitchell's, I'm not surprised that he's busy.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
Why was this posted? Totally devoid of any content.
Think of all the innocent electrons wasted!
That's only because a lot of software includes workarounds for broken gcc releases. It doesn't compile anything that uses the sstream header. It compiles a lot of nonstandard code. The 2.95 compiler has several severe problems with its standard library.
Horseshit. Part of the "OSS philosoppy" is that the users have the right to revolt and fork a project when the maintainer drops the ball. gcc shipped a gcc 3.0 release that was (a) late, and (b) too broken to use as the base for a distribution. The fact that the gcc 3.0 series was not fit to be used for a distribution vindicates Redhats decision to fork, IMO. RH need a compiler that can build a number of software packages, and gcc didn't provide that.
gcc 2.96 contained bugs, but so did 2.95. Improving a compiler sometimes results in bugs that weren't there earlier ("regressions"), and we can see examples of this sort of thing in gcc 3.0. There are a number of improvements in gcc 2.96. As someone who writes C++ code, I've observed some important improvements in support for ISO/ANSI C++.
It has been said that if a broken compiler compiles a library the library can be strangely broken and very difficult to debug.
I've got news for you -- all this emotive rhetoric about "broken" gcc 2.96 isn't supported by facts. There are a number of things in gcc 2.95 that are also "broken", and on the balance of it, gcc 2.96 comes out as a somewhat stronger compiler.
On a side note, as far as GCC 3.X not being prime time, for C is surely is, I don't know about the rest, but for C its, as far as I can see, quite useable, stable and reliable with some interesting new optimizations.
Hmmmm... I've had some very wierd bugs pop up with the "interesting new optimisations". Seriously, gcc 3.0 is a tremendous improvement in a number of ways, but there are some fairly show-stopping bugs (including a substantial C++ ABI bug which means that it can't compile KDE correcty) Because of this bug, gcc 3.0 is unsuitable as a compiler for a Linux distribution, and this is why no distributor is going to ship it as the primary compiler.
I think that GNU has been a great force in the world, and to uselessly outpace them or point fingers at them is frustrating and bad for both sides of the camp
It's not "useless" outpacing. gcc 3.0 was late, and the 3.1 release that dealt with the stuff that needed fixing in gcc 3.0 was almost a year later. What Redhat did is released their own derivative version of the gcc 3 CVS that was customised for use as a distribution compiler. gcc 3.0 on the other hand is not useful as a distro compiler.
Programmers ignore in favor of GNU releases. Debian ignores it.
Programmers ignoring Redhat ? Laughable in the extreme. Programmers don't ignore it, but even if they did, it wouldn't matter, because anything that will copmile with gcc 3.0 and gcc 2.95 will compile with gcc 2.96. A number of distributors have included it.
But there was some talk about releasing a 2.95.4 release but that talk fized down now.