Next: 4 System calls Up: e Previous: 2 The Linux kernel

# 3 The Linux libc package

libc: ISO 8859.1, <linux/param.h>, YP functions, crypt functions, some basic shadow routines (by default not included), ... old routines for compatibility in libcompat (by default not activated), english, french or german error messages, bsd 4.4lite compatible screen handling routines in libcurses, bsd compatible routines in libbsd, screen handling routines in libtermcap, database management routines in libdbm, mathematic routines in libm, entry to execute programs in crt0.o ???, byte sex information in libieee ??? (could someone give some infos instead of laughing ?), user space profiling in libgmon. I wish someone of the Linux libc developers would write this chapter. All i can say now that there is going to be a change from the a.out executable format to the elf (executable and linkable format) which also means a change in building shared libraries. Currently both formats (a.out and elf) are supported.

Most parts of the Linux libc package are under the Library GNU Public License, though some are under a special exception copyright like crt0.o. For commercial binary distributions this means a restriction that forbids statically linked executables. Dynamically linked executables are again a special exception and Richard Stallman of the FSF said:

[...] But it seems to me that we should unambiguously permit distribution of a dynamically linked executable *without* accompanying libraries, provided that the object files that make up the executable are themselves unrestricted according to section 5 [...] So I'll make the decision now to permit this. Actually updating the LGPL will have to wait for when I have time to make and check a new version.