Please read all the previous release notes and docs. This release note only covers the new stuffs. This is gcc 2.2 for Linux, which is equivalent to gcc 2.2.1 from the FSF. It is on banjo.concert.net under /pub/Linux/GCC. Gcc 2.3 will support Linux, according to RMS. The FSF has all the files Linux needs. Please get the new binutils.tar.Z, which fixed some bugs in as. From this release, gcc will use the shared lib. That means you have to keep the shared images used by all the compilers you have. I think there is no disk waste here since the benefit of the shared gcc more than offsets the shared libs. Now both 2.2misc.tar.Z and 2.2lib.tar.Z can fit into one 5.25 floppy. Libg++.a is 2.1. You can build it yourself. The source code is available on the GNU ftp site. You may have to hack a little to compile it. Please do not compile iostream and get rid of libg++/src/regex.[cc|h]. Make sure ./libiberty only makes those functions Linux doesn't have. Please send me a note if you are interested. The following bugs in libc.a are fixed. 1. index. 2. sigxxxx return values should be right now. 3. execxxx are taken from glibc.a 1.03. Please check it out. 4. malloc in stdlib.h and malloc.h, when they are included together, they may cause trouble. Can I include malloc.h in stdlib.h and fix malloc in malloc.h? 5. types used in sigsetmask and siggetmask are now sigset_t. 6. signal.h is changed. 7. hypot added to math.h 8. __cpluseplus in setjmp.h 9. prototype of gdbm_open in gdbm.h 10. Per is trying to fix fseek/fwrite with file opened for read and write. 11. dirent.[ch] are fixed such that static memory no longer is used in readdir (). 12. sys/dir.h sys/dirent.h are modified such that there will be a warning when both of them are included. They are also compatible now. 13. __cpluscplus in fnmath.h 14. gets () will only give a warning during linking. 15. wait3 (). 16. is fixed. fputc, fgets and gets are no longer macros. 17. is added in 0.96ap2inc.tar.Z. 18. The return value of clock ticks of the old sysconf () was wrong. It returned 60 instead of 100. 19. The domain errors in the math libraries are improved. 20. bsearch and qsort are fixed for zero element. The following functions are added to libc.a. 1. accept 2. bind 3. bstring 4. connect 5. ftime 6. fchmod 7. fchown 8. ftruncate 9. getpagesize 10. getpeername 11. getsockname 12. getwd 13. ioperm 14. itimer. 15. listen 16. mmap 17. mntent. 18. ntohs/htons 19. ntohl/htonl 20. psignal 21. ptrace 22. setenv/unsetenv 23. sigsetmask 24. siggetmask 25. socket 26. socketpair 27. statfs () and fstatfs (). 28. tell (bsd) 29. truncate 30. usleep 31. vfork 32. wait3() and wait4 (). Gdbm 1.5 is here for X11R5. popen now is based on iostream. I also changed the structure of header files. To install the gcc 2.2, please do this first tar cfz inc.bak.tar.Z /usr/include /usr/g++-include /bin/rm -rf /usr/include /usr/g++-include A new structure of gcc is introduced here. All the static libs are in /usr/lib/gcc-lib/i386-linux/2.xxx and all the shared libs are in /usr/lib/gcc-lib/i386-linux/2.xxx/shared. By default, gcc will search /usr/lib/gcc-lib/i386-linux/2.xxx/shared first, then the static libs. You can turn off the shared libs with "-static". BTW, you can still use the old compiler, xxx, with gcc -V xxx which will use the corresponding shared/static libs for that version. That will make life for X11 easier. The default should be the same as gcc -V 2.2 If you want to keep gcc 2.11c, please read FAQ. For the older version, 2.12d or above, it is done automatically. There is a new file for making the shared images for gcc 2.2, shlib-2.2.tar.Z. Please use that to build the shared libs. In this file, a new naming scheme is used. The shared images will be called "libc.2.2", which I think is better than "libc_v_2_2". BTW, you need awk for inst2.x now. There must be a few bugs. Please let me know if you find any. File list: 1. 2.2lib.tar.Z (cpp, cc1, cc1plus) 2. 2.2misc.tar.Z (header files, drivers, libs, doc, ....) 3. shlib-2.2.tar.Z (making the shared libs for gcc 2.2) 4. libc-2.2.tar.Z (source code for the libs) 6. gcc-2.2.1.tar.Z (patches for compiling gcc 2.2.1) 7. 0.96ap2inc.tar.Z (the kernel header files for 0.96a patch level 2 with ) 8. 0.96ainc.tar.Z (the kernel header files for 0.96a) H.J. hlu@eecs.wsu.edu 06/16/92