his is the release of the Linux C library 4.2. You have to install the source code of 0.98 pl5 to use it since fd_set is changed and it needs . You don't have to use 0.98 pl 5 kernel. But 0.98 pl 4 kernel is necessary. You also need gcc 2.3.3 or above to use it. Since kernel now has the 387 emulation, we don't need soft math library anymore. I was told this shared image work with older kernel (newer than 0.97 pl4). I have put libnet.a and librpc.a back into libc.a. Please get the latest binutils.TZ from tsx-11.mit.edu if you cannot get your binaries linked with the shared libraries. Starting with this release, I used a new structure for libraries. The different versions of each library, i.e., static, jump table and classic shared library, are in the same directory, /usr/lib. To illustrate, if the library is named foo, then the static version is libfoo.a. The jump table version is libfoo.sa and the classic version is libfoo.ca. The new `ld', which is in binutils.TZ and on the third disk of the Linux Base System on tsx-11.mit.edu, searches for the jump table library by default. You can overwrite it by adding -static or -nojump to `ld' or 'gcc'. The jump table and classic versions are not compatible with each other. The static library should be used as a last resort. You can rename your old shared libraries, notablely Xfree386, to fit the new scheme. The script should look something like that: ---------- #!/bin/sh cd /usr/X386/lib for l in shlib/jump/* do s=`basename $l .a` mv $l $s.sa done for l in shlib/nojump/* do s=`basename $l .a` mv $l $s.ca done ---------- Please make sure it works right before you run it. You can get them from tsx-11.mit.edu under pub/linux/GCC. The file names are image-4.2.TZ, extra-4.2.TZ, gxx-2.3.TZ, inc-4.2.TZ, jump-4.2.TZ and libc-4.2.TZ. Please read ChangeLog for details of the bug fixes. The file list: 1. image-4.2.TZ The shared images and libraries. To install it, as root do cd /tmp rm -rf ./lib ./usr tar xvvofz image-4.2.TZ cp -av ./lib ./usr / cd /lib ln -sf libc.so.4.2 libc.so.4 If you have an early version of libc.so.4.2 installed, you may have to play with it, like cd /lib cp libc.so.4.2 libc.so.4.2.old ln -sf libc.so.4.2.old libc.so.4 mv libc.so.4.2 foo before you unpack image-4.2.TZ. The iostream is in libc.so.4.2. But you have to use -nojump to use it since the external interface of iostream may change in the future. 2. extra-4.2.TZ libg.a and libc_p.a. To install cd / tar xvvofz extra-4.2.TZ libg.a is very big. I usually do cd /usr/lib ln -s libc.a libg.a since I usually do not debug the C library this way. 3. gxx-2.3.TZ libg++.a, g++-include and genclass. It is libg++ 2.3. To install cd /usr tar xvvofz gxx-2.3.TZ Iostream is in libc.a. To use it, you have to use -nojump or -static in your LDFLAGS. 4. inc-4.2.TZ To use the 4.2 header files, do cd /usr tar xvvofz inc-4.2..TZ /usr/include/asm and /usr/include/linux may be wrong. Please make a right symbolic link to each of them according to your Linux kernel source tree. 5. inc1229-4.2.TZ Change of the header files from 1129 to 4.2. It is in the testing directory. cd /usr tar xvvofz inc1229-4.2.TZ 6. jump-4.2.TZ There is also a file called jump-4.2.TZ for building the shared image for the C library 4.2. Please install image-4.2.TZ first since you need libgcc.a in it. The has been changed a lot thanks to dje@sspiff.cygnus.com (Doug Evans). 7. libc-4.2.TZ The source code of the Linux C library 4.2. 8. libc1229-4.2.TZ Change of the source code from 1229 to 4.2. It is in the testing directory. 9. ChangeLog Change log for the Linux C library. 10. inc-4.2-fix.TZ Some fixed headers failed to make into inc-4.2.TZ but are needed. To unpack it: cd /usr tar xvvofz inc-4.2-fix.TZ Please fix the file permissions after you install it. H.J. hlu@eecs.wsu.edu 01/05/93