alpha: Use hidden_def for pthread_once
[glibc-ports.git] / README
blob51e0a303b6762b3ab7aace6de93447bedb31fd18
1 This is the glibc ports repository, an add-on for the GNU C Library (glibc).
2 It contains code that is not maintained in the official glibc source tree.
4 This includes working ports to GNU/Linux on some machine architectures that
5 are not maintained in the official glibc source tree.  It also includes
6 some code once used by old libc ports now defunct, which has been abandoned
7 but may be useful for some future porter to examine.  It may also include
8 some optimized functions tailored for specific CPU implementations of an
9 architecture, to be selected using --with-cpu.
11 The ports repository is cooperatively maintained by volunteers on the
12 <libc-ports@sourceware.org> mailing list, and housed in a separate
13 ports git repository.  See
14 http://www.gnu.org/software/libc/download.html for details on using
15 git.  To report a bug in code housed in the ports repository, please
16 go to http://sources.redhat.com/bugzilla/ and file a bug report under
17 the glibc "ports" component.
19 An add-on for an individual port can be made from just the sysdeps/
20 subdirectories containing the port's code.  You may want to include a
21 README and Banner of your own talking about your port's code in particular,
22 rather than the generic ones here.
24 The real source code for any ports is found in the sysdeps/ subdirectories.
25 These should be exactly what would go into the main libc source tree if you
26 were to incorporate it directly.  The only exceptions are the files
27 sysdeps/*/preconfigure and sysdeps/*/preconfigure.in; these are fragments
28 used by this add-on's configure fragment.  The purpose of these is to set
29 $base_machine et al when the main libc configure's defaults are not right
30 for some machine.  Everything else can and should be done from a normal
31 sysdeps/.../configure fragment that is used only when the configuration
32 selects that sysdeps subdirectory.  Each port that requires some special
33 treatment before the sysdeps directory list is calculated, should add a
34 sysdeps/CPU/preconfigure file; this can either be written by hand or
35 generated by Autoconf from sysdeps/CPU/preconfigure.in, and follow the
36 rules for glibc add-on configure fragments.  No preconfigure file should do
37 anything on an unrelated configuration, so that disparate ports can be put
38 into a single add-on without interfering with each other.  Files that
39 would go in scripts/data/ for libc go in data/ in ports.
41 Like all glibc add-ons, this must be used by specifying the directory in
42 the --enable-add-ons option when running glibc's configure script.
44 The GNU C Library is free software.  See the file COPYING.LIB in the
45 libc repository for copying conditions, and LICENSES for notices about
46 a few contributions that require these additional notices to be
47 distributed.  License copyright years may be listed using range
48 notation, e.g., 2000-2011, indicating that every year in the range,
49 inclusive, is a copyrightable year that would otherwise be listed
50 individually.