223 lines
8.0 KiB
Plaintext
223 lines
8.0 KiB
Plaintext
Hi, Gals and Guys,
|
|
|
|
The Linux C library 5.4.44 is a bug-fixing release for libc 5.4.38.
|
|
There are no new features in this release.
|
|
|
|
Changes from libc 5.4.38:
|
|
|
|
1. Fix some stdio bugs. Pine should work fine now.
|
|
2. Fix a glob bug.
|
|
3. Fix a recursive bug in exit.
|
|
4. Fix an overflow bug in malloc.
|
|
5. If your make doesn't work anymore, please get the latst GNU make
|
|
from ftp://prep.ai.mit.edu/pub/gnu. In the mean time, a working
|
|
GNU make binary is provided as make-3.75.tar.gz. You can use it to
|
|
build the new one.
|
|
|
|
The public release of the new Linux C library is 6.0, aka glibc 2.0.
|
|
2 main features in glibc 2.0, are MT-safe and pthread support. With
|
|
glibc 2.0, Linux will enter an era of SMP kernel support as well as
|
|
the kernel-based pthread support. I have been running glibc 2.0 with
|
|
gcc, binutils, bin86 and XFree86 3.3.1. Everything works great. As of
|
|
glibc 2.0.6, glibc is usable for general public. People are encouraged
|
|
to try it out and send in bug report. glibc 2.0 can be found at
|
|
|
|
ftp://prep.ai.mit.edu/pub/gnu
|
|
|
|
and its mirror sites. It compiles right out of box for Linux and
|
|
suppors more architectures in addition to x86 and m68k. There are
|
|
new Linux packages which is based on glibc 2, aka libc 6. You
|
|
can get more information from
|
|
|
|
http://www.debian.org
|
|
http://www.redhat.com
|
|
|
|
Due to the new, improved locale, the Linux C library 5.4.44 is binary
|
|
compatible with libc 5.3.12 but not vice versa. The binaries
|
|
compiled/linked with libc.so.5.4.44 may not run with libc.so.5.3.12.
|
|
You may need to regenerate locale files for the new locale in libc
|
|
5.4.44 if you use locales other tha C/POSIX which are the defaults.
|
|
|
|
Binaries of locale and localedef are included in the binary release.
|
|
The locale sources are at
|
|
|
|
ftp://dkuug.dk/i18n/WG15-collection/locales
|
|
|
|
But if you want to really use locale, you should use glibc 2, aka
|
|
libc 6. There will be no new locale development in libc 5.
|
|
|
|
There are many security bug fixes. Please consult ChangeLog for
|
|
details. Please let me know if there are more security bugs remains.
|
|
|
|
This is the public release of the Linux C library 5.4.44. Please read
|
|
the ChangeLog for details regarding changes/bug fixes.
|
|
|
|
DISTRIBUTION SITES:
|
|
|
|
The primary FTP sites for the compiler/C library are:
|
|
|
|
* ftp://tsx-11.mit.edu/pub/linux/packages/GCC
|
|
* ftp://sunsite.unc.edu/pub/Linux/GCC
|
|
|
|
DISTRIBUTION FILES:
|
|
|
|
1. libc-5.4.44.bin.tar.gz
|
|
|
|
REQUIRED. This package contains the header files for libc, shared and
|
|
static ELF libraries libc and libm, and the static ELF library libbsd.a.
|
|
The header files in libc-5.4.44.bin.tar.gz are not complete. You need to
|
|
install the kernel source tree for the system-dependent header files.
|
|
|
|
The header files are in lib-x.y.z.bin.tar.gz and libc-x.y.z.tar.gz. You
|
|
can do
|
|
|
|
# gzip -dc lib-x.y.z.bin.tar.gz | tar xvvf - usr/include
|
|
|
|
to extract the header files without the binaries files. A separate
|
|
tar file for the header files may cause unnecessary confusion.
|
|
|
|
2. libc-5.4.44.tar.gz
|
|
|
|
Source tree for libc and header files.
|
|
|
|
3. libc-5.4.38-5.4.44.diff.gz
|
|
|
|
Context diffs against the source tree from the previous libc release.
|
|
Please make sure the empty libc/regex/rx.h is deleted.
|
|
|
|
MISSING LIBRARIES:
|
|
|
|
The only libraries included in this package are the Linux C library, libc
|
|
and the math library, libm.
|
|
|
|
ELF versions of libraries formerly included in the libc package can be
|
|
found at the following FTP sites:
|
|
|
|
* gdbm ftp://sunsite.unc.edu/pub/Linux/libs/db/gdbm-1.7.3-ELF.tar.gz
|
|
* db ftp://sunsite.unc.edu/pub/Linux/libs/db/db-1.85.2.bin.tar.gz
|
|
* ncurses ftp://ftp.tos.net/pub/linux/ncurses
|
|
* termcap ftp://tsx-11.mit.edu/pub/linux/packages/GCC
|
|
ftp://sunsite.unc.edu/pub/Linux/GCC
|
|
|
|
Gertjan van Wingerde (gertjan@cs.vu.nl) maintains the ELF db package.
|
|
|
|
Christopher Wiles (wileyc@moscow.com) maintains the ELF gdbm and
|
|
curses.
|
|
|
|
MacGyver <macgyver@tos.net> maintains the ELF ncurses.
|
|
|
|
NOTE: I strongly suggest using ncurses to replace curses/termcap. The
|
|
current ncurses supports ELF.
|
|
|
|
SYSTEM REQUIREMENTS:
|
|
|
|
* kernel 1.1.92 or above. It may work with an older kernel if
|
|
the QMAGIC format is supported. If you use the kernel 1.3.x,
|
|
you should upgrade to 1.3.40 or above. Otherwise readv/writev
|
|
system calls won't work right.
|
|
To compile the MIT pthread kernel, I only builed it with
|
|
Linux kernel source code 1.99.10. You can comment out
|
|
pthreads in DIRS in libc/sysdeps/Makefile.
|
|
* gcc-2.7.2.3 or above and binutils-2.8.1.0.1 or above.
|
|
* ld.so-1.9.5 or above. The latest version can be obtained from
|
|
ftp://ftp.ods.com/pub/linux
|
|
* libg++ 2.7.2.8 or above. This is only necessary for development
|
|
using c++.
|
|
|
|
BINARY INSTALLATION:
|
|
|
|
Ensure that /usr/include/asm and /usr/include/linux are a symlinks to
|
|
their counterparts in the kernel source tree. For example, if your kernel
|
|
source resides within /usr/src/linux, execute:
|
|
|
|
ln -s -f /usr/src/linux/include/asm /usr/include/asm
|
|
ln -s -f /usr/src/linux/include/linux /usr/include/linux
|
|
|
|
As some programs need <linux/autoconf.h>, the following two commands may
|
|
be necessary to generate that header file:
|
|
|
|
cd /usr/src/linux
|
|
make config
|
|
|
|
Verify that /var/run/utmp and /var/log/wtmp exist. Replace all other
|
|
occurances of utmp and wtmp (/etc/utmp, for example) with symlinks.
|
|
|
|
Assuming the libc binary tarfile is in /, and as root, execute:
|
|
|
|
cd /
|
|
rm -f /lib/libc.so /lib/libm.so
|
|
rm -f /usr/lib/libc.so /usr/lib/libm.so
|
|
rm -f /usr/include/iolibio.h /usr/include/iostdio.h
|
|
rm -f /usr/include/wcstr.h /usr/include/mbstr.h
|
|
rm -f /usr/include/ld_so_config.h /usr/include/localeinfo.h
|
|
rm -rf /usr/include/netinet /usr/include/net /usr/include/pthread
|
|
gzip -dc libc-5.4.44.bin.tar.gz | tar xvf -
|
|
|
|
SOURCE INSTALLATION:
|
|
|
|
Unpack the libc source tarfile in your source directory. Refer to the
|
|
README for compilation instructions.
|
|
|
|
COMPATIBILITY NOTES:
|
|
|
|
If your kernel uses system call numbers 135 to 146 for unintended
|
|
purposes, this library may not work for you. One example is the kswap
|
|
kernel patch for 1.2.x uses the same system call numbers for other
|
|
uses. That breaks this library. Please compare/check <sys/syscall.h>,
|
|
<asm/unistd.h> and <linux/unistd.h>. You have to make sure those
|
|
system call numbers are consistent from libc to your kernel.
|
|
|
|
There is no support for a.out libraries in this source tree. The latest
|
|
version of the a.out library suite is libc-4.7.5, which can be obtained
|
|
from one of the ftp sites listed below.
|
|
|
|
The structure DIR, defined in sysdeps/linux/dirstream.h, was changed in
|
|
release 5.2.0. If you upgrade from release 5.1.4 or earlier to release
|
|
5.2.0 or later, you must reboot after installing the new libraries. If
|
|
you compile your own library, *do not* "make install". Instead, copy the
|
|
new libc.so* to /lib, do "ldconfig -v", reboot, then do "make install"
|
|
|
|
A dirent bug, which erroneously defined d->reclen to d->namlen if USE_GNU
|
|
was defined, has been fixed. Unfortunately, some GNU packages depend on
|
|
this bug. GNU make 3.xx is one of them. GNU make 3.75 or above is
|
|
fine. A patch is included here for 3.74 and below.
|
|
|
|
A back door has been added for the file descriptor in DIR. You need to
|
|
define DIRENT_ILLEGAL_ACCESS to access the dd_fd field. You should use
|
|
dirfd () to get the the file descriptor in DIR. Use this at your own
|
|
risk.
|
|
|
|
A new dirent bug is fixed. The ELF nfsd should work fine.
|
|
|
|
<iostdio.h> and <iolibio.h> have been removed.
|
|
|
|
PTHREAD NOTES:
|
|
|
|
The MIT pthread library is not supported in libc 5.4.x. The new
|
|
kernel-based pthread will be in libc 6.0.
|
|
|
|
NYS NOTES:
|
|
|
|
NYS binaries are not provided this time. NYS 0.27.4 is included in the
|
|
source tree as a compile-time option. Please consult README.nys and other
|
|
applicable NYS documents before attempting NYS installation. I disabled
|
|
DBM for NYS. Some changes are needed to support non-builtin dbm.
|
|
|
|
INFORMATION/DOCUMENTATION:
|
|
|
|
ELF related WWW pages:
|
|
|
|
* http://www.intac.com/~cully/elf.html
|
|
* http://www.sjc.ox.ac.uk/users/barlow/linux-gcc.html
|
|
* http://www.blackdown.org/elf/elf.html
|
|
|
|
ELF documentation:
|
|
|
|
* ftp://sunsite.unc.edu/pub/Linux/GCC/elf.ps.gz
|
|
* ftp://sunsite.unc.edu/pub/Linux/GCC/elf.latex.tar.gz
|
|
* ftp://sunsite.unc.edu/pub/Linux/GCC/ELF.doc.tar.gz
|
|
|
|
H.J.
|
|
hjl@gnu.org
|
|
02/07/98
|