This is the public release of the Linux C library 4.4.4. You have to install the source code of 0.99 pl 10 or above to use it. You also need gcc 2.4.5 to use it since libgcc.a is changed. Please don't use gcc 2.5.0 to compile this release since the iostream in this release is not compatible with gcc 2.5.0. You can use the C compiler in gcc 2.5.0. The C++ compiler is ok with libc 4.4.4 as long as you don't use the libg++ 2.4 or any earlier versions, including the iostream. You can get this package under pub/linux/packages/GCC from tsx-11.mit.edu. The file names inc-4.4.4.tar.gz, inc-4.4.1-4.4.4.tar.gz, libc-4.4.4.tar.gz, libc-4.4.1-4.4.4.tar.gz, image-4.4.4.tar.gz and extra-4.4.4.tar.gz. I only make i486 binary versions this time. WARNING: PLEASE READ THEM. 1) You have to install ld.so 1.3 first before libc 4.4.4. 2) There is a new /usr/lib/gcc-lib/i486-linux/2.4.5/specs in image-4.4.4.tar.gz for the 387 control word option. You can do gcc -mieee-fp foo.o to force gcc links libieee.a. Please consult ./sysdeps/linux/i386/ieee.c and for details. 3) You should use BYTE_ORDER to check endian. 4) You should use the patched libg++ 2.4 if you use libg++. This release is compressed with gzip 1.1.2. Please read ChangeLog for details of the bug fixes and changes. The file list: 1. inc-4.4.4.tar.gz The C header files for 4.4.4. cd / gzip -dc inc-4.4.4.tar.gz | tar xvvof - The header files in inc-4.4.4.tar.gz are not complete. You have to install the kernel source for the rest of the header files. Please get the version mentioned at the beginning of this release note. Suppose you install the kernel source at "/foo/bar/src", you should do as root mkdir -p /usr/include cd /usr/include ln -s /foo/bar/src/linux/include/asm . ln -s /foo/bar/src/linux/include/linux . 2. libc-4.4.4.tar.gz Source code for 4.4.4. cd src gzip -dc libc-4.4.4.tar.gz | tar xvvof - 3. inc-4.4.1-4.4.4.tar.gz Change of the header files from 4.4.1 to 4.4.4. cd / gzip -dc inc-4.4.1-4.4.4.tar.gz | tar xvvof - 4. libc-4.4.1-4.4.4.tar.gz Change of the source code from 4.4.1 to 4.4.4. cd src gzip -dc libc-4.4.1-4.4.4.tar.gz | tar xvvof - Please do cd src/libc-linux/sysdeps/linux rm fstatfs.S statfs.S uname.S since there are new fstatfs.c, statfs.c and uname.c. 5. image-4.4.4.tar.gz The static/stub libraries, shared image and crt0.o. To install it, as root do cd /tmp rm -rf ./lib ./usr gzip -dc image-4.4.4.tar.gz | tar xvvof - cp -av ./lib ./usr / cd /lib ln -sf libc.so.4.4.4 libc.so.4 ln -sf libm.so.4.4.4 libm.so.4 6. extra-4.4.4.tar.gz libmcheck.a, libg.a, libc_p.a, libgmon.a and gcrt0.o. To install cd / gzip -dc extra-4.4.4.tar.gz | tar xvvof - 7. ChangeLog Change log for the Linux C library. Please fix the file permissions after you install it. H.J. hjl@nynexst.com 10/17/93 -------- Sat Oct 16 17:46:45 1993 H.J. Lu (hlu@nighthawk) * version 4.4.4 is released. * ./jump/libc/jump.params: * ./jump/libc/jump.params.build: * ./jump/libc.lite/jump.params: * ./jump/libc.lite/jump.params.build: * ./jump/libm/jump.params: * ./jump/libm/jump.params.build: change version to 4.4.4. * : add SYS_modify_ldt and SYS_adjtimex. * : new file. include . * : new file. include . * : add sv_flags. * ./inet/rcmd.c: change the effective uid when checking the users .rhosts. * ./Makefile: Use ./libc.a for __load.o, __setfpucw.o and __fpu_cpntrol.o while making the shared library. Thu Oct 14 15:53:23 1993 H.J. Lu (hlu@nighthawk) * version 4.4.2e is released. * ./jump/libc/jump.params: * ./jump/libc/jump.params.build: * ./jump/libc.lite/jump.params: * ./jump/libc.lite/jump.params.build: * ./jump/libm/jump.params: * ./jump/libm/jump.params.build: change version to 4.4.3. * ./Makeconfig: add LDSO_ADDR and LDSO_ENTRY. very BAD. what if they are changed in ld.so? * ./misc/ldexp.c: add __const. * ./sysdeps/linux/i386/Makefile: add _DLDSO_ADDR=$(LDSO_ENTRY) to CFLAGS. * ./sysdeps/linux/i386/config.h: * ./sysdeps/linux/i386/fixups.h: from ld.so 1.3. Wed Oct 13 13:25:03 1993 H.J. Lu (hlu@nighthawk) * version 4.4.2d is released. * : deleted. * : change __const to const. * : new file. * ./inet/gethstnmad.c: * ./inet/inetprivate.h: patched for resolve+ (?) 2.1.1. * ./sysdeps/linux/i386/__load.c: from ld.so 1.2a. * ./Makefile (realclean): new target. * ./Maketargets (depend): add $(CFLAGS). * : parenthesize the arguments. * : include if __STDC__ is not defined. use __DOTS. * ./crt/crt0.S: * ./crt/gcrt0.S: add "addl $4,%esp" after call __setfpucw (). * iostream/floatconv.C (strtod): modify checking "+" and "-". * ./crt/crt0.S: * ./crt/gcrt0.S: add "pushl %eax" before call __setfpucw (). Thu Sep 9 14:36:01 1993 H.J. Lu (hlu@nighthawk) * version 4.4.2c is released. * : new header file for 387 control word. * ./io/Makefile: fix a typo. * ./Makefile: changes for 387 control word. * ./sysdeps/linux/i386/Makefile: add __setfpucw.c and __fpu_control.c. * ./sysdeps/linux/i386/ieee.c: * ./sysdeps/linux/i386/__setfpucw.c: * ./sysdeps/linux/i386/__fpu_control.c: new files for 387 control word. * ./crt/crt0.S: * ./crt/gcrt0.S: call __setfpucw () to setup 387 control word. * ./sysdeps/linux/Makefile: fix typo. * ./locale/ISO88591-ctype.c: comment out _ctype_info. Mon Sep 6 15:25:10 1993 H.J. Lu (hlu@nighthawk) * version 4.4.2b is released. * ./iostream/stdio/Makefile: * ./iostream/Makefile: * ./Makefile: * ./signal/Makefile: * ./bsd/Makefile: * ./ctype/Makefile: * ./curses/Makefile: * ./cvt/Makefile: * ./dirent/Makefile: * ./grp/Makefile: * ./setjmp/Makefile: * ./locale/Makefile: * ./login/Makefile: * ./malloc/Makefile: * ./misc/Makefile: * ./posix/Makefile: * ./pwd/Makefile: * ./regex/Makefile: * ./yp/Makefile: * ./stdlib/Makefile: * ./string/Makefile: * ./termcap/Makefile: * ./time/Makefile: * ./ufc/Makefile: * ./mntent/Makefile: * ./io/Makefile: * ./rpc/Makefile: * ./inet/Makefile: * ./gmon/Makefile: * ./gdbm/Makefile: * ./sysdeps/i386/Makefile: * ./sysdeps/linux/i386/Makefile: * ./sysdeps/linux/Makefile: * ./sysdeps/Makefile: * ./math/Makefile: * ./compat/Makefile: * ./compat/i386/Makefile: * ./shadow/Makefile: * ./libbsd/Makefile: * ./sbin/lib/Makefile: * ./sbin/crt/Makefile: * ./sbin/Makefile: * ./sstream/Makefile: * ./malloc-930716/Makefile: include "Maketargets". * iostream/floatconv.C (strtod): check "+" and "-". * ./Maketargets: new file. * ./Makeconfig: fix for YP. * jump/libc.lite/jump.funcs: * jump/libc/jump.funcs: add sethost ()/gethostid (). * ./misc/Makefile: add hostid.c. * ./misc/hostid.c: new from Mitchum DSouza * : change BYTE_ORDER to __BYTE_ORDER and XXX_ENDIAN to __XXX_ENDIAN. * ./string/memcopy.h: change #ifdef __XXX_ENDIAN to #if __BYTE_ORDER == __XXX_ENDIAN * ./inet/gethstnmad.c: check NULL pointers. Sat Aug 21 12:30:04 1993 H.J. Lu (hlu@nighthawk) * ./jump/libc.lite/jump.funcs: commented out YP functions. * : * : * : * : new files. need new network code. * : renamed from * : linked to ip_tcp.h. * : linked to ip_udp.h. Tue Aug 17 16:07:42 1993 H.J. Lu (hlu@nighthawk) * iostream/floatconv.C (dtoa): check "rve" instead of "*rve". * : "strerr()" -- this should be "strerror()" * : include for LONG_MAX. Sun Aug 15 12:28:32 1993 H.J. Lu (hlu@nighthawk) * version 4.4.2a is released. Sat Aug 14 13:40:44 1993 H.J. Lu (hlu@nighthawk) * : use __const instead of const. * : cleanup. * : cleanup. use __const instead of const. * : use __const instead of CONST. * : remove redundant __P (). * : add __CONSTVALUE in front of math functions. * : use __const instead of CONST. * : change __P(()) to __P((void)). * : add __P () for K&R code. remove the definition of __CONSTVALUE. * : add the definition of __CONSTVALUE. * : add __CONSTVALUE in front of difftime (). Tue Aug 10 14:07:26 1993 H.J. Lu (hlu@nighthawk) * Makefile: don't add LIBYP if it is libc. * Makeconfig: add SHARED for YP. * inet/Makefile: add -DNIS if YP is defined. Mon Aug 9 22:03:15 1993 H.J. Lu (hlu@nighthawk) * FYI, I have no idea if I implement the ISO-8859-1 char set support right. * locale/Makefile: add the ISO 8859 1 char set support. define -DUSE_ISO_8859_1. * locale/setlocale.c: add the ISO-8859-1 char set support if -DUSE_ISO_8859_1 is defined. * locale/ISO88591-ctype.c: * locale/ISO88591_ct.c: * locale/ISO88591_mb.c: new files for the ISO-8859-1 char set support. Sun Aug 8 14:52:29 1993 H.J. Lu (hlu@nighthawk) * : define HZ as HZ iff __STDC__ is defined. * : comment out define `ffs' to `__builtin_ffs' since gcc is broken. * rpc/Makefile: add -fno-builtin since gcc is broken. * gcc/libgcc2.c: add an inline static version of ffs () to _ffsdi2.o. Sat Aug 7 18:30:55 1993 H.J. Lu (hlu@nighthawk) * gdbm/system.h: comment out #define fsync(f) sync();sync() for Linux. Sat Aug 7 15:13:55 1993 H.J. Lu (hlu@nighthawk) * version 4.4.2 is released. * ./TODO: new file. * ./verify.out.libc.so: for 4.4.2. * ./jump/libm/jump.params: * ./jump/libm/jump.params.build: change version to 4.4.2. Fri Aug 6 01:02:21 1993 H.J. Lu (hlu@nighthawk) * jump/libc.lite/jump.funcs: * jump/libc/jump.funcs: change `_exception__3iosi' to `_exceptions__3iosi'. remove `_init_const__12strstreambuf'. change ` ___ls__7ostreamPv' to ` ___ls__7ostreamPCv'. * jump/libc.lite/jump.vars: * jump/libc/jump.vars: change `_not_open_filebuf' to `__DUMMY__". * ./compat/i386/__old_sigjmp.c: renamed from __old_sigsj.c. change it for new . * ./compat/i386/Makefile: change to __old_sigjmp.o from __old_sigsj.o. * ./sysdeps/linux/i386/__wait.c: * ./sysdeps/linux/i386/__wait3.c: * ./sysdeps/linux/i386/__waitpid.c: ajust for new . * ./misc/usleep.c: include . * ./posix/sleep.c: Save errno on entry and restore it before returning. * : from glibc 1.06.4. * iostream/Makefile: * iostream/stdio/Makefile: add target `obj'. * <_G_config.h>: compatible with libg++ 2.4. * : * : * : use the new . * : * : * : include the new . Thu Aug 5 18:02:43 1993 H.J. Lu (hlu@nighthawk) * ./malloc-930716: renamed from malloc-930326 * ./Makefile: malloc-930326 to malloc-930716. * ./malloc-930716/free.c: * ./malloc-930716/malloc.c: * ./malloc-930716/malloc.h: patches from mike@sisters.cs.uoregon.edu. * ./malloc-930716/README: update. * ./malloc/free.c: * ./malloc/malloc.c: * ./malloc/malloc.h: patches adapted from mike@sisters.cs.uoregon.edu. Wed Jul 28 21:21:37 1993 H.J. Lu (hlu@nighthawk) * ./Makefile: * ./Makeconfig: add YP support. from swen@uni-paderborn.de. * ./jump/libc/jump.funcs: ./jump/libc.lite/jump.funcs: add YP functions. * ./jump/libc/jump.ignore: ./jump/libc.lite/jump.ignore: add YP stuff. * ./jump/libc/jump.params: * ./jump/libc/jump.params.build: * ./jump/libc.lite/jump.params: * ./jump/libc.lite/jump.params.build: change version to 4.4.2. * ./pwd/getpwent.c: * ./pwd/getpwnam.c: * ./pwd/getpwuid.c: add YP support. from swen@uni-paderborn.de. * ./pwd/pwdread.c: add YP support. from swen@uni-paderborn.de. use __getline (). * ./grp/getgrent.c: * ./grp/getgrgid.c: * ./grp/getgrnam.c: add YP support. from swen@uni-paderborn.de. * ./grp/grpread.c: add YP support. from swen@uni-paderborn.de. use __getline (). * ./rpc/getrpcent.c: add YP support. from swen@uni-paderborn.de. * ./yp/Makefile: * ./yp/xdryp.c: * ./yp/xdryppasswd.c: * ./yp/yplib.c: new files for YP. from swen@uni-paderborn.de. Sun Jul 25 15:05:35 1993 H.J. Lu (hlu@nighthawk) * ./misc/obstack.c: from glibc 1.06.4. GPL to LGGL. * : from glibc 1.06.4. GPL to LGGL with minor changes. * ./posix/getopt.c: * ./posix/getopt1.c: from glibc 1.06.4. GPL to LGGL. * : from glibc 1.06.4. LGPL. * ./Makeconfig: define _LIBC. Fri Jul 23 22:55:03 1993 H.J. Lu (hlu@nighthawk) * ./jump/libc.lite/jump.funcs: * ./jump/libc/jump.funcs: change __sj_save to sigjmp. * : define _longjmp as longjmp if __FAVOR_BSD is not defined. * setjmp/sigjmp_save.c: Renamed to sigjmp.c. * setjmp/Makefile : Change reference. * (sigjmp_buf): Rename `__savemask' to `__mask_was_saved' and `__sigmask' to `__saved_mask'. * setjmp/sigjmp.c (__sigjmp_save): Change use. * setjmp/siglongjmp.c (siglongjmp): Likewise. * ./libc-linux/misc/__getline.c: new file. * ./libc-linux/misc/Makefile: add __getline.o. * ./libc-linux/grp/grpread.c: use __getline (). * ./libc-linux/pwd/pwdread.c: use __getline (). * ./libc-linux/iostream/PlotFile.C: * ./libc-linux/iostream/PlotFile.h: GPL to LGPL from Per. * : new file. * : from glibc 1.06.4. * : from glibc 1.06.4. * : from glibc 1.06.4 with patches for Linux. Mon Jul 12 19:55:03 1993 H.J. Lu (hlu@nighthawk) * : define FNDEALY as O_NDELAY if it is defined. * grp/initgroups.c: from glibc 1.06.4. [! NGROUPS_MAX || NGROUPS_MAX == 0]: Just return 0 and do nothing. close the file descriptor for /etc/group. * posix/ttyname.c: from glibc 1.06.4. Replace fixed-sized NAME array with static char *NAME and static size_t NAMELEN. Don't check S_ISCHR. Don't hack NAME before the loop. If need more than NAMELEN chars to hold the name, increase NAMELEN to more than big enough and malloc NAME. Save errno in local var SAVE before doing anything; restore it when returning non-error. change dirent structre fields for linux. * misc/ioctl.c: from glibc 1.06.4. Replace function_alias with: [HAVE_GNU_LD]: Use symbol_alias. [! HAVE_GNU_LD]: Write out the function; it must fetch its third arg with va_arg and then call __ioctl. Thu Jul 8 19:02:40 1993 H.J. Lu (hlu@nighthawk) * ./libc-linux/inet/inet_net.c: don't mask out hostid for subnet. * ./libc-linux/regex/regex.c: (re_comp ():) return if *s == '\0'. * ./libc-linux/string/strsignal.c: fix typos in comments. * ./libc-linux/string/strerror.c: check errnum >= sys_nerr instead of just errnum > sys_nerr. * ./libc-linux/posix/execvp.c: root should be able to run anything executable by anyone. * ./libc-linux/iosteram: use iostream in libg++ 2.4. * ./libc-linux/iostream/filebuf.C: filebuf::xspunts () calls streambuf::xspunts () instread of streambuf::spunts (). fix filebuf::open () to allow setting up a filebuf on an open file descriptor for fdopen (). * ./libc-linux/iostream/ioprivate.h: add some defaults for __linux__. * ./libc-linux/iostream/procbuf.h: add _exit_status and exit_status () in procbuf class. * ./libc-linux/iostream/procbuf.C: comment out signal stuff; turn on close-on-exec in parent; use waitpid (); check errno == EINTR; save the exit status of the child. * ./libc-linux/iostream/iomanip.h: in template class iapp, change iapp(ostream& (*f)(istream&,TP)) : _f(f) {} to iapp(istream& (*f)(istream&,TP)) : _f(f) {} * ./libc-linux/iostream/stdstrbufs.C: don't include if defined(_STDIO_USES_IOSTREAM) or defined(USE_FILEBUF). if defined(_STDIO_USES_IOSTREAM) or defined(USE_FILEBUF), don't define stdiobuf-bases objects. * ./libc-linux/iostream/_sbuf.C: aliases for old _cin_sbuf, _cout_sbuf and _cerr_sbuf. * ./libc-linux/iostream/Makefile: remove __flow.o * ./libc-linux/jump/libc/jump.funcs: ./libc-linux/jump/libc.lite/jump.funcs: change the filename of ___underflow and ___overflow from __flow to streambuf. change the filename of sysd-stdio to tempname. * ./libc-linux/iostream/stdio/sysd-stdio.c: removed. * ./libc-linux/iostream/stdio/tempname.c: get ./sysdeps/posix/tempname.c from glibc 1.06.4 and rewrite it based on ./libc-linux/iostream/stdio/sysd-stdio.c. * ./libc-linux/iostream/stdio/Makefile: change sysd-stdio.o to tempname.o.