Subject: libc 4.5.8 is on tsx-11
From: [email-masked] (Hongjiu Lu)
Date: 23 Dec 1993 12:13:45 +0200
Newsgroups: comp.os.linux.announce

NOTE: If you miss ONE LINE in this documentation, this library may not
      work for you.

Hi, Guys,

This is the beta release of the Linux C library 4.5.8. You have to
run the kernel and install the source code of 0.99 pl 13s or above to
use it.  You also need gcc 2.4.5 or above.

If your kernel is older than specified, you should install libc 4.5.8
as well as the suitable gcc to compile the new kernel with them first.
While compiling the new kernel, your system should have as few
processes running as possible since some of them may be broken with
libc 4.5.8 and the old kernel. FYI, the compiler stuff should work
with 0.99 pl 13 or above.

You can get this package under pub/linux/packages/GCC
from tsx-11.mit.edu. The file names are inc-4.5.8.tar.gz,
libc-4.5.8.tar.gz, image-4.5.8.tar.gz and extra-4.5.8.tar.gz.

I only make i486 binary versions this time.

WARNING: PLEASE READ THEM OR DONT USE THIS LIBRARY.
 1)	This release of the Linux C library is very strict. It won't
	tolerate any bugs in your applications. So it has exposed
	the "fclose on the same file pointer twice" bugs in mailx
	and pdksh. If you find something is wrong when using libc
	4.5.8, please recompile it with -g and run gdb on it. You
	should set break points in _IO_fclose () and _IO_fopen (),
	then check if _IO_fclose () is called twice on the same
	file pointer.
 2)	In this release, iostream is removed from the Linux C library.
	That means all the previous C++ binaries using iostream linked
	with the shared library will break. The new stdio is based on
	libio in libg++ 2.5.3 with mt bug fixes. See the release note
	of libg++ 2.5.3l.
 3)	libgcc.sa must not be used with libc 4.5.8. You have to
	remove/backup /usr/lib/libgcc.*.
 4)	All binaries using "long long" output in iostream linked with
	the shared library may be broken.
 5)	The shadow library functions are in the Linux C library
	4.5.8, thanks to [email-masked] (Rick Sladkey). Please
	check it out. Peter?
 6)	inet_network () returns the network number and treats the
 	network address as

	a.b.c.d	(with each treated as 8-bits)
	a.b.c	(with each treated as 8-bits)
	a.b	(with each treated as 8 bits)
	a	(with a treated as 8 bits)
 7)	xdm may be miscompiled by early gcc. If it doesn't work with
	this libc. Try to recompile it with gcc 2.5.x (x >= 7) or
	contact [email-masked] for a working binary.
 8)     Most of the binaries linked with the older shared C library
	(< 4.5) which manipulate the FILE* structure directly and
	bypass the stdio, which is a very bad practice in my opinion,
	may not work this release of the Linux C library. They include
	mh and possibly andrew. You have to repatch/rercompile them
	for this libc.

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.5.8.tar.gz

  REQUIRED. It is the header files for 4.5.8.

  cd /
  rm -rf /usr/include
  mkdir -p /usr/include
  gzip -dc inc-4.5.8.tar.gz | tar xvvof -

  The header files in inc-4.5.8.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

  cd /usr/include
  ln -s /foo/bar/src/linux/include/asm .
  ln -s /foo/bar/src/linux/include/linux .
  
  Since some programs need <linux/autoconf.h>, you may have to do
			  
  cd /foo/bar/src/linux
  make config
			       
  before you can compile them.

2. libc-4.5.8.tar.gz
 
  Source code for 4.5.8.
 
  cd src
  rm -rf libc-linux
  gzip -dc libc-4.5.8.tar.gz | tar xvvof -
 
3. image-4.5.8.tar.gz

  REQUIRED. The stub/static libraries and the shared images. To
  install it, as root do

  cd /tmp
  rm -rf ./lib
  gzip -dc image-4.5.8.tar.gz | tar xvvof -
  cp -av ./lib ./usr /

4. extra-4.5.8.tar.gz
 
  REQUIRED. libmcheck.a, libg.a, libc_p.a, libgmon.a and gcrt0.o. To
  install

  cd /
  gzip -dc extra-4.5.8.tar.gz | tar xvvof -

5. ChangeLog

  Change log for the Linux C library.

Please fix the file permissions after you install it.

H.J.
[email-masked]
12/22/93
--------
Mon Dec 13 08:42:36 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.8 is released.

	* pwd/shadow.c: speed up if /etc/shadow doesn't exist.

	* <sys/soundcard.h>:
	* <sys/ultrasound.h>: new files for 0.99 pl14e above.

	* <string.h>: fix typo in comment for strcat ().

	* <sys/cdefs.h>: don't define __CONSTVALUE2 if __STDC__ is
	  not define. 
	   
	* ./libio/stdio/ChangeLog: new entries.

	* ./libio/ChangeLog: new entries.

Sat Dec 11 09:11:55 1993  H.J. Lu (hlu@nighthawk)

	* jump/libm/jump.params:
	* jump/libm/jump.params.build:
	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.8.

	* jump/libc.lite/jump.funcs:
	* jump/libc/jump.funcs: add __IO_default_underflow.

	* <sys/syslog.h>: don't include <stdio.h>.
	  don't pollute the name space with <stdarg.h>.
	  use __gnuc_va_list in vsyslog ().

	* misc/syslog.c: include <stdarg.h>.

	* ./libio/stdio/ChangeLog: new entries.

	* ./libio/ChangeLog: new entries.

Fri Dec 10 08:57:10 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.7 is released.

	* jump/libm/jump.params:
	* jump/libm/jump.params.build:
	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.7.

	* sysdeps/linux/i386/Makefile: make "lib" depend on
	  "libieee" for the static library.

	* locale/setlocale.c: add more features and try to be
	  ANSI C.

	* nls/msgcat-libc.c:
	* nls/msgcat.c: support LOCALE.

	* <locale.h>: define LC_MESSAGES and add it to LC_ALL.

	* <math.h>: 
	* ./jump/libm/jump.funcs: change logp1 to log1p.

	* ./sysdeps/linux/i386/math/log1p.c: renamed from logp1.c with
	  name change.

	* ./sysdeps/linux/i386/math/logp1.c: removed.

	* ./sysdeps/linux/i386/math/Makefile: change logp1.c to
	  log1p.c.

	* ./libio/ChangeLog: new entries.

	* posix/readv.c: return 0 if 0 byte read in.

	* posix/writev.c return 0 if 0 byte to write.

	* <sys/cdefs.h>: clear __CONSTVALUE2 if "const" is defined.
	  clear __NORETURN2 if "noreturn" is defined.

Mon Dec  6 14:39:29 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.6 is released.

	* jump/libm/jump.params:
	* jump/libm/jump.params.build:
	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.6.

	* jump/libc.lite/jump.funcs: enable all the functions in
	  libtermcap.a.

	* inet/inet_net.c (inet_network): treat the network address
	  as
		a.b.c.d	(with each treated as 8-bits)
		a.b.c	(with each treated as 8-bits)
		a.b	(with each treated as 8 bits)
		a	(with a treated as 8 bits)

	* ./libio/ChangeLog: new entries.

	* libio: copy files from libg++ 2.5.2 and apply my fixes.

	* mntent/setmntent.c: change fopen to _IO_fopen.

Fri Dec  3 09:46:56 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.5 is released.

	* jump/libm/jump.params:
	* jump/libm/jump.params.build:
	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.5.

	* gcc/Makefile: add _op_new, _op_delete and _new_handler
	  to LIB2FUNCS.

	* inet/inet_net.c: return the network number.

	* jump/libc.lite/jump.vars:
	* jump/libc/jump.vars: restore ___new_handler.

	* jump/libc.lite/jump.funcs:
	* jump/libc/jump.funcs: restore ___builtin_delete,
	  ___builtin_new, ___set_new_handler and _set_new_handler.
	  add __IO_file_close_it.
	  change "___eprintf" to the type 'T'.

	* ./libio/ChangeLog:
	* ./libio/stdio/ChangeLog: new entries.

	* libio: copy files from libg++ 2.5.2 beta and apply my fixes.

	* <sys/cdefs.h>: don't define const if __USE_BSD is define
	  since __attribute__ uses const.

	* <obstack.h>: change memcpy (src, dest, len) to
	  memcpy(dest, src, len).

	* nls/msgcat.c: catopen() requires either a valid return
	  catalog descriptor or -1.

Mon Nov 29 09:45:31 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.4 is released.

	* gnu/types.h (__promoted_{dev,gid,uid,mode,nlink}_t):
	* fcntl.h, grp.h, pwd.h, rpc/auth.h, sys/stat.h, unistd.h:
	* sys/types.h (promoted_{dev,gid,uid,mode,nlink}_t): undo
	  changes on Nov 27. 

	* jump/libm/jump.params:
	* jump/libm/jump.params.build:
	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.4.

	* sysdeps/linux/i386/math/Makefile: fix typos.

Sat Nov 27 20:39:58 1993  Chip Salzenberg  ([email-masked])
 
	* gnu/types.h (__promoted_{dev,gid,uid,mode,nlink}_t): Define.
	* fcntl.h, grp.h, pwd.h, rpc/auth.h, sys/stat.h, unistd.h: Use.

	* sys/types.h (promoted_{dev,gid,uid,mode,nlink}_t): Define.

Sat Nov 27 20:34:37 1993  Chip Salzenberg  ([email-masked])
 
	* features.h (__extention__): Remove definition.
	* sys/cdefs.h (__extension__): Define.
	  (__NORETURN{,2}, __CONSTVALUE{,2}): Define correctly
	  for all versions of GCC and other compilers.
	* math.h, setjmp.h, stdlib.h, time.h, unistd.h: Use them.

Fri Nov 26 18:55:26 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.3 is released.

	* Makefile: for the shared math library, don't looking for
	  libgcc.sa, use libgcc3.a instead.

	* jump/libm/jump.params:
	* jump/libm/jump.params.build: bump up to version 4.5.3.

	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.3.

	* jump/libc.lite/jump.vars:
	* jump/libc/jump.vars:
	* jump/libc.lite/jump.funcs:
	* jump/libc/jump.funcs: add _endspent, _fgetspent, _getspent,
	  _getspnam, _putspent, _setspent, _sgetspent, _endsgent,
	  _fgetsgent, _getsgent, _getsgnam, _putsgent, _setsgent and
	  _sgetsgent.

	* <pwd.h>:
	* <shadow.h>: changes for shadow.

	* grp/Makefile (SRCS): add gshadow.c.

	* pwd/Makefile (SRCS): add shadow.c.

	* pwd/pwdread.c (__pwdread): if NO_SHADOW is not defined,
	  call getspnam () to get the shadow password on the local
	  machine.

	* string/strsignal.c:
	* nls/Makefile:
	* nls/msgcat.c:
	* nls/msgcat.h:
	* nls/nl_types.h:
	* nls/linux/Makefile:
	* nls/linux/xtract.l:
	* nls/linux/extract:
	* nls/linux/NOTES:
	* nls/linux/README.editing:
	* libio/ioperror.c: changes for NLS.

	* <nl_types.h>: new for NLS.

	* locale/ISO88591_ct.c:
	* locale/C-ctype_ct.c: '\b' is not a white space.

	* gcc/longlong.h: removed.
	* gcc/libgcc1.c: removed.

	* gcc/Makefile (LIB2FUNCS): remove _muldi3, _udivdi3, _umoddi3
	  and _udivmoddi4.

	* ./libio/ChangeLog:
	* ./libio/stdio/ChangeLog: new entries.

Wed Nov 24 15:58:22 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.2 is released.

	* ./Makefile: fix typo.

	* ./libio/ChangeLog:
	* ./libio/stdio/ChangeLog: new entries.

	* jump/libc.lite/jump.funcs:
	* jump/libc/jump.funcs: remove __IO_file_close_it.

	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.2.

Tue Nov 23 01:09:06 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5.1 is released.

	* ./libio/ChangeLog:
	* ./libio/stdio/ChangeLog: new entries.

	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.1.

	* jump/libc.lite/jump.vars:
	* jump/libc/jump.vars:
	* jump/libc.lite/jump.funcs:
	* jump/libc/jump.funcs: change "___eprintf" to the type
	  't'.

Sun Nov 21 22:55:43 1993  H.J. Lu (hlu@nighthawk)

	* version 4.5 is released.

	* <_G_config.h>:
	* <libio.h>:
	* <stdio.h>: new header files from the new libio-based
	  stdio.

	* jump/libc.lite/jump.params:
	* jump/libc.lite/jump.params.build:
	* jump/libc/jump.params:
	* jump/libc/jump.params.build: bump up to version 4.5.

	* jump/libc.lite/jump.vars:
	* jump/libc/jump.vars:
	* jump/libc.lite/jump.funcs:
	* jump/libc/jump.funcs: new for the libio-based stdio.

	* jump/libc.lite/jump.vars.iostream:
	* jump/libc/jump.vars.iostream:
	* jump/libc.lite/jump.funcs.iostream:
	* jump/libc/jump.funcs.iostream: copied from the iosteram-based
	  stdio.

	* Makefile: remove libgcc.a and libgcc.sa.

	* gcc/Makefile: use libgcc3.a.

	* stdlib/Makefile: for _IO_stdtod.c.

	* stdlib/strtod.c: alias for _IO_stdtod ().

	* misc/Makefile: for stdiocompat.c and dtoa.c.

	* misc/dtoa.c: alias for _IO_dtoa ().

	* misc/stdiocompat.c: new file for backward compatibilities
	  with stdin, stdout and stderr.

	* ./Maketargets: change targets to "clean::"
	  and "realclean::".
	  add TARGET=$@.

	* iostream: removed.

	* libio: new.

	* Makeconfig: add NEWSTDIOFLAGS.

--
Mail submissions for comp.os.linux.announce to: [email-masked]
PLEASE remember Keywords: and a short description of the software.