The Ada and Fortran supports in the gcc driver binary are added. NOTES: This is a beta software for Linux only. Please send your comments and bug reports to hjl@gnu.ai.mit.edu, amylaar@meolyon.hanse.de and linux-gcc@vger.rutgers.edu only. Please don't send them to any normal gcc mailing lists/news groups. This is gcc 2.7.2.l.1. The only difference from 2.7.2.l.0 is the gcc driver. A patch against 2.7.2.l.0 is provided as gcc-2.7.2.l.0-2.7.2.l.1.diff.gz. CHANGES: 1. libgcc.a is compiled with -fPIC. 2. crtbegin.o, crtbeginS.o, crtend.o and crtendS.o are included. 3. gcc -shared will include -lgcc. Since libgcc.a is compiled with -fPIC, it should be ok. 4. gcc -profile is added, which tells gcc to link with -lc_p instead of -lc. This release is UNTESTED and may contain new bugs. Please try it on as many packages as you can. I will test it on XFree86 3.1.2Db, libc 5.3.5, binutils 2.6.0.10, gdb 960308 and libg++ 2.7.1.4. 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 linux gcc beta ftp site is ftp://tsx-11.mit.edu/pub/linux/packages/GCC/private/hule Please don't mirror it unless you get permission from me. Thanks. This is the Linux only release of gcc 2.7.2.l.1. It is based on the gcc 2.7.2 release plus the gcc-2.7.2-2.7.2.0.l.diff.gz patch provided by J"orn Rennecke (amylaar@meolyon.hanse.de). The full source code is gcc-2.7.2.l.1.tar.gz. This Linux only gcc release fixed most of known bugs in gcc 2.7.2, including the strength-reduce bug. This release is intended only for Linux, especially Intel x86. Please DON'T send any bug reports to the normal gcc mailing list/news groups. All the bug reports should be directed to hjl@gnu.ai.mit.edu, amylaar@meolyon.hanse.de and linux-gcc@vger.rutgers.edu only. I have moved the g++ header files to /usr/include/g++. The file list 1. gcc-2.7.2.l.1.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.l.1.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 To use libg.a for debugging instead of libc.so/libc.a, please use -ggdb. To use libc_p.a for profiling instead of libc.so/libc.a, please use -profile. H.J. hjl@gnu.ai.mit.edu 03/13/96