This document is one of the Linux HOWTO series, so is available from all Linux HOWTO repositories, such as http://sunsite.unc.edu/pub/linux/docs/HOWTO/. The HTML version can also be found (possibly in a slightly newer version) from http://ftp.linux.org.uk/~barlow/howto/gcc-howto.html.
The official documentation for gcc is in the source distribution
(see below) as texinfo files, and as
.info files. If you have a fast
network connection, a cdrom, or a reasonable amount of patience, you
can just untar it and copy the relevant bits into
/usr/info. If not,
you may find them at
not necessarily always the latest version.
There are two source of documentation for libc. GNU libc comes with info files which describe Linux libc fairly accurately except for stdio. Also, the manpages archive are written for Linux and describe a lot of system calls (section 2) and libc functions (section 3).
There are two answers.
(a) The official Linux GCC distribution can always be found in binary
(ready-compiled) form at
ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/. At the time of
writing, 2.7.2 (
gcc-2.7.2.bin.tar.gz) is the latest version.
(b) The latest source distribution of GCC from the Free Software
Foundation can be had from
GNU archives. This is not necessarily always
the same version as above, though it is just now. The Linux GCC
maintainer(s) have made it easy for you to compile the latest version
available yourself --- the
configure script should set it all up
for you. Check
tsx-11 as well, for patches
which you may want to apply.
To compile anything non-trivial (and quite a few trivial things also) you will also need the
What you want here depends on (i) whether your system is ELF or a.out, and (ii) which you want it to be. If you're upgrading from libc 4 to libc 5, you are recommended to look at the ELF-HOWTO from approximately the same place as you found this document.
These are available from tsx-11 as above:
--- ELF shared library images, static libraries and include files for the C and maths libraries.
--- Source for the above. You will also
.bin. package for the header files. If you are
deliberating whether to compile the C library yourself or use the
binaries, the right answer in nearly all cases is to use the binaries.
You will however need to roll your own if you want NYS or shadow
--- a.out shared library images and static libraries for version 4.7.5 of the C library and friends. This is designed to coexist with the libc 5 package above, but is only really necessary if you wish to keep using/developing a.out format programs.
tsx-11, just like everything
else so far. The current version is
Note that the binutils are only available in ELF, the current libc version is in ELF and the a.out libc is happiest when used in conjunction with an ELF libc. C library development is moving emphatically ELFwards, and unless you have really good reasons for needing a.out things you're encouraged to follow suit.