]>
Commit | Line | Data |
---|---|---|
9ef79dce RM |
1 | This directory contains the sources of the GNU C Library. |
2 | See the file "version.h" for what release version you have. | |
3858bf28 RM |
3 | |
4 | The GNU C Library is the standard system C library for all GNU systems, | |
5 | and is an important part of what makes up a GNU system. It provides the | |
6 | system API for all programs written in C and C-compatible languages such | |
7 | as C++ and Objective C; the runtime facilities of other programming | |
8 | languages use the C library to access the underlying operating system. | |
9 | ||
10 | In GNU/Linux systems, the C library works with the Linux kernel to | |
11 | implement the operating system behavior seen by user applications. | |
12 | In GNU/Hurd systems, it works with a microkernel and Hurd servers. | |
13 | ||
3858bf28 RM |
14 | The GNU C Library implements much of the POSIX.1 functionality in the |
15 | GNU/Hurd system, using configurations i[34567]86-*-gnu. | |
16 | ||
57e065ae UD |
17 | When working with Linux kernels, the GNU C Library version from |
18 | version 2.4 on is intended primarily for use with Linux kernel version | |
19 | 2.6.0 and later. We only support using the NPTL implementation of | |
20 | pthreads, which is now the default configuration. Most of the C | |
21 | library will continue to work on older Linux kernels and many programs | |
22 | will not require a 2.6 kernel to run correctly. However, pthreads and | |
23 | related functionality will not work at all on old kernels and we do | |
24 | not recommend using glibc 2.4 with any Linux kernel prior to 2.6. | |
3858bf28 RM |
25 | |
26 | All Linux kernel versions prior to 2.6.16 are known to have some bugs that | |
27 | may cause some of the tests related to pthreads in "make check" to fail. | |
28 | If you see such problems, please try the test suite on the most recent | |
29 | Linux kernel version that you can use, before pursuing those bugs further. | |
30 | ||
57e065ae UD |
31 | Also note that the shared version of the libgcc_s library must be |
32 | installed for the pthread library to work correctly. | |
33 | ||
3858bf28 RM |
34 | The old LinuxThreads add-on implementation of pthreads for older Linux |
35 | kernels is no longer supported, and we are not distributing it with this | |
36 | release. Someone has volunteered to revive its maintenance unofficially | |
37 | for at least a short time for the benefit of those using Linux kernels | |
38 | older than 2.6, but a working version is not presently available. When | |
39 | it is in working condition, we will make it available alongside future | |
40 | glibc releases. LinuxThreads will not be supported. | |
41 | ||
42 | The GNU C Library supports these configurations for using Linux kernels: | |
43 | ||
44 | i[34567]86-*-linux-gnu | |
45 | x86_64-*-linux-gnu | |
46 | powerpc-*-linux-gnu | |
47 | powerpc64-*-linux-gnu | |
48 | s390-*-linux-gnu | |
49 | s390x-*-linux-gnu | |
50 | ia64-*-linux-gnu | |
51 | sparc*-*-linux-gnu | |
52 | sparc64*-*-linux-gnu | |
53 | ||
3858bf28 RM |
54 | sh[34]-*-linux-gnu Requires Linux 2.6.11 |
55 | ||
56 | The code for other CPU configurations supported by volunteers outside of | |
57 | the core glibc maintenance effort is contained in the separate `ports' | |
9ef79dce | 58 | add-on. You can find glibc-ports-VERSION distributed separately in the |
3858bf28 RM |
59 | same place where you got the main glibc distribution files. |
60 | Currently these configurations are known to work using the `ports' add-on: | |
61 | ||
57e065ae | 62 | alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL |
3858bf28 RM |
63 | arm-*-linux-gnu Requires Linux 2.6.15 for NPTL, no SMP support |
64 | arm-*-linux-gnueabi Requires Linux 2.6.16-rc1 for NPTL, no SMP | |
65 | mips-*-linux-gnu Requires Linux 2.6.12 for NPTL | |
66 | mips64-*-linux-gnu Requires Linux 2.6.12 for NPTL | |
67 | ||
68 | The ports distribution also contains code for other configurations that | |
69 | do not work or have not been maintained recently, but will be of use to | |
70 | anyone trying to make a new configuration work. If you are interested | |
71 | in doing a port, please contact the glibc maintainers; see | |
72 | http://www.gnu.org/software/libc/ for more information. | |
73 | ||
74 | See the file INSTALL to find out how to configure, build, and install | |
75 | the GNU C Library. You might also consider reading the WWW pages for | |
76 | the C library at http://www.gnu.org/software/libc/. | |
77 | ||
78 | The GNU C Library is (almost) completely documented by the Texinfo manual | |
79 | found in the `manual/' subdirectory. The manual is still being updated | |
80 | and contains some known errors and omissions; we regret that we do not | |
81 | have the resources to work on the manual as much as we would like. For | |
82 | corrections to the manual, please file a bug in the `manual' component, | |
83 | following the bug-reporting instructions below. Please be sure to check | |
84 | the manual in the current development sources to see if your problem has | |
85 | already been corrected. | |
28f540f4 RM |
86 | |
87 | The file NOTES contains a description of the feature-test macros used | |
88 | in the GNU C library, explaining how you can tell the library what | |
89 | facilities you want it to make available. | |
90 | ||
720817e7 RM |
91 | Please see http://www.gnu.org/software/libc/bugs.html for bug reporting |
92 | information. We are now using the Bugzilla system to track all bug reports. | |
93 | This web page gives detailed information on how to report bugs properly. | |
28f540f4 RM |
94 | |
95 | The GNU C Library is free software. See the file COPYING.LIB for copying | |
c6c6dd48 RM |
96 | conditions, and LICENSES for notices about a few contributions that require |
97 | these additional notices to be distributed. |