home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Plex 2
/
Plex2.mdf
/
u_linux
/
libc4526.rel
< prev
next >
Wrap
Text File
|
1994-06-14
|
16KB
|
548 lines
NOTE: If you miss ONE LINE in this documentation, this library may not
work for you.
Hi, Guys,
This is the public release of the Linux C library 4.5.26. You have to
run the kernel and install the source code of 1.0 or above to
use all the features in it. You also need gcc 2.5.8 or above to use it.
This release fixed a few major bugs. There are some other changes I like
to see in the next public release. I suggest not to use the shared version
of math, gdbm, curses and termcap since they will go away in the next release.
Please remove libm.sa, libcurses.sa, libdbm.sa and libtermcap.sa in
/usr/lib after the new libraries are installed.
The new locale may still not work very well for non-English languanges.
I don't know when it will be improved.
If your kernel is older than specified, you should install libc 4.5.26
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.26 and the old kernel. FYI, the compiler itself 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.26.tar.gz,
inc-4.5.21-4.5.26.tar.gz, libc-4.5.26.tar.gz, libc-4.5.21-4.5.26.tar.gz,
image-4.5.26.tar.gz and extra-4.5.26.tar.gz.
In linux-binutils-1.0.tar.gz, there are a new ar, a new ld with
QMAGIC support, GNU make 3.70 and gas 2.2l. The source codes are under
pub/linux/packages/GCC/src. You need to do
cd /usr/bin
rm ld as
before untar linux-binutils-1.0.tar.gz under /. Otherwise, the
symbolic links may fail.
I only make i486 binary versions this time.
WARNING: PLEASE READ THEM OR DONT USE THIS LIBRARY.
1) There are some massive changes to Makefiles and the file
structures. Now you can do:
./configure
make
make install
to get everything compiled and installed. Please check it out.
There is some primitive support for m68k. Someone has to fill
the missing files.
There are some bugs in gnu make 3.62 which prevents the
successfull compliation. Please use gnu make 3.70 or above
instead. I included one in binutils-1.9l.3-as-2.2l.tar.gz.
2) The Linux C library 4.5.8 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.
In 4.5.26, I tried to relax the stdio a little bit. "fclose on
the same file pointer twice" may work if the memory used by
the file pointer does not happen to have a valid stdio
signature. Please check it out. But I discourage this practice.
3) 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.
4) /usr/lib/libgcc.sa and /usr/lib/libgcc.a must not be used with
libc 4.5.26. You have to remove/backup /usr/lib/libgcc.*.
5) All binaries using "long long" output in iostream linked with
the shared library may be broken.
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 Dave_Boyd@Sterling.COM for a working binary.
8) You need tools 2.10 to make the shared library, which can be
ftped from tsx-11.mit.edu under pub/linux/packages/GCC/src.
9) ld.so 1.4.3 or above is also required by this release. It is on
tsx-11.mit.edu under pub/linux/packages/GCC.
10) _PATH_LASTLOG, _PATH_MAILDIR and WTMP_FILE have bee moved from
/usr to /var. _PATH_SENDMAIL is changed to /usr/sbin/sendmail.
be sure you make the appropriate symbolic links.
You need to link /var/adm/utmp with /etc/utmp, /var/adm/lastlog
with /etc/lastlog, /var/spool/mail with /usr/spool/mail, maybe
/usr/lib/sendmail with /usr/sbin/sendmail.
11) I am testing rx 0.03 from sed 2.03 used to replace regex 0.12.
You have to recompile your applications to take the advantage
of the fast regex. The old applications should work fine with
the old regex in the shared image.
Rx 0.03 is too buggy. I have sent an email to the author asking
for new version. At the same time, the old GNU regex 0.12 is
restored.
12) Please remove /usr/include/shadow.h if you don't use the shadow
password. I will try to add the shadow stuff after 4.5.xx
13) A stdio bug is fixed. For fgets (), the buffer will be
unchanged and NULL is returned when the EOF is seen. Before
that, the buffer was terminated by the null char, which
violates the ANSI C standard. But some programs may rely on
that bug.
14) libm.so.x.y is moved to /usr/lib. Please clean up /lib.
15) A new system call, getpgid (), is added. It requries the
kernel 0.99 pl 15 or above.
16) There is a new obstack.[hc]. Please check if it breaks any old
binaries compiled with old obstack.h.
17) You have to remove "#include <linux/unistd.h>" from
<linux/timex.h> if it in there.
18) Please check locale/*/Makefile for how to install the new
locale stuff. I expect it will change.
19) I changed login/getlogin.c and posix/cuserid.c. I hope they
don't break anything.
This release is compressed with gzip 1.2.4.
Please read ChangeLog for details of the bug fixes and changes.
The file list:
1. inc-4.5.26.tar.gz
REQUIRED. It is the header files for 4.5.26.
cd /
rm /usr/include/regex.h /usr/include/rx.h
gzip -dc inc-4.5.26.tar.gz | tar xvvSof -
# Please be careful, I don't know what you have under /usr/include.
# If you have a problem with the header files, you may do
# rm -rf /usr/include
# mkdir -p /usr/include
# before
# gzip -dc inc-4.5.26.tar.gz | tar xSvvof -
The header files in inc-4.5.26.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. inc-4.5.21-4.5.26.tar.gz
Change of the header files from 4.5.21 to 4.5.26.
cd /
rm -f /usr/include/regex.h /usr/include/rx.h
gzip -dc inc-4.5.21-4.5.26.tar.gz | tar xSvvof -
3. libc-4.5.26.tar.gz
Source code for 4.5.26.
cd src
rm -rf libc-linux
gzip -dc libc-4.5.26.tar.gz | tar xSvvof -
4. libc-4.5.21-4.5.26.tar.gz
Change of the source code from 4.5.21 to 4.5.26.
cd src
gzip -dc libc-4.5.21-4.5.26.tar.gz | tar xSvvof -
cd libc-linux
rm -rf gmon
5. image-4.5.26.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.26.tar.gz | tar xSvvof -
cp -av ./lib ./usr /
ldconfig -v
6. extra-4.5.26.tar.gz
REQUIRED. libmcheck.a, libg.a, libc_p.a, libgmon.a and gcrt0.o. To
install
cd /
gzip -dc extra-4.5.26.tar.gz | tar xSvvof -
7. ChangeLog
Change log for the Linux C library.
Please fix the file permissions/ownerships after you install it.
H.J.
hjl@nynexst.com
05/20/94
----
Mon Apr 4 15:24:19 1994 H.J. Lu (hlu@fudan)
* version 4.5.26 is released.
* jump/libm/jump.params:
* jump/libc.lite/jump.params:
* jump/libc/jump.params: bump up to version 4.5.26.
* <_G_config.h>: update verion to 4.5.26.
Mon Apr 4 14:49:33 1994 Nickolay Saukh (nms@ussr.EU.net)
* locale/setlocale.c: new.
* locale/collate:
* locale/ctype:
* locale/monetary:
* locale/numeric:
* locale/response:
* locale/time: new.
Mon Apr 4 13:49:33 1994 H.J. Lu (hlu@fudan)
* Makeconfig: add CHARFLAGS=-funsigned-char.
* <paths.h>: define _PATH_LOCALE as "/usr/lib/locale".
* posix/cuserid.c: use getlogin () for multiply names with
the same id.
* login/getlogin.c: add check for fd 1 and 2.
* <unistd.h>: add ctermid ().
* posix/ctermid.c: include <unistd.h>.
* <utmp.h>: fix typo in ut_host [UT_NAMESIZE]. It should be
ut_host[UT_HOSTSIZE].
* Makeconfig (NLSCFLAGS): add -I$(TOPDIR)/nls.
* <netinet/in_systm.h>: renamed from <netinet/in_system.h>.
* nls/nl_types.h: removed.
* ./libio/ioperror.c:
* ./bsd/psignal.c:
* ./posix/getopt.c:
* ./string/strerror.c:
* ./string/strsignal.c:
* ./rpc/svc_au_ux.c:
* ./rpc/get_myaddr.c:
* ./rpc/pmap_getmaps.c:
* ./rpc/svc_run.c:
* ./rpc/pmap_clnt.c:
* ./rpc/xdr_ref.c:
* ./rpc/svc_simple.c:
* ./rpc/xdr_array.c:
* ./rpc/clnt_perror.c:
* ./rpc/clnt_raw.c:
* ./rpc/auth_unix.c:
* ./rpc/svc_tcp.c:
* ./rpc/pmap_rmt.c:
* ./rpc/xdr.c:
* ./rpc/clnt_tcp.c:
* ./rpc/svc_udp.c:
* ./rpc/xdr_rec.c:
* ./rpc/clnt_udp.c:
* ./inet/gethstnmad.c:
* ./inet/herror.c:
* ./inet/rcmd.c:
* ./inet/rexec.c:
* ./inet/ruserpass.c: change
#include "../nls/nl_types.h"
to
#include "nl_types.h"
Sat Mar 26 14:10:17 1994 H.J. Lu (hlu@fudan)
* version 4.5.25 is released.
* login/getlogin.c: don't include "pathnames.h".
* jump/libc/jump.funcs:
* jump/libc.lite/jump.funcs: fix a typo.
* libbsd/logout.c:
* libbsd/logwtmp.c: include <utmp.h>.
* <lastlog.h>: copied/modified from <bsd/utmp.h>.
* <utmp.h>: include <paths.h>.
* <bsd/utmp.h>: removed.
* time/strftime.c: "%j" should print the day of the yera in the
range from 001 to 366.
* Makefile (DIRS):
* sysdeps/linux/Makefile (lib all):
* sysdeps/linux/i386/Makefile (lib all):
* sysdeps/linux/m68k/Makefile (lib all): check MATH.
* misc/syslog.c (openlog): use sizeof(SyslogAddr) -
sizeof(SyslogAddr.sa_data) + strlen(SyslogAddr.sa_data) for
the address size.
(vsyslog): close the log when write () fails. it will try
to reconnect it next time.
* nls/msgcat.c (catclose):
* <nl_types.h> (catclose): change return from void to int.
* login/getlogin.c: check USER_PROCESS.
* <m68k/syscall.h>:
* sysdeps/linux/m68k/sysdep.h: fix a m68k bug. from
"hamish (h.i.) macdonald" <hamish@bnr.ca>.
* jump/libm/jump.params:
* jump/libc.lite/jump.params:
* jump/libc/jump.params: bump up to version 4.5.25.
* <_G_config.h>: update verion to 4.5.25.
* sysdeps/linux/i386/math/atanh.c: check x == -1.0. from
"James H. Cloos Jr." <cloos@rahul.net>.
* login/getlogin.c: undo the change of Fri Mar 11.
Fri Mar 18 13:35:20 1994 flebbe@pluto.tat.physik.uni-tuebingen.de (Olaf Flebbe)
* <math.h>: add cbrt ().
(__finite): check __isnan ().
* sysdeps/linux/i386/math/cbrt.c: new from SUN libm.
* sysdeps/linux/i386/math/Makefile (SRC1S): add cbrt.c.
* jump/libm/jump.funcs: add _cbrt.
Fri Mar 11 15:00:58 1994 H.J. Lu (hlu@fudan)
* version 4.5.24 is released.
* jump/libm/jump.params:
* jump/libc.lite/jump.params:
* jump/libc/jump.params: bump up to version 4.5.24.
* <_G_config.h>: update verion to 4.5.24.
* Makerules: fix typos.
* jump/libc/Makefile (install):
* jump/libm/Makefile (install): move the old shared library to
backup/$SHLIB_FILE.$$.
* login/getlogin.c: call getpwnam(name). from Mitchum DSouza
<m.dsouza@mrc-applied-psychology.cambridge.ac.uk>.
* sbin/lib/i386/Makefile:
* sbin/lib/m68k/Makefile:
* sbin/lib/Makefile:
* sysdeps/linux/Makefile:
* jump/Makefile:
* sbin/Makefile:
* sysdeps/Makefile:
* Maketargets: Use $(MAKE) -C $$i $@.
* Makefile (install.static): delete __.SYMDEF from libc.a.
(install.debug): delete __.SYMDEF from libg.a.
(install.profile): delete __.SYMDEF from libc_p.a.
* jump/libc/Makefile (JUMP_PARAMS):
* jump/libc.lite/Makefile (JUMP_PARAMS):
* jump/libm/Makefile (JUMP_PARAMS): change that to
$(JUMP_DIR)/jump.params.
* jump/libc/jump.params.build:
* jump/libc.lite/jump.params.build:
* jump/libm/jump.params.build: removed.
Thu Mar 10 09:14:39 1994 H.J. Lu (hlu@fudan)
* ./sysdeps/linux/i386/Makefile $(DIRS): don't add
"math crt" if LITE is "true".
* <waitflags.h>: for linux, only include <linux/wait.h>.
* <netinet/ip_tcp.h>: include <linux/socket.h>.
* <sys/debugreg.h>: include <linux/debugreg.h>.
* Makeconfig: fix a typo.
* jump/libc.lite/jump.funcs (_syscall):
* jump/libc/jump.funcs (_syscall): mark it "T".
* <syscall.h>: change __syscall back to syscall.
* ./sysdeps/linux/i386/Makefile $(SRC3S): change __syscall.S
to syscall.S.
* ./sysdeps/linux/i386/__syscall.S: removed.
* ./sysdeps/linux/i386/syscall.S: new file.
Sun Mar 6 21:52:39 1994 H.J. Lu (hlu@fudan)
* version 4.5.23 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.23.
* <_G_config.h>: update verion to 4.5.23.
* Makeconfig (TARGET_LIBM_SO_DIR): change back to /lib.
* ./libio/ChangeLog: new entries.
* ./sysdeps/linux/i386/libc_exit.c: fixed for PIC.
* ./sysdeps/linux/i386/Makefile $(SRC3S): add __syscall.S.
Sat Mar 5 16:55:09 1994 H.J. Lu (hlu@fudan)
* version 4.5.22 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.22
* <_G_config.h>: update verion to 4.5.22.
* ./libio/ChangeLog: new entries.
* stdlib/exit.c (exit): call _IO_flush_all directly if
__PIC__ or __pic__ is defined.
* <gnu-stabs.h> (HAVE_GNU_LD): don't define it if __PIC__
or __pic__ is defined.
* rpc/get_myaddr.c: change "#ifdef linux" to "#if 0".
* jump/libc.lite/jump.funcs (_syscall):
* jump/libc/jump.funcs (_syscall): mark it "U".
* <syscall.h>: change syscall to __syscall.
* <sys/ipc.h> (__ipc): new.
* ./sysdeps/linux/Makefile $(SRC2S): add __ipc.S.
* ./sysdeps/linux/__ipc.S: new file.
* ./sysdeps/linux/msgctl.c:
* ./sysdeps/linux/msgget.c:
* ./sysdeps/linux/msgrcv.c:
* ./sysdeps/linux/msgsnd.c:
* ./sysdeps/linux/semctl.c:
* ./sysdeps/linux/semget.c:
* ./sysdeps/linux/semop.c:
* ./sysdeps/linux/shmat.c:
* ./sysdeps/linux/shmctl.c:
* ./sysdeps/linux/shmdt.c:
* ./sysdeps/linux/shmget.c: use __ipc ().
* ./sysdeps/linux/i386/Makefile (SRC1S): remove syscall.c.
$(SRC3S): add __syscall.S.
* ./sysdeps/linux/i386/__syscall.S: new file.
* ./sysdeps/linux/i386/__ioctl.c:
* ./sysdeps/linux/i386/__fcntl.c:
* ./sysdeps/linux/i386/__open.c:
* ./sysdeps/linux/i386/syscall.c: removed.
* ./sysdeps/linux/__adjtime.c:
* ./sysdeps/linux/__ntpgttm.c: don't include <sys/syscall.h>,
include <syscall.h>.
* <demangle.h>: new for cplus_demangle ().
* Makefile:
* Makeconfig:
* Makerules:
* Maketargets: add PIC from Mitchum DSouza
<Mitchum.Dsouza@mrc-applied-psychology.cambridge.ac.uk>.
Tue Mar 1 14:37:46 1994 Matthias Urlichs <urlichs@smurf.noris.de>
* inet/res_send.c (res_send): if sethostent(1) has been called,
the resolver opens a TCP connection to the nameserver. If a
request is interrupted by a signal and we're longjmp()ing
out, that connection goes out of sync. Ugh.
Solution: If that happens, the connection should be closed
and reopened. Flushing residual data might be an alternate
idea except that the server might not have answered by the
time we're trying the next request.
Sat Feb 26 14:01:18 1994 H.J. Lu (hlu@nighthawk)
* version 4.5.21 is re-released :-(.
* ./sysdeps/linux/i386/gmon: moved from ./gmon.
* ./sysdeps/linux/i386/gmon/Makefile (TOPDIR): change it to
"../../../..".
* ./sysdeps/linux/i386/Makefile (DIRS): add "gmon" if PROFILE ==
true.
* ./gmon: moved to ./sysdeps/linux/i386.
* ./Makefile (CLEAN_DIRS):
(DIRS): remove "gmon".