egcs to become gcc 127
An anonymous reader sent us this page (its in
german! Use babelfish) which says that
EGCS has been accepted as the official compiler of the GNU Project
by RMS. I've seen a lot of confirmation of this, but nothing
official on the GNU website.
Anyway, I'm glad to see it. EGCS is a great compiler- it'll
be even cooler once its simply GCC! Update: 04/21 01:26 by J : The GNU website has been updated. The
EGCS steering committee has been renamed, and is now officially in charge of GCC.
Kernel +, Distro ++, Mesa --. (Score:1)
OTOH: compiling Mesa 3d with pgcc leads to incorrect behavior. Haven't tried Mesa with EGCS.
Great! (Score:1)
Does this solve the glibc 2.1 problem? (Score:1)
I assume that this will expedite the (re)release of glibc 2.1? (Or has it been released already - I haven't bothered to check).
RMS doesn't matter (Score:1)
*sigh*
Bullshit! (was: RMS doesn't matter) (Score:1)
gcc & egcs co-existence (Score:1)
You select the version to run using the -V switch; so if you have egcs installed over gcc 2.7.2.3, gcc -V 2.7.2.3 will use the old compiler.
Works fine here.
gcc & egcs co-existence (Score:1)
Here is the babelfish translation: (Score:1)
---
Executive summary? (Score:1)
does gcc support differing calling conventions? (Score:1)
Uh, GNU *MADE* GCC. GNU C Compiler.
"Think about what it would do to windows if everyone started getting windows freeware as source."
It would do nothing important if this happened. Go check out Cygwin. http://www.cygnus.com
3.0: roughly when? (Score:1)
What definition of `near future' is being used here? A few weeks? Something like a month or 2? More than 2 months still? Can anybody tell already?
I have glibc 2.1 and egcs 1.1.2 waiting to be installed over here, but need to find the time to do it. If the `near future' is sufficiently near, I might want to wait for it to come.
--
XEmacs (Score:1)
GTKMacs (Score:1)
Yoda German is. (Score:1)
Can anyone confirm this? (Score:1)
For your first example, that puzzles me. I seem to have read something about characters being (in some cases) considered integers in C, which could be why sizeof('a') returns 2 in C. getch(), getc(), and several other functions return a character as an int with a high-order byte of 0. C++ apparently decided to be more sane and report sizeof('a') as being equal to sizeof(char).
For your second example, that's the unavoidable side effect of adding a new commenting style. It's theoretically possible to break some code, as you demonstrated, but if you were doing that in your C code to begin with, you have problems =)
Can anyone confirm this? (Score:1)
Installing both GCC and EGCS packages (Score:1)
I've done this on my Alpha at home (Red Hat Linux 5.2, kernel 2.2.3, glibc 2.0). As far as installation goes, be certain not to use the "-U" switch, and do use "-force" to cause it to over-write duplicates (e.g. /usr/bin/gcc).
Of course, you will also have to install the support packages, e.g. libstdc++.
The only thing of which you need to be careful is using the correct libraries with the correct compiler. For example, if you have both EGCS 1.0.3 and EGCS 1.1.2 installed, and you want to use EGCS 1.0.3 instead of the default 1.1.2, you'll need to tell the compiler to use the older library files (with -l and -nostdlibs or something like that).
I've got GCC 2.7.2.3, GCC 2.8.1, EGCS 1.0.3, and EGCS 1.1 on my Alpha. I used to use the older compilers to build kernels or programs that depended on certain compiler/library bugs. I haven't run into a show-stopper yet. If you have any problems setting this up, feel free to send me an email.
Rev. Dr. Xenophon Fenderson, the Carbon(d)ated, KSC, DEATH, SubGenius, mhm21x16
XEmacs (Score:1)
I wouldn't hold my breath--rms seems to hate XEmacs and those involved with it with an unholy passion. I have a love-hate relationship with it myself (though I use it every day).
-Doug
XEmacs (Score:1)
-Doug
Executive summary? (Score:2)
They are basically the same system (backend compiler engine with frontends for C, C++, Objective-C, F77 etc). EGCS was started by taking the current version of GCC and forking it with a 'bazaar' rather than 'cathedral' model. As a result it's progressed a lot faster in both stability and features.
The reason you hear a lot about EGCS in relation to C++ is that it's a much better and more modern C++ compiler than GCC.
-Doug
Incredible good news (Score:1)
...says my electronic copy of the standard.
OG.
XEmacs (Score:1)
EGCS does have internals docs (Score:1)
It really isn't that tough though...I've been modifying EGCS to support some new instructions on the Motorola ColdFire(a m68k derivative). My changes which include a couple of new target switches were restricted to 4 files. m68k.h, m68k.md, m68k.c and m68k-none.h in gcc/config/m68k
When you start digging into it it isn't that bad....I'm a Windows Pascal/Delphi programmer and I figured it out
Incredible good news (Score:1)
egcs vs gcc (Score:1)
s/Human/German/; (Score:1)
--
Man is most nearly himself when he achieves the seriousness of a child at play.
yes, it's true; egcs is gcc. Some details (Score:1)
If this doesn't justify a new major version number, nothing does.
egcs vs gcc (Score:1)
Among the things I notices were that executable times/preformance for binaries created with these compilers were almost identical, BUT, the thing that suprized me most was that the binaries were about 15-25% larger when created with egcs.
Anyone else noticed this, or any other quirks about egcs?
Good news for Stampede GNU/Linux (Score:1)
Having the pentium-optimized compiler integrated into the default would help a lot as we wouldn't be stuck using slow-ass i386 binaries on our Pentiums/K6s.
Human Translation (Score:2)
The free GNU C/C++ compiler has a successor. The development of the replacement has been dragging along for quite some time now. The head of the GNU project Richard Stallman has now decided that, in the future, egcs shall be the official copiler of the GNU project.
The developers are trying to reintegrate the different improvements on gcc. Among these are the Fortran Frontend g77 and pgcc, which is optimized for the Pentium instruction set. More information at http://egcs.cygnus.com/
Thanks to the egcs people and the FSF (Score:1)
Thanks to the GNU contributors for the GNU C/C++ compiler, the fundamental tool and the MOST IMPORTANT FREE SOFTWARE in the world.
CPU name (Score:1)
name for a k6 linux - like i586-pc-linux-gnu but amdk6-pc-linux-gnu ???
Most likely not (yet). All AMD chips are fairly comparable to their Intel counterparts. The i586, i686, etc. CPU names still are 386-only instructions by default; there's really not much difference between them, so making another AMD branch would be pretty silly. I haven't paid too much attention to the K7, but it would seem that there would be enough differences in the architecture to warrant a new branch. I wonder if one would have to do some sort of Canadian Cross to compile a K7 (or IA64 for that matter) with an i386 gcc (assuming you're doing it from source).
As for your wanting -mamdk6 with the kernel, you could try forcing CFLAGS:
make CFLAGS="-mamdk6 -O6 -fomit-frame-pointers -fi-0wn-you" bzImage
If that doesn't work, you could always change all the Makefiles; can you run sed recursively?
Executive summary? (Score:1)
XEmacs (Score:1)
So can linux 2.2 compile with egcs now? (Score:1)
Looks like another long-awaited change that will (hopefully) make it into RH 6.0
--Lenny
//"You can't prove anything about a program written in C or FORTRAN.
It's really just Peek and Poke with some syntactic sugar."
RMS doesn't matter (Score:1)
Chill (Score:1)
Does this solve the glibc 2.1 problem? (Score:1)
This should solve the "political issue" indeed. glibc2.1 isn't on ftp.gnu.org yet, but then again, there hasn't been an official announcement from the FSF blessing EGCS as the one true gcc yet.
Good news (Score:2)
As one of the co-maintainers of the Debian EGCS packages, I'm extremely happy about this. I've found the EGCS developers quite responsive about bug reports, and often found bugs in release versions to be fixed in snapshots already.
Executive summary? (Score:4)
What this meant in practice, was that EGCS advanced rapidly, and has succeeded in reintegrating most of the separate GCC development communities (C++, Ada, Fortran, Pascal, Pentium optimisations) with major improvements (Haifa scheduler, integrated testsuite, much closer to C++ standard).
Two cheers... (Score:1)
Here is the babelfish translation: (Score:1)
Eh, Bumbled for Babel Fish sure.
Here is the babelfish translation: (Score:2)
Separation for GCC in view The free GNU C/C++ compiler GCC got a successor. The development of the compiler/translator had sluggishly run already for some time. GNU boss Richard Stallman decided now that egcs in the future the official compiler of the GNU project will be. Its developers try to integrate different advancements of the GCC again into a product.
In addition among other things FORTRAN-FRONT-ENDS g77 belongs and particularly on Pentium operations optimized pgcc. closer information gives it with
http://egcs.cygnus.com
Gravitational laws apply... (Score:1)
a centrifugal force in the world of open code,
code reunification is the living proof that there
must be an attractive force too.
BTW, what about anti matter, black holes, super novae?
--
Cross support (Score:1)
/dev
Executive summary? (Score:2)
Does gcc do things that egcs doesn't, or is it just inertia that keeps people using gcc? In theory you don't need a C compiler, right? A C++ compiler ought to be able to compile all your C source code.
So can linux 2.2 compile with egcs now? (Score:1)
Finally no more gcc 2.7.2 (Score:1)
the current kernel still seems to have problems with the egcs compiler (or the other way around). one hopes that those buglets will be squashed.
yes, it's true; egcs is gcc. Some details (Score:1)
Why? Is there really any reason to jump the major version number, besides the clashing minors? (EGCS uses minors in the range of > 89, i.e. 2.91.?)
valid reason for the version jump (Score:1)
So can linux 2.2 compile with egcs now? (Score:1)
I've been compiling my kernels with egcs and pgcc since the 2.1.* series. I haven't come across any problems, although officially the pgcc maintainer doesn't advocate the use of pgcc to compile Linux.
There is also some bad blood between the compiler and kernel crowd over who is resposible for the quirks that plague egcs/kernel 2.0.* builds.
I don't know enough about the egcs/pgcc code or compiler code to comment on who is right in all this, but I wish they'd work together on this.
Apparently Linus said some inflammatory remarks about possible bugs in the compiler code, while the compiler people maintain that it's down to bad kernel code.
Despite the official pgcc position (as espoused on the mainling list), I will continue to build my kernels with pgcc on Intel boxes and egcs on my Sparc.
Chris Wareham
Intel and Cygnus (Score:1)
Not sure about the involvement of Intel with the Gygnus/egcs team, but I can comment on the Pentium optimisations in pgcc. The differences between pgcc and egcs are gradually fading, as more of the optimisations are folded into the latter.
Chris Wareham
Excellent news (Score:2)
Chris Wareham
Excellent news (Score:1)
good news for the timid (Score:1)
Kernel +, Distro ++, Mesa --. (Score:1)
egcs vs gcc (Score:1)
People in contact (Score:1)
ago in com.emacs.xemacs (which I actually started
IF it will happen, it will take quite a long time, I think (the more I'm involved the longer the time *g*). Go and read the archived NGarticles at
http://www.xemacs.org/list-archives/xemacs/
regards
kampi
RMS matters (Score:1)
RMS is the original author and designer of gcc. The egcs steering committee thinks he matters very much, which is why we worked to satisfy his concerns. Certainly he's stubborn and doctrinaire, and at times is not the easiest person to get along with.
But even if you don't think all software should be free, there's a lot more free software in the world because of RMS's advocacy (and don't forget the considerable amount of software he wrote himself).
pgcc still separate (Score:1)
yes, it's true; egcs is gcc. Some details (Score:1)
Three new languages: Fortran, Java, and Chill. There's also been some work to integrate GNU Pascal, though that's still not in the tree.
We talked about using "gcs" for the name, it's no longer a C compiler. But people know the name "gcc". Think of it as standing for GNU Compiler Collection.
No final decision has been made about the version number, but when we were talking about starting egcs, some folks wanted to call it gcc3 immediately (but this would have pissed off a number of folks so we didn't do it).
3.0: roughly when? (Score:2)
No final decision has been made as to whether the planned egcs 1.2 will come out as egcs 1.2 or gcc 3.0 or gcc some other number.
Also, June is not a promise: it will come out when it is ready.
yes, it's true; egcs is gcc. Some details (Score:4)
As a member of the egcs steering committee [cygnus.com], which will become the gcc steering commitee, I can confirm that yes, the merger is official ... sometime in the near future there will be a gcc 3.0 from the egcs code base. The steering committee has been talking to RMS about doing this for months now; at times it's been contentious but now that we understand each other better, things are going much better.
The important thing to understand is that when we started egcs, this is what we were planning all along (well, OK, what some of us were planning). We wanted to change the way gcc worked, not just create a variant. That's why assignments always went to the FSF, why GNU coding style is rigorously followed.
Technically, egcs/gcc will run the same way as before. Since we are now fully GNU, we'll be making some minor changes to reflect that, but we've been doing them gradually in the past few months anyway so nothing that significant will change. Jeff Law remains the release manager; a number of other people have CVS write access; the steering committee handles the "political" and other nontechnical stuff and "hires" the release manager.
egcs/gcc is at this point considerably more bazaar-like than the Linux kernel in that many more people have the ability to get something into the official code (for Linux, only Linus can do that). Jeff Law decides what goes in the release, but he delegates major areas to other maintainers.
The reason for the delay in the announcement is that we were waiting for RMS to announce it (he sent a message to the gnu.*.announce lists), but someone cracked an important FSF machine and did an rm -rf / command. It was noticed and someone powered off the machine, but it appears that this machine hosted the GNU mailing lists, if I understand correctly, so there's nothing on gnu.announce. I don't know why there's still nothing on www.gnu.org (which was not cracked). Why do people do things like this?
does gcc support differing calling conventions? (Score:1)
does gcc support differing calling conventions? (Score:1)
Here is the babelfish translation: (Score:1)
C++ is not (a superset of) C (Score:1)
So can linux 2.2 compile with egcs now? (Score:1)
Pgcc has another problem in that many of the Pentium optimizations in pgcc are NOT crossplatform and need to be totally rewritten to be merged into egcs - some are done , but alot remain to be rewritten
egcs vs gcc (Score:1)
Try compiling your C code with -lstdc++
- Amit
Executive summary? (Score:1)
The problem is that C++ isn't a strict superset of C. There are some things you can do in C (but shouldn't in new code) that aren't legal C++.
CPU name (Score:1)
"GNU-free" Linux up a creek? :) (Score:1)
My heart is breaking for them. Really.
Executive summary? (Score:1)
pgcc kills config.guess ;-) (Score:1)
Since then, config.guess of each and every source package using configure bails out. "Can't determine host type" or the likes.
I've been adding "--host=`uname -m`-`uname -s | tr [A-Z] [a-Z]`" to my *.spec files, but that's stupid. Any suggestions?
pgcc kills config.guess ;-) (Score:1)
Can anyone confirm this? (Score:1)
It depends. It's just that it's the same
as sizeof(int).
There's a reason for this. In C, 'a' is an int,
and you can do hacky stuff like 'abcd' on some
platforms and expect to get results. C++ changed
it so you could overload functions to take char
arguments and get the results you expected.
C++ was not intended, as of a fairly long time
back, to be a perfect superset, just to be "fairly
compatible".
C++ *will not* include the C9X features, which,
for me, means that C9X will be the one I use,
because C++ is a lot uglier.
(Disclaimer: I just might be a little
biased.)
Or not (Score:1)
pgcc still separate (Score:4)
gcc-2.7.2.x: Required for Linux 2.0.x kernel builds due to bugs in the kernel code, and possibly more stable for some 2.2.x kernels, though it is less clear whether that is due to the kernel or the other compilers. Though it includes various front ends, generally it is only used for C anymore.
gcc-2.8.x: A major upgrade to gcc; the "standard" gcc. Like always, includes C, C++, and other front ends.
egcs-1.1.2: The actively-developed gcc spinoff. This is generally regarded as being superior for C++ and every bit as good for C as gcc-2.8. For most people, this is a total replacement for gcc-2.8.
pgcc-1.1.x: This is an egcs spinoff, with active development on various compiler optimizations, particularly emphasising Pentium-specific improvements. Because optimization is about as deep into the arcane black arts of compilers as you can get, it is not surprising that pgcc is believed to be less stable than egcs. However, some of the more solid optimizations have been integrated into egcs. Think of it as the "Really Experimental EGCS."
So the upshot of all this is that we can scratch gcc-2.8 from the above list soon. My guess is that the FSF will release a new gcc-2.8 identical to the latest egcs, and egcs will either continue development separately from gcc (with occasional releases of gcc based on the egcs updates), or that egcs will simply be renamed gcc.
We will still need 2.7.2.x for anyone keeping up with 2.0.x kernels. We still might want pgcc for optimizing x86 code. We still want egcs/gcc for compiling things when we don't trust pgcc.
valid reason for the version jump (Score:1)
Here is the babelfish translation: (Score:1)
--
I hope this is good (Score:1)
EGCS had done a lot and it is a great compiler, it has been my main compiler for quite a while and it has been my only compiler since kernel 2.2 came out. I haven't had any problems with it, some of the newer more experimental CVS versions are a little rocky but the release versions are usually pretty stable.
Now what I'd like it better documentation on the compiler, particularly the internals. I've always thought that it was fairly difficult to enhance and contribute to the compilers because none of the internals seem to be documented anywhere. No IR documentation what-so-ever to my knowledge, you just have to look at the source code.
C++ is not (a superset of) C (Score:1)
C and C++ are seperate languages. You do indeed need seperate compilers. Valid C programs can compile into something completely unintended when compiled by a C++ compiler. Granted, most of those C programs are brain damaged to begin with...
Gcc/egcs has completely seperate front-ends for C and C++. That said, they share a common backend code generator (along with FORTRAN, Java, Chill, ObjC, etc). I think they are currently merging some common functionality in the egcs front ends, but the parsers will always remain distinct.
C++ is not (a superset of) C (Score:1)
Developers accepted GNU (Score:1)
This applies to EGCS, too, so GNU is hardly arrogant in accepting this code -- it owns it! In fact, GNU is just giving it an offical stamp of approval and blessing EGCS as the main development branch.
Egcs is only just becoming stable after a long period of development. Remember that the E stands for experimental. Just like in the Linux kernel, it is useful to have a stable branch and a development branch.
does gcc support differing calling conventions? (Score:1)
There is no reason why windows programs can't be supplied in source form. I think closed source shareware and freeware is the reason open source programs haven't appeared to the same extent in the windows world. There is less interest in the source due to the generally non-technical user base, so people are happy with closed source.
why "canadian" ? (Score:1)
Of course, Canada now has five significant parties, so I don't know if that works anymore
Can anyone confirm this? (Score:1)
int main() {
printf("%d\n", sizeof('a'));
}
int main() {
int foo;
foo = 4
+ 1;
printf("%d\n", foo);
}
Executive summary? (Score:2)
Here is a list of new features in egcs 1.1:
Link [cygnus.com]
canadian? (Score:2)
So can linux 2.2 compile with egcs now? (Score:1)
CPU name (Score:1)
Incredible good news (Score:1)
ANSI finally got around to standardizing C++ a few months ago. I'm not sure, but I think most of the holdup had to do with how templates were implemented.
Check out Stroustrup's Third Edition, it covers ANSI C++.
XEmacs (Score:1)
It doesn't look especially hopeful, which is really a shame. Competing projects are all well and good to a point; when they are as similar as gnu emacs and xemacs are, it becomes wasteful.
When xemacs 21.0 comes out (RSN) I'm afraid that I will probably defect from using gnu emacs and switch to it. It's still Free Software, and it has a lot more features. *sigh* I really do want to be loyal to the FSF, but they make it difficult at times.
basic summary (Score:1)
canadian? (Score:1)
You should be using vi! (Score:1)
(Oh dear. I've probably started one of those 16-level deep vi vs. emacs threads, haven't I?)
Why egcs and gcc 2.8 split in the first place (Score:1)
I've also heard assertions that the only reason gcc-2.8 was released as quickly as it was is because of the pressures of the egcs release.
Two cheers... (Score:1)
foundation, and also their page has clearly stated
that eventually everything they did would find
their way back into gcc. Their relations work
both way and mutually beneficial.
RH5.2 has gcc *and* ecgs (Score:1)
g++ is ecgs (1.1.2 ?)
Of course you can use "g++ -x c" to use ecgs for C as well as C++.
Finally no more gcc 2.7.2 (Score:1)