The Ada support in the gcc driver is added. 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 since the function is inlined. 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://www.sjc.ox.ac.uk/users/barlow/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. 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++. You should use libg++ 2.7.1.3 or compatible one with this gcc release. 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@gnu.ai.mit.edu 12/01/95