408 lines
12 KiB
Plaintext
408 lines
12 KiB
Plaintext
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.21. You have to
|
|
run the kernel and install the source code of 0.99 pl 15g or above to
|
|
use all the features in it. You also need gcc 2.5.7 or above to use it.
|
|
|
|
If your kernel is older than specified, you should install libc 4.5.21
|
|
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.21 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.21.tar.gz,
|
|
inc-4.5.19-4.5.21.tar.gz, libc-4.5.21.tar.gz, libc-4.5.19-4.5.21.tar.gz,
|
|
image-4.5.21.tar.gz and extra-4.5.21.tar.gz.
|
|
|
|
In binutils-1.9l.3-as-2.2l.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 binutils-1.9l.3-as-2.2l.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.21, 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.21. 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.
|
|
|
|
|
|
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.21.tar.gz
|
|
|
|
REQUIRED. It is the header files for 4.5.21.
|
|
|
|
cd /
|
|
rm /usr/include/regex.h /usr/include/rx.h
|
|
gzip -dc inc-4.5.21.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.21.tar.gz | tar xSvvof -
|
|
|
|
The header files in inc-4.5.21.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.19-4.5.21.tar.gz
|
|
|
|
Change of the header files from 4.5.19 to 4.5.21.
|
|
|
|
cd /
|
|
rm -f /usr/include/regex.h /usr/include/rx.h
|
|
gzip -dc inc-4.5.19-4.5.21.tar.gz | tar xSvvof -
|
|
|
|
3. libc-4.5.21.tar.gz
|
|
|
|
Source code for 4.5.21.
|
|
|
|
cd src
|
|
rm -rf libc-linux
|
|
gzip -dc libc-4.5.21.tar.gz | tar xSvvof -
|
|
|
|
4. libc-4.5.19-4.5.21.tar.gz
|
|
|
|
Change of the source code from 4.5.19 to 4.5.21.
|
|
|
|
cd src
|
|
gzip -dc libc-4.5.19-4.5.21.tar.gz | tar xSvvof -
|
|
cd libc-linux
|
|
rm -rf gmon
|
|
|
|
5. image-4.5.21.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.21.tar.gz | tar xSvvof -
|
|
cp -av ./lib ./usr /
|
|
ldconfig -v
|
|
|
|
6. extra-4.5.21.tar.gz
|
|
|
|
REQUIRED. libmcheck.a, libg.a, libc_p.a, libgmon.a and gcrt0.o. To
|
|
install
|
|
|
|
cd /
|
|
gzip -dc extra-4.5.21.tar.gz | tar xSvvof -
|
|
|
|
7. ChangeLog
|
|
|
|
Change log for the Linux C library.
|
|
|
|
Please fix the file permissions after you install it.
|
|
|
|
|
|
H.J.
|
|
hjl@nynexst.com
|
|
02/26/94
|
|
-----
|
|
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".
|
|
|
|
Tue Feb 22 14:23:06 1994 H.J. Lu (hlu@nighthawk)
|
|
|
|
* version 4.5.21 is released.
|
|
|
|
* sysdeps/linux/__adjtime.c: define SIMPLE_ADJTIME.
|
|
|
|
* rpc/get_myaddr.c (USE_GETHOSTNAME): undo the change of
|
|
Tue Feb 15.
|
|
|
|
Mon Feb 21 13:18:20 1994 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.21
|
|
|
|
* <_G_config.h>: update verion to 4.5.21.
|
|
|
|
* ./libio/ChangeLog: new entries.
|
|
|
|
* rpc/pmap_rmt.c (getbroadcastnets): change "#ifdef linux"
|
|
to "#if 0".
|
|
(SIOCGIFBRDADDR): use
|
|
|
|
addrs[i++] = inet_makeaddr((int)inet_netof
|
|
(sin->sin_addr), INADDR_ANY);
|
|
|
|
need 0.99 pl15g or above.
|
|
|
|
* <obstack.h>: copied from glibc 1.07.4. Please check out
|
|
if it is compatible with the old one.
|
|
|
|
* misc/obstack.c: copied from glibc 1.07.4.
|
|
|
|
* nls/linux/French/errlist.m: fix typoes.
|
|
|
|
Sat Feb 19 13:19:34 1994 H.J. Lu (hlu@nighthawk)
|
|
|
|
* <unistd.h>: declcare cuserid ().
|
|
|
|
* posix/cuserid.c: include <unistd.h>.
|
|
|
|
Tue Feb 15 12:01:14 1994 H.J. Lu (hlu@nighthawk)
|
|
|
|
* version 4.5.20 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.20
|
|
|
|
* <_G_config.h>: update verion to 4.5.20.
|
|
|
|
* jump/libc/Makefile (install):
|
|
* jump/libm/Makefile (install): copy the old shared library to
|
|
SHLIB_FILE.$$.
|
|
|
|
* jump/libm/Makefile (install): replace TARGET_SO_DIR with
|
|
TARGET_LIBM_SO_DIR.
|
|
|
|
* Makeconfig (TARGET_LIBM_SO_DIR): new, make it /usr/lib.
|
|
|
|
* configure: add credit for Mitchum Dsouza
|
|
<m.dsouza@mrc-apu.cam.ac.uk>.
|
|
|
|
* mntent/Makefile (SCR1S): change mntent.o to mntent.c.
|
|
|
|
* <mntent.h> (MNTMAXSTR): change that to 512 from 128.
|
|
|
|
* <localeinfo.h>: include <features.h>. add __BEGIN_DECLS and
|
|
__END_DECLS.
|
|
|
|
* time/strftime.c (strftime): don't set the values before
|
|
they are called for since not all the fields in the struct
|
|
tm pointer passed are valid.
|
|
|
|
* nls/linux/Makefile (FR-SRCS)
|
|
(FRENCH-SRCS):
|
|
(french:) new for French.
|
|
|
|
* nls/linux/French/LISEZMOI:
|
|
* nls/linux/French/auth.m:
|
|
* nls/linux/French/clnt-misc.m:
|
|
* nls/linux/French/errlist-u.m:
|
|
* nls/linux/French/errlist.m:
|
|
* nls/linux/French/getopt.m:
|
|
* nls/linux/French/h-errlist.m:
|
|
* nls/linux/French/net-misc.m:
|
|
* nls/linux/French/rpc-errlist.m:
|
|
* nls/linux/French/rpc-misc.m:
|
|
* nls/linux/French/siglist-u.m:
|
|
* nls/linux/French/siglist.m: new for French.
|
|
|
|
* Makefile (DIRS): new entry for CHECKER == true.
|
|
(install.checker): new.
|
|
|
|
* curses/Makefile (CHECKER_LIB):
|
|
* gcc/Makefile (CHECKER_LIB):
|
|
* gdbm/Makefile (CHECKER_LIB):
|
|
* libbsd/Makefile (CHECKER_LIB):
|
|
* termcap/Makefile (CHECKER_LIB): new.
|
|
|
|
* checker/Makefile: new.
|
|
|
|
* sysdeps/linux/i386/crt/Makefile (lib): fix a typo in the
|
|
chkrcrt0.o rule.
|
|
|
|
* nls/Makefile (BASE_CFLAGS): no -DHAVE_MMAP if CHECKER is
|
|
true.
|
|
|
|
* Maketargets (lib): add a new rule for CHECKER_LIB.
|
|
|
|
* <sys/mman.h>: include( <linux/mman.h>.
|
|
(MAP_ANON, MAP_FILE): new.
|
|
|
|
* ./libio/ChangeLog: new entries.
|
|
|
|
* jump/libc.lite/jump.funcs:
|
|
* jump/libc/jump.funcs: add _getpgid.
|
|
|
|
* sysdeps/linux/Makefile (SRC2S): add getpgid.S.
|
|
|
|
* sysdeps/linux/getpgid.S: new. need kernel 0.99 pl 15.
|
|
|
|
* <unistd.h> (getpgid): new.
|
|
|
|
* <sys/syscall.h> (SYS_getpgid): new.
|
|
|
|
* <regex.h>: copied from gawk 2.15.4.
|
|
|
|
* regex/regex.c: copied and modified from gawk 2.15.4.
|
|
|
|
* regex/regex.diff: modification to gawk 2.15.4.
|
|
|
|
* rpc/get_myaddr.c (USE_GETHOSTNAME): defined.
|
|
|
|
* sysdeps/linux/__adjtime.c: handle large time.
|
|
|
|
* cureses/Makefile (SHARED_LIB):
|
|
* gcc/Makefile (LIBGCC):
|
|
* gdbm/Makefile (SHARED_LIB):
|
|
* termcap/Makefile (SHARED_LIB): use $(SHARED_DIR)
|
|
|
|
* cureses/Makefile (STATIC_LIB):
|
|
* gdbm/Makefile (STATIC_LIB):
|
|
* libbsd/Makefile (STATIC_LIB):
|
|
* termcap/Makefile (STATIC_LIB): use $(STATIC_DIR)
|
|
|
|
* <termcap.h>: add some appropriate "const" in the prototypes.
|
|
|
|
* malloc/Makefile (LIBMCHECK_SRCS): remove mcheck.c.
|
|
(SRC1S): add mcheck.c.
|
|
(lib): don't make $(LIBMCHECK).
|
|
|
|
* Makefile (install.static): add libmalias.a for libm.a.
|
|
(install.debug): copy debug/libc/mcheck-init.o to
|
|
libmcheck.a.
|
|
|
|
* sysdeps/linux/set-init.c: copied from glibc 1.07.2.
|
|
|
|
* sysdeps/linux/m68k/math/Makefile (SRC1S): remove drem.c.
|
|
* sysdeps/linux/m68k/math/drem.c: removed.
|
|
|
|
* sysdeps/linux/i386/math/Makefile (SRC2S): remove drem.S.
|
|
* sysdeps/linux/i386/math/drem.S: removed.
|
|
|
|
* ./mntent/mntent.c (getmntent): return NULL if fgets ()
|
|
returns NULL.
|
|
|
|
* Makeconfig: define LDCONFIG as "ldconfig" if the host
|
|
machine is running Linux, otherwise as "true".
|
|
(SHARED_LITE_DIR): new, "shared.lite".
|
|
(SHARED_DIR): defined as $(SHARED_LITE_DIR) for the light
|
|
shared C library if LITE is true.
|
|
(OBJS_DIR): remove "shared.lite", add $(SHARED_LITE_DIR)
|
|
|
|
* Maketargets (depend): add "$(SHARED_LITE_DIR)/$(SUBDIR)/\1".
|
|
|
|
* jump/libc/Makefile (install):
|
|
* jump/libm/Makefile (install): run $(LDCONFIG) if the host
|
|
machine is running Linux.
|
|
|