Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

GCC 4.1 Released

Posted by CowboyNeal on Thu Nov 24, 2005 10:07 PM
from the compile-that-compiler dept.
Luineancaion writes "Looks like GCC 4.1 has been released. From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system. Thanks to everyone that worked on it, and keep up the good work!"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • But... (Score:5, Funny)

    by brilinux (255400) <{kg4qxk} {at} {arrl.net}> on Thursday November 24 2005, @10:09PM (#14110657) Homepage Journal
    But I just finished compiling 4.0...

    • Re:But... (Score:5, Funny)

      by digidave (259925) on Friday November 25 2005, @12:14AM (#14111203)
      "But I just finished compiling 4.0"

      You should have compiled it using 4.1. It's *much* faster.
        • Re:But... (Score:5, Informative)

          by strider44 (650833) on Thursday November 24 2005, @10:33PM (#14110776)
          You're making too much of this. Between 4.0 and 4.1 isn't that big-a change. The only reason why it took so long for many distros to move between 3.3 and 3.4/4.0 was the change in the binary interface between the compilers. In other words a program compiled with 4.0 couldn't link to a library compiled with 3.3. There isn't this restriction between 4.0 and 4.1 so there's no reason why it can't go into the repositories straight after testing.
            • Re:But... (Score:3, Informative)

              by strider44 (650833)
              No actually that's wrong, if only slightly. GCC 3.3.* and below use a different C++ ABI to GCC 3.4, 4.0, and 4.1. Even Debian has upgraded from GCC 3.3 to GCC 4.0 so an incremental version upgrade shouldn't be too much of a deal.
  • Home depot (Score:5, Insightful)

    by Stevyn (691306) on Thursday November 24 2005, @10:13PM (#14110674)
    Most people who program, myself included as an engineering student, probably take this for granted, but GCC is like having a Home Depot down the street that gives their stuff away. For no cost, anyone can use these tools to create just about anything they want. It's pretty amazing, and fitting for Thanksgiving to show some appreciation, that we all have access to these incredible tools for free.
    • Re:Home depot (Score:5, Informative)

      by Lisandro (799651) on Thursday November 24 2005, @10:37PM (#14110796)
      GCC is an impressive piece of software - either considered asopen source or in general. A lot of people preffer more "serious" C/C++ compilers, like Intels', but it's a remarkably good compiler by itself, very fast, produces stable and well optimized code AND it is available for every platform you could dream of developing on. Ah, and constantly improving support for other languages (specially Java) is a nice perk aswell :)

          It's safe to say that if we have a healthy OSS community, is because of the great developing tools available on OSS platforms. GCC is a strong contender for that crown, IMHO.
      • Re:Home depot (Score:5, Interesting)

        by Billly Gates (198444) on Friday November 25 2005, @12:32AM (#14111260) Homepage Journal
        I saw some benchmarks a few months ago that closes the gap in performance in c/c++ performance with gcc/g++ 4.0 and the Intel compilers.

        Intel wrote them when gcc2.95 was still out and c++ performance was not that good nor was it truly modern ansi compliant by the iso. For example things like the STL were merely emulated and performance for non x86 cpu's was behind too.

        With gcc3.x and now gcc4.x its fully caught up in almost all area's. Its nice now to have a nice c/c++ compiler for the alpha and mips processors that produce fast code.

        I wonder if the rise of Linux and Free software is what made the compilers catch up?

        By the way the Intel compiler is still the way to go for Fortran.
      • Re:Home depot (Score:4, Insightful)

        by hackstraw (262471) * on Friday November 25 2005, @12:49AM (#14111318) Homepage
        it's a remarkably good compiler by itself, very fast, produces stable and well optimized code AND it is available for every platform you could dream of developing on.

        Yes, gcc is a great compiler, but it is not as good as a commercial compiler like Intel's, or PathScale's, or the Portland groups' or another compiler that is designed for a specific platorm.

        I use it by default on my Itanium, Alpha, x86, and SPARC systems, but when performance matters, I go for one that is better optimized.

        The most grateful aspect of gcc to the world is that Linux would be impossible without it. And that in itself is enough. I learned C from using gcc, and like I said, I use it daily, but it is not the best performing compiler on the block. It is not uncommon to get up to 100% speedup using an optimized compiler for the platform over gcc, but for portability and familiarity of the compiler across platforms (which is its purpose), it is damn good. Especially when many vendors do not provide a C/C++ compiler for their OS without extra charge.

        Thank you GNU and the gcc people.
          • Re:Home depot (Score:5, Interesting)

            by macshit (157376) * <miles@@@gnu...org> on Friday November 25 2005, @05:06AM (#14112018) Homepage
            As for the compiler itself, yes, it's not the best of the bunch, but that doesn't mean it's any bad either (quite the opposite!). Intels' compiler, for example, still beats it for performance (at least the last few times i tried it), but i could live happily with GCC alone.

            I've spent quite a bit of time hacking on gcc, and I'd say my biggest complaint is that a lot of the gcc code really sucks. It's chock full of gigantic impossible-to-understand chunks of code -- few comments, huge numbers of global variables, an "enumerate every case I could think of with 25 page if-statements" coding style, vast numbers of unwritten assumptions about the way your processor works. That it works at all, never mind as well as it does, is a testament to the dedication of gcc hackers.

            I think a lot of this is historic, and the newer parts of the compiler are much better (and so the overall code quality is slowly improving as old code gets replaced), but gcc can still be a real pain to work on. If you're trying to port to an architecture that differs in some way from "typical" architectures, be prepared for misery.
  • Know and love GCC (Score:5, Interesting)

    by JoeShmoe950 (605274) <CrazyNorman@gmail.com> on Thursday November 24 2005, @10:17PM (#14110686) Homepage
    As a developer, I love GCC. Its great, easy, and best of all free. GCC is probably one of the most benifical open source projects around, more important even than linux.
    • by AFairlyNormalPerson (721898) on Thursday November 24 2005, @10:59PM (#14110891) Journal
      GCC is bigger than Jesus!
      • Re:Know and love GCC (Score:3, Informative)

        by kocsonya (141716)
        > I see them more as a symbiosis.
        >
        > Where would GCC be without Linux?
        > Where would Linux be without GCC?

        Well, I was using gcc way before Linux hit the streets. Gcc and the GNU tools were the compiler and utility package that you could run on a bunch of systems without much tweaking of your makefiles. The same input created a binary with the same behaviour. So, I think gcc would be alive and well without Linux. On the other hand, Linux was possible because of the availibility of the GNU tools. So
      • Re:Know and love GCC (Score:5, Informative)

        by Per Abrahamsen (1397) on Friday November 25 2005, @03:20AM (#14111707) Homepage
        Eh, GCC was the default compiler for several platforms before Linux existed, and was the prefered compiler for cross-compilation to embedded platforms, and for software that ran on a wide range of platforms. It was also the preferred compiler for ANSI C (GCC got support for ANSI C very early).

        In other words, GCC would be exactly where it is today, had it not been for Linux.
        • Re:Know and love GCC (Score:5, Interesting)

          by DrXym (126579) on Friday November 25 2005, @06:10AM (#14112210)
          In other words, GCC would be exactly where it is today, had it not been for Linux.

          I doubt that. GCC was seriously stagnated way before 2.95/3.0 (hence the reason egcs appeared for a while) and was no match at all compared to various commercial compilers. Linux was about the only popular OS which *needed* a modern gcc and thus most of the development came from Linux stakeholders - Red Hat etc. Without Linux I fully expect that the compiler would be an also-ran by now, along with most commercial Unices.

          • egcs (Score:4, Informative)

            by Per Abrahamsen (1397) on Saturday November 26 2005, @02:22AM (#14117550) Homepage
            The one thing that is correct is that the official gcc was growing stagnant. But that was due to the official maintainer, who was (and is, he still contribute to gcc) a great compiler engineer, but a poor free software project leader. The majority of the work was done by Cygnus Support, whose customers were mostly in the embedded arena. Cygnus then decided to open up development based on their own branch, under the name egcs (and with an understanding from FSF), in order to involve more people in the development. It became a huge sucess, and the egcs branch became the official FSF branch.

            The biggest contribution from Linux may be that Linux (together with the favorite /. hate-object, ESR's, Cathedral and Bazaar paper), served as an inspiration to move away from the traditional relatively closed FSF style of maintainership.

            Today, SUSE makes good contributions. So does Red Hat, although it is hard to see which part of those contributions come from the old Cygnus part of the company (Red Hat bought Cygnus during the .com boom, and showed their first profit right after, most of their listed "wins" were in the old Cygnus business area). But the maintainer is from CodeSourcery, who does contract compiler work in a rather wide area. And the main contributor may, somewhat ironically, be Apple, it is certainly their email adress I see most on the developer list. Other than that, HP, IBM and Intel contribute a lot.
  • by ReformedExCon (897248) <reformed.excon@gmail.com> on Thursday November 24 2005, @10:19PM (#14110702)
    You'd never know it by the link provided that there was anything special about this release.

    I am interested in how well it supports ARM5, seeing as how it was dropped as the recommended compiler for certain platforms.
  • on the java side (Score:3, Interesting)

    by petermgreen (876956) <plugwash.p10link@net> on Thursday November 24 2005, @10:20PM (#14110705) Homepage
    are they using the gcj as chacheing jit (e.g. GCJ run on demand to turn class files into shared objects which are then loaded dynamically) system that was mentioned in one of the papers i read recently or what?
    • Re:on the java side (Score:4, Informative)

      by ghakko (261165) on Thursday November 24 2005, @11:20PM (#14110961)
      The caching JIT has been available since 3.4, but is disabled by default. To turn it on, you'll need to add these switches to your gij command line:

      -Dgnu.gcj.jit.compiler=/usr/bin/gcj -Dgnu.gcj.jit.cachedir=/tmp -Dgnu.gcj.jit.options=-O2

      In practice, this is not a great help because gij and gcj are so slow. You may be able to get much better results compiling directly from Java source to machine code, and then prelinking the resulting executables and shared objects to reduce startup time.
  • Java status? (Score:4, Interesting)

    by harmonica (29841) on Thursday November 24 2005, @10:20PM (#14110708)
    From the story: From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system.

    Sounds interesting. Is there any ChangeLog to read? I browsed the gcc and the gcj pages, but I couldn't find anything.
  • by slashfun (831726) <vinson@slashmail.org> on Thursday November 24 2005, @10:20PM (#14110709) Homepage
    For 13 years I have been a professional UNIX administrator, and if I had to pin down the single most influential software that help propel the Open Source revolution, I would name GCC.

    Back in the day the first step in loading up a UNIX workstation with Open Source tools, was to go out and grab a limited precompiled version of GCC, then bootstrap compile an more suitable version, then go to town on compiling all the rest of the goodies that we couldn't live without. We did it so often that it became second nature to go through this process.

    I salute you, makers and maintainers of GCC.
    • by jbn-o (555068) <mail@digitalcitizen.info> on Thursday November 24 2005, @11:11PM (#14110928) Homepage

      Please do take this in the supportive spirit in which it is intended. It's a letter from GCC's initial author, Richard Stallman [com.com] (also founder of the free software movement) to a CNet article author who referred to GCC as an "open source" programming tool.

      Quoting from that letter:

      I appreciate the admiration expressed in your article about upgrading the GNU Compiler Collection [gnu.org], but it erred in describing the program as an "open source" programming tool. I developed GCC as part of the Free Software Movement [wikipedia.org]--so that people can use computers in freedom as part of a community.

      Free software means software that respects the users' freedom. The philosophy of the movement is that users of software should be free to run it, study it, change it, redistribute it and publish modified versions.

      With these freedoms, you're free to engage in cooperative development; you're also free to develop it on your own or to redistribute it unchanged. Describing this as a "philosophy of cooperative development" emphasizes one beneficial consequence of freedom at the expense of freedom itself.

      It was impossible in 1984 to use a computer in freedom, since all the operating systems were proprietary. So I launched the development of GNU, a free Unix-like operating system.

      A Unix-like system must include a C compiler, so I wrote one: GCC. I designed it to handle other languages, also, so that GNU users could use more than one. GCC, like the GNU/Linux operating system in which GCC is a crucial part, exists because of the ideals of the Free Software Movement--the ideals that are forgotten when speaking of open source.

      Of course, this is not a letter from RMS to you or directly pertaining to your article. However, I thought that it was worth mentioning in case people want to tell their friends about the new GCC release. It seems that people who frequent /. go to some length to make sure that they describe Linus Torvalds' initial authorship of the Linux kernel in a manner according to his chosen movement. I thought that the same respect should be due to RMS.

      • Free Software is a subset of Open Source Software, so to say that GCC is Open Source is absolutely correct, if perhaps more general than RMS would prefer.

        You would make the butt of jokes anyone who tried to demand that you call Roma tomatoes "Roma Tomatoes" every single time you referred to them instead of referring to them generally as tomatoes. It simply does not make any difference to anyone what you call them as long as you get the point across that the thing in question falls into a certain group. Yo
        • by jbn-o (555068) <mail@digitalcitizen.info> on Thursday November 24 2005, @11:45PM (#14111099) Homepage
          The philosophical difference RMS describes is quite clear and RMS points it out quite well. The benefits we get from free software are great, but they shouldn't be celebrated at the expense of celebrating the freedom free software gives us for its own sake. You can't "make that group as broad as you want or as narrow as you want" and still convey the same point. People might not know about software freedom, so it's easy to make that mistake without any malicious intent (as I think was the case here). But to set out to refer to programs like GCC—programs written to make software freedom real—in the name of a movement that was built in part to not mention software freedom is ahistorical.
            • So it's wrong to sneak software Freedom in through a back door?

              Free software would be just as free by any other name, but the Open Source movement doesn't work to get people to recognize and cherish software freedom in its own right. RMS is asking people to recognize that his work was done in pursuit of software freedom, not the developmental goals of the Open Source movement. By the way, GCC was initially developed well before the Open Source Initiative existed.

              Open Source Software is software

        • by gnarlin (696263) on Friday November 25 2005, @02:09AM (#14111523) Homepage Journal
          Free Software is a subset of Open Source Software, so to say that GCC is Open Source is absolutely correct, if perhaps more general than RMS would prefer.

          First of all, it is true that if one only goes by the definition of open source [opensource.org] then the GNU compiler collection does fulfill all the conditions of that definition. GCC also fulfills the Free software definition [gnu.org]. Since this software package seems to satisfy both we must therefore look at some other facts to see which group this software appropriately belongs to.

          Who started writing it and for what reason?
          Richard Stallman did so that we could have more freedom. Not because he thought it simply had more technical merit to publish the code. So GCC would not exist if it were not for the philosophical base upon which it was started continues to rely on. GCC was not started because of any open source philosophy.

          What about the name of the software package?
          Humm, it appears to have the GNU name right at the beginning. I thus deduce that it is strongly involved with the Free software movement.

          In the GCC mission statement [gnu.org] it says that GCC is not only a Free software project, but more importanly that one of the main goals is Supporting the goals of the GNU project, as defined by the FSF. Not to mention that the copyright of GCC are kept by the Free Software Foundation.

          You can make that group as broad as you want or as narrow as you want, but there is a happy medium where the label is non-offensive and clear to any and all that hear it .

          First of all, when talking about open source software you are referring to all software that fulfills the open source definition. That is just as specific and narrow as Free software and the free software definition.
          Regarding the non-offensive jib. There is absolutely nothing offensive about free software nor is there anything offensive about open source. Although I feel all warm inside whenever I hear about someone spending their lives work in defending and increasing my freedom in a non-violent manner.

          Regarding the clarity of "Free software", that is something which is only a problem in the english speaking world. In most other languages the word for freed(dom) and the word for free(of charge) are different.
          Open source is not quite as clear to a non insider of the computer idustry. Freedom is something generally a lot more meaningful then "open source(code)", since most people have no idea what source code is nor how it can be more open or closed but do have some grasp of the meaning of freedom. Many people have certainly heard of open source in the media and such but infer no real meaning from it, except perhaps that it "makes your computer go faster or something" (this is something which I have heard many people say when asked about what open source means to them). If you were to ask those same people if they cared about their freedom, I think you would get at least a little more intelligible answers. Going too narrow may provide more information but at a loss of understanding to your audience.

          How can you fail to put across your meaning if you are being as specific, lengtly and clear about your explinations as possible?! This is just nonsense.

          RMS is in error here, but not because he thinks that software designated Free Software ought not be referred to as Open Source software, but because he thinks that anyone cares.

          Well, the government of my country seemed to care enough for the minestry of education to both endorse his visit and our local LUG [rglug.org] (with money and other resources) and to hold a special ministry session were they listened to his recommendations and from that wrote a

        • by hummassa (157160) on Friday November 25 2005, @05:05AM (#14112013) Homepage Journal
          > RMS is in error here, but not because he thinks that software designated Free Software ought not be referred to as Open Source software, but because he thinks that anyone cares.
          More people than you imagine do care.
          I know I do, and I know lots of others do, too.
      • by top_down (137496) on Friday November 25 2005, @03:24AM (#14111730)
        You sound like a Jehovah's Witness citing the bible.

        Here is a list of contributors to GCC: http://gcc.gnu.org/onlinedocs/gcc/Contributors.htm l [gnu.org]

        I would be quite annoyed with all this talk about initial authorship if I had just worked my butt of to get the current release out of the door.

  • Azureus (Score:5, Funny)

    by DavidLeeRoth (865433) on Thursday November 24 2005, @10:21PM (#14110710)
    Azurues can now be used in a 100% free system to download not so free software :)
  • Changelog? (Score:5, Interesting)

    by Theovon (109752) on Thursday November 24 2005, @10:21PM (#14110713)
    No mention of a changelog? If you're going to announce something, it sure would be nice to have a link to a page that explains some interesting stuff about what's new in it. I've tried looking at their wiki, but its 'news' section and its stuff on 4.1 hasn't been updated since like March.
  • by Sheepdot (211478) on Thursday November 24 2005, @10:22PM (#14110717) Journal
    From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system.

    That's good for us, considering that the #1 use of Azureus is to pirate 100% commercial software.
  • by noz (253073) on Thursday November 24 2005, @10:22PM (#14110720)
    I was always angry with Sun touting Java(R)(TM)*** as portable when run-time environments were made available for only a small (albeit popular) set of architecture/operating system pairs. My Alpha running Debian at home and my Alpha running FreeBSD at work were left cold, lonely, and wanting Java; running a subset of Java applications with free software partial implementations. This is a triumph for FOSS.
  • by TwoBit (515585) on Thursday November 24 2005, @10:23PM (#14110724)
    I love GCC, but I lament that its ability to do inlining is rather bad.
    I'm wondering how hard it would be join the project and work on rectifying this.
    • by larry bagina (561269) on Thursday November 24 2005, @10:50PM (#14110847) Journal
      Depends. Did you get an A++ in your graduate-level compiler construction class? Are you willing to spend a couple months (or more) reading through the gcc source code to get an understanding of how all the pieces work. Are you willing to spend a few more months testing your optimizations (mathematically and with source code) to make sure they don't break anything?

      The basics of compilers aren't difficult. 2nd year CS students can understand toy compilers. But gcc isn't a toy compiler, it's a real compiler in the real world dealing with a sometimes crazy language, and even crazier users. If you can write better optimizing code, prove it works, and it doesn't infringe on any patents, submit your code.

  • by rice_burners_suck (243660) on Thursday November 24 2005, @10:26PM (#14110747)
    Well, it's Thanksgiving, so let's give all the good folks in the GCC team a big warm Thanks for all the years of improvement to this centrally important software package. Without GCC, it is doubtful that the free software movement could be taking place at all. And with the improvements that have been added in the last year or two, GCC is getting to the point that commercial software vendors will have to come up with some really innovative ideas to compete with it, even for production of commercial software! In fact, I think all software for the Mac is compiled with GCC 4 and onwards.

    Thanks folks, and happy Thanksgiving.

  • by Dan Berlin (682091) on Thursday November 24 2005, @10:33PM (#14110775)
    I'm not sure what gave the person who submitted the story, or the editor who posted the story, the idea that 4.1 was released, but it isn't. In fact, it was just branched less than a week ago. We haven't even put out an RC yet! Really, it's not out. When it is, you will see something sent to gcc-announce
    • I'm not sure what gave the person who submitted the story, or the editor who posted the story, the idea that 4.1 was released, but it isn't.

      The GCC home page [gnu.org] very clearly states "Current release series: GCC 4.1.0" while below it all the others say "Previous release series" and one at the bottom says "Active development (mainline)." That indicates as clearly as can be which are the old, the current, and the development releases.

      If you are right, and 4.1 wasn't released, then the GCC web page might ne

  • Still not released (Score:5, Informative)

    by lancelott (840771) on Thursday November 24 2005, @10:37PM (#14110797)
    GCC 4.1.0 is not yet out as far as I know. This story is misleading. Just because the site lists 4.1.0 on the front does not mean it is out. Notice that it doesn't have a release date on it.
  • C and Objective-C (Score:3, Insightful)

    by SpinJaunt (847897) on Thursday November 24 2005, @11:17PM (#14110947)
    * The old Bison-based C and Objective-C parser has been replaced by a new, faster hand-written recursive-descent parser.


    I wince at the thought. The sick f*ck(s) deserves a pat on the back and a six-pack at least. Oh and a pay raise.
  • by ghakko (261165) on Thursday November 24 2005, @11:52PM (#14111125)
    GCC 4.1 has not been released yet.

    A modified version of Classpath has been included with GCJ since 3.2.

    Azureus may start in GIJ 4.0, but won't work properly because it relies on parts of the Sun JDK which aren't completely implemented yet in GCJ.
  • Bogus Blathering (Score:5, Insightful)

    by ChaoticCoyote (195677) on Friday November 25 2005, @08:04AM (#14112477) Homepage
    As many have pointed out, GCC 4.1 is actually several months away from release. Slashdot "editors" might want to learn about a concept called "fact checking." I'm disturbed by the amount of GCC bashing in this list. I've never met a perfect compiler, and GCC is far superior to many commercial tools I've used. It provides professional-quality C, C++, Objective-C, Fortran 95 (almost), Java, and Ada compilers for dozens of platforms; the code generation is imprefect, but then again so is most of the code GCC is required to compile! The vile lack of appreciation for GCC simply astounds me -- it is the foundation of Free Software. And it is a fine piece of work that is constantly growing and evolving -- though not as fast as Slashdot's headlines might suggest... ;)
    • by Pr0xY (526811) on Thursday November 24 2005, @11:50PM (#14111114) Homepage
      you make it sound like enforcing strict rules is a bad thing. Really the only bad thing that gcc has done is accept that _broken_ code in the past. The fact that it no longer will compile constructs which are invalid in c and c++ is an improvment. c and c++ are just like any other standard (think html/xhtml and such) and when a compiler accepts invalid constructs it destroys the portability of the code.

      The true ideal is to be able to write code that if it compiles on gcc you can say "i know for certain that this is valid c++". Such a goal is difficult, if not impossible (many things are "implementation defined") but is stilla goal worth shooting for.