The Linux C library 4.4 is on

The Linux C library 4.4 is on

Post by HJ L » Sat, 22 May 1993 16:16:36

===============README PLEASE========================================
There are two new functions, setdomainname () and getdomainname ().
You need the new uname () in the kernel 0.99 pl9 + ALPHA diff or
0.99 pl 10 to use it. Linus will make them soon. If you use an older
kernel, as long as you don't compile any source codes which use
uname (), gethostname (), setdomainname () and getdomainname (), you
will be fine. The new uname () is located at a different address, see
<sys/syscall.h>. Old binaries which use uname () and gethostname ()
should work as before. Please be careful when you compile the Linux
C library yourself. I don's suggest you compile it yourself if
you don't have the kernel 0.99 pl 10 source installed and you
have no clue what you are doing. Please read ChangeLog and
./libc-linux/include for details.

The reason I do that is gcc 2.4.0 needs the Linux C library 4.4.

This is the release of the Linux C library 4.4. You have to
install the source code of 0.99 pl5 to use it since there are some
changes in kernel. You have to use 0.99 pl9 + ALPHA diff or 0.99 pl 10
kernel to use new [f]pathconf () since it uses f_namelen in struct
statfs as well as domainname support. You also need gcc 2.3.3 or above
to use it.

NOTE: I have put patch-2.0.12g8.diff.z, which uses the new pathconf ()
      in pub/linux/packages/GCC/patches. I am sure you will love it.
      It chooses the extension `#'/`~' or `.rej'/`.orig' at the run
      time depending on the filesystem on which the new file will be

You can get this package under pub/linux/packages/GCC from The file names are inc-4.4.tar.z, libc-4.4.tar.z,
libc-4.3.3-4.4.tar.z, inc-4.3.3-4.4.tar.z, image-4.4.tar.z and
extra-4.4.tar.z. Also binutils.tar.z and binutils-1.9l.tar.z.

WARNING: PLEASE READ THEM. Read ChangeLog for details of the bug fixes
         and changes.
 0)     Since some C++ header files are changed in the Linux C library
        4.4, please install libg++ 2.3 first and install libc 4.4 until
        libg++ 2.4 is released.
 1)     There is a change in ./libc-linux/sysdeps/linux/i386/__load.c.
        Please read the ChangeLog. Please check it out
 2)     All the stuff previously in /usr/etc/inet or /etc/inet must be
        in /etc now.
 3)     cfmakeraw () in ./libc-linux/posix/cfmakeraw.c is changed. If
        you have problem with any communication applications, like
        kermit and uucp, or something using cfmakeraw (), with the
        new libc.a, please check it out first.
 4)     getopt_long () is changed. I undefined GETOPT_COMPAT in
        ./libc-linux/posix/getopt.c so that `+' cannot be used to
        introduce a long-named option, like `--' because this is not
        POSIX.2 compliant. As far as I know only those in
        binutils.tar.z use `+' instead of `--'. Please get new
        binutils.tar.z too. The source code, binutils-1.9l.tar.z, is in
 5)     get the latest tools-2.x.tar.z from pub/linux/packages/GCC/src
        to fix the `+' bug.
 6)     in /libc-linux/misc/syslog.c, NUL is used as a message
        delimiter. syslogd has to be changed to separate each message
        from each other.
 7)     Please make sure there are no statfs.S statfs.S uname.S in
        src/libc-linux/sysdeps/linux. 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.
 8)     This is an old one for libc 4.3.3. I included it here for you.
        If you have problems with df and mount after installing this
        release, please do:
        1. Get Rick Sladkey's mount 0.99.6. It is in mount-0.99.6.tar.Z
           and utile-1.4.src.tar.z from sunsite or tsx-11.
        2. Remove any
                rdev > /dev/mtab
        from /etc/rc.
        3. List / partition in /etc/fstab.
        4. Add "mount -av" in /etc/rc or somewhere like that.
        5. Always provide a fs name in /etc/fstab.

        After rebooting, you will be fine.
 9)     The libg++ 2.3 doesn't compile out of box with gcc 2.4.0. I
        hope the libg++ 2.4 will be out soon.

This release is compressed with gzip 1.0.3.

The file list:

1. inc-4.4.tar.z

  The C/C++ header files for 4.4.

  cd /usr
  gzip -dc inc-4.4.tar.z | tar xvvof -

  The header files in inc-4.4.tar.z 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.tar.z

  Source code for 4.4.

  cd src
  gzip -dc libc-4.4.tar.z | tar xvvof -

3. libc-4.3.3-4.4.tar.z

  Change of the source code from 4.3.3 to 4.4.

  cd src
  gzip -dc libc-4.3.3-4.4.tar.z | 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.

4. inc-4.3.3-4.4.tar.z

  Change of the header files from 4.3.3 to 4.4.

  cd /usr
  gzip -dc inc-4.3.3-4.4.tar.z | tar xvvof -

5. image-4.4.tar.z

  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.tar.z | tar xvvof -
  cp -av ./lib ./usr /
  cd /lib
  ln -sf
  ln -sf

  If you have an early version of installed, you may have
  to play with it, like

  cd /lib
  cp /tmp/
  ln -sf /tmp/

  before you unpack image-4.4.tar.z.

6. extra-4.4.tar.z

  libmcheck.a, libg.a, libc_p.a, libgmon.a and gcrt0.o. To install

  cd /
  gzip -dc extra-4.4.tar.z | tar xvvof -

7. ChangeLog

  Change log for the Linux C library.

Please fix the file permissions after you install it.




1. The Linux C library 4.5.21 is on

It could cause big, big, big problems if you tried to use, say, before you mounted /usr.

While many people have just one partition with a filesystem, it could
louse me up pretty good if libc got moved out of /lib and into

Of course, I suppose it's a good idea to keep statically linked
copyies of mount, umount, etc... But if a change like this was made
without me seeing it, I'd be in big trouble since I assume that If
I've got / mounted I have my shared libs.


Keep all the shared images in /lib!!!


____ "Nuke the unborn gay whales" -- Never seen on a protest sign
\bi/ |umop apisdn| First year comp sci major.  CRPG addict.
 \/  1.5<kinsey<2.5 IRC Synger  Running Linux 0.99.15d. DOS is evil

2. FAQ for netbsd ( for 68K ) ??

3. ANNOUNCE: PINE 3.05 is on and

4. Linux on Dell Latitude 133 Notebook (NeoMagic)

5. Linux

6. UMSDOS problems in 2.4.9?

7. ANNOUNCE: Linux TeX source uploaded to

8. RedHat 5.1 new user question about X11

9. where is WINOS2.ZIP at

10. Updated XFree86 2.1 files on

11. SLACKWARE distribution from

12. mailpak12.tar on

13. GCC 2.5.7 on