The Ada support in the gcc driver is added. NOTES: This is a beta software. Please send your comments to linux-gcc@vger.rutgers.edu only. From Doug Evans : Just a friendly reminder not to report bugs in snapshots to bug-gcc or bug-g++. They are for true releases only (snapshots are just work-in-progress). Report bugs to this list. hjl and others can forward them on as necessary. The point is don't report bugs in snapshots to bug-gcc or bug-g++. Also keep in mind that snapshots by definition are buggy and/or incomplete. That's what "work in progress" is. They're made available so developers and testers can keep up to date and catch any introduced bugs. Starting from this release, ix86-*-linux* will mean to configure gcc for Linux running ELF. To configure gcc for a.out, which should be only used for compiling kernel and modules, please use i486-linuxaout. You also need a new set binutils which supports both ELF and a.out. The Linux binutils 2.6.0.2 or above must be used for this release. You can get it from tsx-11 under pub/linux/packages/GCC. CAVEATS: 1. When you put extern inline foo (....) { ....... } in a header file, gcc may not inline foo () even if you include the header file and use -O. It is documented in the gcc manual. 2. The ANSI C++ draft changed the for () scope: for(int i=0; i < 4; i++); i = 1; no longer works by default. Please use -fno-for-scope if you want. BUGS: 1. There are some x86 bugs in this release. typedef unsigned short u_short; ---foo.c-- static int foo( u_short *bx, u_short *cx, u_short *dx ) { u_short error; __asm__ __volatile__( \ "nop\n\t" \ : "=a" (error), "=b" (*bx), "=c" (*cx), "=d" (*dx) \ : "0" (0x530a), "1" (1), "2" (2), "3" (3) \ : "ax", "bx", "cx", "dx", "si", "di", "bp", "memory"); return 0; } int main( void ) { u_short bx, cx, dx; bx = cx = dx = -1; foo( &bx, &cx, &dx ); printf ("0x%x, 0x%x, 0x%x\n", bx, cx, dx); } ----foo.c-- The correct output should be # gcc -O3 foo.c # a.out 0x1, 0x2, 0x3 This program may be miscompiled with -O0, -O1 and -O2. -O3 seems ok. There is an ELF paper, elf.ps.gz, on the ftp sites. You should read it if you want to write applications/libraries in ELF. Some ELF related WWW pages: 1. http://www.intac.com/~cully/elf.html 2. http://sable.ox.ac.uk/~jo95004/elf.html The primary ftp sites for the compiler/C library are tsx-11.mit.edu under pub/linux/packages/GCC and sunsite.unc.edu under pub/Linux/GCC. This is the ELF binary release of the gcc 2.7.2 release. It is based on the gcc 2.7.2 release plus the gcc-2.7.2-linux.diff.gz patch. You should use the Linux kernel 1.1.25 or above for the ELF binaries. The Linux C library 4.7.5 (a.out) or above is required for generating the a.out binaries and 5.2.15 (ELF) or above is also required to generating the ELF binaries. I have moved the g++ header files to /usr/include/g++. The file list 1. gcc-2.7.2.bin.tar.gz In ELF and generate ELF binaries. gcc, g++, cpp, cc1, cc1plus, cc1objc, protoize, unprotoize and version dependent header files. Object C, protoize and unprotoize are untested. Also binaries in ELF and generate a.out binaries. cpp, cc1, cc1plus, cc1objc and version dependent header files. Objective C stuff is untested. To install gzip -dc gcc-2.7.2.bin.tar.gz | tar xvvf - BTW, please fix the file permissions and ownerships if necessary. To generate ELF binaries, please do gcc or gcc -b i486-linux To generate a.out binaries, please do gcc -b i486-linuxaout H.J. hjl@nynexst.com 11/29/95