source: chapter06/glibc.xml@ 83528c7

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 7.10 7.10-rc1 8.0 8.0-rc1 8.1 8.1-rc1 8.1-rc2 8.2 8.2-rc1 8.3 8.3-rc1 8.3-rc2 8.4 8.4-rc1 9.0 9.0-rc1 9.1 9.1-rc1 arm cross-chap5 ml-11.0 multilib nosym old-trunk s6-init trunk xry111/clfs-ng xry111/git-transition xry111/glibc-2.34 xry111/lfs-next xry111/tester-nohack xry111/usr-move
Last change on this file since 83528c7 was 83528c7, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Update to binutils-2.27

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11101 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 32.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-glibc" role="wrap">
9 <?dbhtml filename="glibc.html"?>
10
11 <sect1info condition="script">
12 <productname>glibc</productname>
13 <productnumber>&glibc-version;</productnumber>
14 <address>&glibc-url;</address>
15 </sect1info>
16
17 <title>Glibc-&glibc-version;</title>
18
19 <indexterm zone="ch-system-glibc">
20 <primary sortas="a-Glibc">Glibc</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The Glibc package contains the main C library. This library provides
27 the basic routines for allocating memory, searching directories, opening and
28 closing files, reading and writing files, string handling, pattern matching,
29 arithmetic, and so on.</para>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
36 <seg>&glibc-ch6-sbu;</seg>
37 <seg>&glibc-ch6-du;</seg>
38 </seglistitem>
39 </segmentedlist>
40
41 </sect2>
42
43 <sect2 role="installation">
44 <title>Installation of Glibc</title>
45
46 <note><para>The Glibc build system is self-contained and will install
47 perfectly, even though the compiler specs file and linker are still
48 pointing to <filename class="directory">/tools</filename>. The specs
49 and linker cannot be adjusted before the Glibc install because the
50 Glibc autoconf tests would give false results and defeat the goal
51 of achieving a clean build.</para></note>
52
53 <para>Some of the Glibc programs use non-FHS compilant
54 <filename class="directory">/var/db</filename> directory to store
55 their runtime data. Apply the following patch to make such programs
56 store their runtime data in the FHS-compliant locations:</para>
57
58<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
59
60 <para>The Glibc documentation recommends building Glibc
61 in a dedicated build directory:</para>
62
63<screen><userinput remap="pre">mkdir -v build
64cd build</userinput></screen>
65
66 <para>Prepare Glibc for compilation:</para>
67
68<screen><userinput remap="configure">../configure --prefix=/usr \
69 --enable-kernel=&min-kernel; \
70 --enable-obsolete-rpc</userinput></screen>
71
72 <para>Compile the package:</para>
73
74<screen><userinput remap="make">make</userinput></screen>
75
76 <important>
77 <para>In this section, the test suite for Glibc is considered critical.
78 Do not skip it under any circumstance.</para>
79 </important>
80
81 <para>Generally a few tests do not pass, but you can generally ignore
82 any of the test failures listed below. Now test the build results:</para>
83
84<screen><userinput remap="test">make check</userinput></screen>
85
86 <para>You will probably see some test failures. The Glibc test suite is
87 somewhat dependent on the host system. This is a list of the most common
88 issues seen for this version of LFS:</para>
89
90 <itemizedlist>
91
92 <listitem>
93 <para><emphasis>posix/tst-getaddrinfo4</emphasis> will always fail due
94 to not having the necessary networking applications when the tests are
95 run. <emphasis>posix/tst-getaddrinfo5</emphasis> is also known
96 to fail on some architectures.</para>
97 </listitem>
98
99 <listitem>
100 <para>The <emphasis>rt/tst-cputimer1</emphasis> and
101 <emphasis>rt/tst-cpuclock2</emphasis> tests have been known to
102 fail. The reason is not completely understood, but indications are
103 that minor timing issues can trigger these failures.</para>
104 </listitem>
105
106 <listitem>
107 <para>The math tests sometimes fail when running on
108 systems where the CPU is not a relatively new Intel or
109 AMD processor.</para>
110 </listitem>
111
112 <listitem>
113 <para>The
114 <emphasis>nptl/tst-thread-affinity-{pthread,pthread2,sched}</emphasis>
115 tests may fail for reasons that have not been determined. </para>
116 </listitem>
117
118 <listitem>
119 <para>Other tests known to fail on some architectures are
120 malloc/tst-malloc-usable and nptl/tst-cleanupx4. </para>
121 </listitem>
122
123 </itemizedlist>
124
125 <para>Though it is a harmless message, the install stage of Glibc will
126 complain about the absence of <filename>/etc/ld.so.conf</filename>.
127 Prevent this warning with:</para>
128
129<screen><userinput remap="install">touch /etc/ld.so.conf</userinput></screen>
130
131 <para>Install the package:</para>
132
133<screen><userinput remap="install">make install</userinput></screen>
134
135 <para>Install the configuration file and runtime directory for
136 <command>nscd</command>:</para>
137
138<screen><userinput remap="install">cp -v ../nscd/nscd.conf /etc/nscd.conf
139mkdir -pv /var/cache/nscd</userinput></screen>
140
141 <para revision="systemd">Install the systemd support files for
142 <command>nscd</command>:</para>
143
144 <screen revision="systemd"><userinput remap="install">install -v -Dm644 ../nscd/nscd.tmpfiles /usr/lib/tmpfiles.d/nscd.conf
145install -v -Dm644 ../nscd/nscd.service /lib/systemd/system/nscd.service</userinput></screen>
146
147 <para>Next, install the locales that can make the system respond in a
148 different language. None of the locales are required, but if some of them
149 are missing, the test suites of future packages would skip important
150 testcases.</para>
151
152 <para>Individual locales can be installed using the
153 <command>localedef</command> program. E.g., the first
154 <command>localedef</command> command below combines the
155 <filename>/usr/share/i18n/locales/cs_CZ</filename>
156 charset-independent locale definition with the
157 <filename>/usr/share/i18n/charmaps/UTF-8.gz</filename>
158 charmap definition and appends the result to the
159 <filename>/usr/lib/locale/locale-archive</filename> file.
160 The following instructions will install the minimum set of
161 locales necessary for the optimal coverage of tests:</para>
162
163<screen role="nodump"><userinput remap="locale-test">mkdir -pv /usr/lib/locale
164localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8
165localedef -i de_DE -f ISO-8859-1 de_DE
166localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
167localedef -i de_DE -f UTF-8 de_DE.UTF-8
168localedef -i en_GB -f UTF-8 en_GB.UTF-8
169localedef -i en_HK -f ISO-8859-1 en_HK
170localedef -i en_PH -f ISO-8859-1 en_PH
171localedef -i en_US -f ISO-8859-1 en_US
172localedef -i en_US -f UTF-8 en_US.UTF-8
173localedef -i es_MX -f ISO-8859-1 es_MX
174localedef -i fa_IR -f UTF-8 fa_IR
175localedef -i fr_FR -f ISO-8859-1 fr_FR
176localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
177localedef -i fr_FR -f UTF-8 fr_FR.UTF-8
178localedef -i it_IT -f ISO-8859-1 it_IT
179localedef -i it_IT -f UTF-8 it_IT.UTF-8
180localedef -i ja_JP -f EUC-JP ja_JP
181localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R
182localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
183localedef -i tr_TR -f UTF-8 tr_TR.UTF-8
184localedef -i zh_CN -f GB18030 zh_CN.GB18030</userinput></screen>
185
186 <para>In addition, install the locale for your own country, language and
187 character set.</para>
188
189 <para>Alternatively, install all locales listed in the
190 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file
191 (it includes every locale listed above and many more) at once with the
192 following time-consuming command:</para>
193
194<screen><userinput remap="locale-full">make localedata/install-locales</userinput></screen>
195
196 <para>Then use the <command>localedef</command> command to create and
197 install locales not listed in the
198 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file
199 in the unlikely case you need them.</para>
200
201 </sect2>
202
203 <sect2 id="conf-glibc" role="configuration">
204 <title>Configuring Glibc</title>
205
206 <indexterm zone="conf-glibc">
207 <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary>
208 </indexterm>
209
210 <indexterm zone="conf-glibc">
211 <primary sortas="e-/etc/localtime">/etc/localtime</primary>
212 </indexterm>
213
214 <sect3>
215 <title>Adding nsswitch.conf</title>
216
217 <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created
218 because the Glibc defaults do not work well in a networked environment.
219 </para>
220
221 <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
222 following:</para>
223
224<screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
225<literal># Begin /etc/nsswitch.conf
226
227passwd: files
228group: files
229shadow: files
230
231hosts: files dns
232networks: files
233
234protocols: files
235services: files
236ethers: files
237rpc: files
238
239# End /etc/nsswitch.conf</literal>
240EOF</userinput></screen>
241
242 </sect3>
243
244 <sect3>
245 <title>Adding time zone data</title>
246
247 <para>Install and set up the time zone data with the following:</para>
248<screen><userinput>tar -xf ../../tzdata&tzdata-version;.tar.gz
249
250ZONEINFO=/usr/share/zoneinfo
251mkdir -pv $ZONEINFO/{posix,right}
252
253for tz in etcetera southamerica northamerica europe africa antarctica \
254 asia australasia backward pacificnew systemv; do
255 zic -L /dev/null -d $ZONEINFO -y "sh yearistype.sh" ${tz}
256 zic -L /dev/null -d $ZONEINFO/posix -y "sh yearistype.sh" ${tz}
257 zic -L leapseconds -d $ZONEINFO/right -y "sh yearistype.sh" ${tz}
258done
259
260cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
261zic -d $ZONEINFO -p America/New_York
262unset ZONEINFO</userinput></screen>
263
264 <variablelist>
265 <title>The meaning of the zic commands:</title>
266
267 <varlistentry>
268 <term><parameter>zic -L /dev/null ...</parameter></term>
269 <listitem>
270 <para>This creates posix time zones, without any leap seconds. It is
271 conventional to put these in both
272 <filename class="directory">zoneinfo</filename> and
273 <filename class="directory">zoneinfo/posix</filename>. It is
274 necessary to put the POSIX time zones in
275 <filename class="directory">zoneinfo</filename>, otherwise various
276 test-suites will report errors. On an embedded system, where space is
277 tight and you do not intend to ever update the time zones, you could save
278 1.9MB by not using the <filename class="directory">posix</filename>
279 directory, but some applications or test-suites might produce some
280 failures.</para>
281 </listitem>
282 </varlistentry>
283 <varlistentry>
284 <term><parameter>zic -L leapseconds ...</parameter></term>
285 <listitem>
286 <para>This creates right time zones, including leap seconds. On an
287 embedded system, where space is tight and you do not intend to
288 ever update the time zones, or care about the correct time, you could
289 save 1.9MB by omitting the <filename class="directory">right</filename>
290 directory.</para>
291 </listitem>
292 </varlistentry>
293 <varlistentry>
294 <term><parameter>zic ... -p ...</parameter></term>
295 <listitem>
296 <para>This creates the <filename>posixrules</filename> file. We use
297 New York because POSIX requires the daylight savings time rules
298 to be in accordance with US rules.</para>
299 </listitem>
300 </varlistentry>
301 </variablelist>
302
303
304 <para>One way to determine the local time zone is to run the following
305 script:</para>
306
307<screen role="nodump"><userinput>tzselect</userinput></screen>
308
309 <para>After answering a few questions about the location, the script will
310 output the name of the time zone (e.g.,
311 <emphasis>America/Edmonton</emphasis>). There are also some other possible
312 time zones listed in <filename
313 class='directory'>/usr/share/zoneinfo</filename> such as
314 <emphasis>Canada/Eastern</emphasis> or <emphasis>EST5EDT</emphasis> that
315 are not identified by the script but can be used.</para>
316
317 <para>Then create the <filename>/etc/localtime</filename> file by
318 running:</para>
319
320<screen revision="sysv"><userinput>cp -v /usr/share/zoneinfo/<replaceable>&lt;xxx&gt;</replaceable> /etc/localtime</userinput></screen>
321
322<screen revision="systemd"><userinput>ln -sfv /usr/share/zoneinfo/<replaceable>&lt;xxx&gt;</replaceable> /etc/localtime</userinput></screen>
323
324 <para>Replace <replaceable>&lt;xxx&gt;</replaceable> with the name of the
325 time zone selected (e.g., Canada/Eastern).</para>
326
327 </sect3>
328
329 <sect3 id="conf-ld" role="configuration">
330 <title>Configuring the Dynamic Loader</title>
331
332 <indexterm zone="conf-ld">
333 <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
334 </indexterm>
335
336 <para>By default, the dynamic loader (<filename
337 class="libraryfile">/lib/ld-linux.so.2</filename>) searches through
338 <filename class="directory">/lib</filename> and <filename
339 class="directory">/usr/lib</filename> for dynamic libraries that are
340 needed by programs as they are run. However, if there are libraries in
341 directories other than <filename class="directory">/lib</filename> and
342 <filename class="directory">/usr/lib</filename>, these need to be added
343 to the <filename>/etc/ld.so.conf</filename> file in order for the
344 dynamic loader to find them. Two directories that are commonly known
345 to contain additional libraries are <filename
346 class="directory">/usr/local/lib</filename> and <filename
347 class="directory">/opt/lib</filename>, so add those directories to the
348 dynamic loader's search path.</para>
349
350 <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
351 following:</para>
352
353<screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
354<literal># Begin /etc/ld.so.conf
355/usr/local/lib
356/opt/lib
357</literal>
358EOF</userinput></screen>
359
360 <para>If desired, the dynamic loader can also search a directory and
361 include the contents of files found there. Generally the files in
362 this include directory are one line specifying the desired library path.
363 To add this capability run the following commands:</para>
364
365<screen role="nodump"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; "EOF"
366<literal># Add an include directory
367include /etc/ld.so.conf.d/*.conf
368</literal>
369EOF
370mkdir -pv /etc/ld.so.conf.d</userinput></screen>
371
372 </sect3>
373 </sect2>
374
375 <sect2 id="contents-glibc" role="content">
376 <title>Contents of Glibc</title>
377
378 <segmentedlist>
379 <segtitle>Installed programs</segtitle>
380 <segtitle>Installed libraries</segtitle>
381 <segtitle>Installed directories</segtitle>
382
383 <seglistitem>
384 <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig,
385 ldd, lddlibc4, locale, localedef, makedb, mtrace, nscd,
386 pldd, rpcgen, sln, sotruss, sprof, tzselect, xtrace,
387 zdump, and zic</seg>
388 <seg>ld-&glibc-version;.so, libBrokenLocale.{a,so}, libSegFault.so, libanl.{a,so},
389 libc.{a,so}, libc_nonshared.a, libcidn.so,
390 libcrypt.{a,so}, libdl.{a,so}, libg.a, libieee.a, libm.{a,so},
391 libmcheck.a, libmemusage.so, libnsl.{a,so}, libnss_compat.so,
392 libnss_dns.so, libnss_files.so, libnss_hesiod.so, libnss_nis.so,
393 libnss_nisplus.so, libpthread.{a,so},
394 libpthread_nonshared.a, libresolv.{a,so}, librpcsvc.a, librt.{a,so},
395 libthread_db.so, and libutil.{a,so}</seg>
396 <seg>/usr/include/arpa, /usr/include/bits, /usr/include/gnu,
397 /usr/include/net, /usr/include/netash, /usr/include/netatalk,
398 /usr/include/netax25, /usr/include/neteconet, /usr/include/netinet,
399 /usr/include/netipx, /usr/include/netiucv, /usr/include/netpacket,
400 /usr/include/netrom, /usr/include/netrose, /usr/include/nfs,
401 /usr/include/protocols, /usr/include/rpc, /usr/include/rpcsvc,
402 /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/locale,
403 /usr/libexec/getconf, /usr/share/i18n, /usr/share/zoneinfo,
404 /var/cache/nscd, and /var/lib/nss_db</seg>
405 </seglistitem>
406 </segmentedlist>
407
408 <variablelist>
409 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
410 <?dbfo list-presentation="list"?>
411 <?dbhtml list-presentation="table"?>
412
413 <varlistentry id="catchsegv">
414 <term><command>catchsegv</command></term>
415 <listitem>
416 <para>Can be used to create a stack trace when a program
417 terminates with a segmentation fault</para>
418 <indexterm zone="ch-system-glibc catchsegv">
419 <primary sortas="b-catchsegv">catchsegv</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424 <varlistentry id="gencat">
425 <term><command>gencat</command></term>
426 <listitem>
427 <para>Generates message catalogues</para>
428 <indexterm zone="ch-system-glibc gencat">
429 <primary sortas="b-gencat">gencat</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="getconf">
435 <term><command>getconf</command></term>
436 <listitem>
437 <para>Displays the system configuration values for file system
438 specific variables</para>
439 <indexterm zone="ch-system-glibc getconf">
440 <primary sortas="b-getconf">getconf</primary>
441 </indexterm>
442 </listitem>
443 </varlistentry>
444
445 <varlistentry id="getent">
446 <term><command>getent</command></term>
447 <listitem>
448 <para>Gets entries from an administrative database</para>
449 <indexterm zone="ch-system-glibc getent">
450 <primary sortas="b-getent">getent</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454
455 <varlistentry id="iconv">
456 <term><command>iconv</command></term>
457 <listitem>
458 <para>Performs character set conversion</para>
459 <indexterm zone="ch-system-glibc iconv">
460 <primary sortas="b-iconv">iconv</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="iconvconfig">
466 <term><command>iconvconfig</command></term>
467 <listitem>
468 <para>Creates fastloading <command>iconv</command> module configuration
469 files</para>
470 <indexterm zone="ch-system-glibc iconvconfig">
471 <primary sortas="b-iconvconfig">iconvconfig</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 <varlistentry id="ldconfig">
477 <term><command>ldconfig</command></term>
478 <listitem>
479 <para>Configures the dynamic linker runtime bindings</para>
480 <indexterm zone="ch-system-glibc ldconfig">
481 <primary sortas="b-ldconfig">ldconfig</primary>
482 </indexterm>
483 </listitem>
484 </varlistentry>
485
486 <varlistentry id="ldd">
487 <term><command>ldd</command></term>
488 <listitem>
489 <para>Reports which shared libraries are required
490 by each given program or shared library</para>
491 <indexterm zone="ch-system-glibc ldd">
492 <primary sortas="b-ldd">ldd</primary>
493 </indexterm>
494 </listitem>
495 </varlistentry>
496
497 <varlistentry id="lddlibc4">
498 <term><command>lddlibc4</command></term>
499 <listitem>
500 <para>Assists <command>ldd</command> with object files</para>
501 <indexterm zone="ch-system-glibc lddlibc4">
502 <primary sortas="b-lddlibc4">lddlibc4</primary>
503 </indexterm>
504 </listitem>
505 </varlistentry>
506
507 <varlistentry id="locale">
508 <term><command>locale</command></term>
509 <listitem>
510 <para>Prints various information about the current locale</para>
511 <indexterm zone="ch-system-glibc locale">
512 <primary sortas="b-locale">locale</primary>
513 </indexterm>
514 </listitem>
515 </varlistentry>
516
517 <varlistentry id="localedef">
518 <term><command>localedef</command></term>
519 <listitem>
520 <para>Compiles locale specifications</para>
521 <indexterm zone="ch-system-glibc localedef">
522 <primary sortas="b-localedef">localedef</primary>
523 </indexterm>
524 </listitem>
525 </varlistentry>
526
527 <varlistentry id="makedb">
528 <term><command>makedb</command></term>
529 <listitem>
530 <para>Creates a simple database from textual input</para>
531 <indexterm zone="ch-system-glibc makedb">
532 <primary sortas="b-makedb">makedb</primary>
533 </indexterm>
534 </listitem>
535 </varlistentry>
536
537 <varlistentry id="mtrace">
538 <term><command>mtrace</command></term>
539 <listitem>
540 <para>Reads and interprets a memory trace file and displays a summary
541 in human-readable format</para>
542 <indexterm zone="ch-system-glibc mtrace">
543 <primary sortas="b-mtrace">mtrace</primary>
544 </indexterm>
545 </listitem>
546 </varlistentry>
547
548 <varlistentry id="nscd">
549 <term><command>nscd</command></term>
550 <listitem>
551 <para>A daemon that provides a cache for the most common name
552 service requests</para>
553 <indexterm zone="ch-system-glibc nscd">
554 <primary sortas="b-nscd">nscd</primary>
555 </indexterm>
556 </listitem>
557 </varlistentry>
558
559 <varlistentry id="pldd">
560 <term><command>pldd</command></term>
561 <listitem>
562 <para>Lists dynamic shared objects used by running processes</para>
563 <indexterm zone="ch-system-glibc pldd">
564 <primary sortas="b-pldd">pldd</primary>
565 </indexterm>
566 </listitem>
567 </varlistentry>
568
569 <varlistentry id="rpcgen">
570 <term><command>rpcgen</command></term>
571 <listitem>
572 <para>Generates C code to implement the Remote Procedure Call (RPC)
573 protocol</para>
574 <indexterm zone="ch-system-glibc rpcgen">
575 <primary sortas="b-rpcgen">rpcgen</primary>
576 </indexterm>
577 </listitem>
578 </varlistentry>
579
580 <varlistentry id="sln">
581 <term><command>sln</command></term>
582 <listitem>
583 <para>A statically linked <command>ln</command> program</para>
584 <indexterm zone="ch-system-glibc sln">
585 <primary sortas="b-sln">sln</primary>
586 </indexterm>
587 </listitem>
588 </varlistentry>
589
590 <varlistentry id="sotruss">
591 <term><command>sotruss</command></term>
592 <listitem>
593 <para>Traces shared library procedure calls of a specified command</para>
594 <indexterm zone="ch-system-glibc sotruss">
595 <primary sortas="b-sotruss">sotruss</primary>
596 </indexterm>
597 </listitem>
598 </varlistentry>
599
600 <varlistentry id="sprof">
601 <term><command>sprof</command></term>
602 <listitem>
603 <para>Reads and displays shared object profiling data</para>
604 <indexterm zone="ch-system-glibc sprof">
605 <primary sortas="b-sprof">sprof</primary>
606 </indexterm>
607 </listitem>
608 </varlistentry>
609
610 <varlistentry id="tzselect">
611 <term><command>tzselect</command></term>
612 <listitem>
613 <para>Asks the user about the location of the system and reports
614 the corresponding time zone description</para>
615 <indexterm zone="ch-system-glibc tzselect">
616 <primary sortas="b-tzselect">tzselect</primary>
617 </indexterm>
618 </listitem>
619 </varlistentry>
620
621 <varlistentry id="xtrace">
622 <term><command>xtrace</command></term>
623 <listitem>
624 <para>Traces the execution of a program by printing the currently
625 executed function</para>
626 <indexterm zone="ch-system-glibc xtrace">
627 <primary sortas="b-xtrace">xtrace</primary>
628 </indexterm>
629 </listitem>
630 </varlistentry>
631
632 <varlistentry id="zdump">
633 <term><command>zdump</command></term>
634 <listitem>
635 <para>The time zone dumper</para>
636 <indexterm zone="ch-system-glibc zdump">
637 <primary sortas="b-zdump">zdump</primary>
638 </indexterm>
639 </listitem>
640 </varlistentry>
641
642 <varlistentry id="zic">
643 <term><command>zic</command></term>
644 <listitem>
645 <para>The time zone compiler</para>
646 <indexterm zone="ch-system-glibc zic">
647 <primary sortas="b-zic">zic</primary>
648 </indexterm>
649 </listitem>
650 </varlistentry>
651
652 <varlistentry id="ld.so">
653 <term><filename class="libraryfile">ld-&glibc-version;.so</filename></term>
654 <listitem>
655 <para>The helper program for shared library executables</para>
656 <indexterm zone="ch-system-glibc ld.so">
657 <primary sortas="c-ld.so">ld-&glibc-version;.so</primary>
658 </indexterm>
659 </listitem>
660 </varlistentry>
661
662 <varlistentry id="libBrokenLocale">
663 <term><filename class="libraryfile">libBrokenLocale</filename></term>
664 <listitem>
665 <para>Used internally by Glibc as a gross hack to get broken programs
666 (e.g., some Motif applications) running. See comments in
667 <filename>glibc-&glibc-version;/locale/broken_cur_max.c</filename>
668 for more information</para>
669 <indexterm zone="ch-system-glibc libBrokenLocale">
670 <primary sortas="c-libBrokenLocale">libBrokenLocale</primary>
671 </indexterm>
672 </listitem>
673 </varlistentry>
674
675 <varlistentry id="libSegFault">
676 <term><filename class="libraryfile">libSegFault</filename></term>
677 <listitem>
678 <para>The segmentation fault signal handler, used by
679 <command>catchsegv</command></para>
680 <indexterm zone="ch-system-glibc libSegFault">
681 <primary sortas="c-libSegFault">libSegFault</primary>
682 </indexterm>
683 </listitem>
684 </varlistentry>
685
686 <varlistentry id="libanl">
687 <term><filename class="libraryfile">libanl</filename></term>
688 <listitem>
689 <para>An asynchronous name lookup library</para>
690 <indexterm zone="ch-system-glibc libanl">
691 <primary sortas="c-libanl">libanl</primary>
692 </indexterm>
693 </listitem>
694 </varlistentry>
695
696 <varlistentry id="libc">
697 <term><filename class="libraryfile">libc</filename></term>
698 <listitem>
699 <para>The main C library</para>
700 <indexterm zone="ch-system-glibc libc">
701 <primary sortas="c-libc">libc</primary>
702 </indexterm>
703 </listitem>
704 </varlistentry>
705
706 <varlistentry id="libcidn">
707 <term><filename class="libraryfile">libcidn</filename></term>
708 <listitem>
709 <para>Used internally by Glibc for handling internationalized domain
710 names in the <function>getaddrinfo()</function> function</para>
711 <indexterm zone="ch-system-glibc libcidn">
712 <primary sortas="c-libcidn">libcidn</primary>
713 </indexterm>
714 </listitem>
715 </varlistentry>
716
717 <varlistentry id="libcrypt">
718 <term><filename class="libraryfile">libcrypt</filename></term>
719 <listitem>
720 <para>The cryptography library</para>
721 <indexterm zone="ch-system-glibc libcrypt">
722 <primary sortas="c-libcrypt">libcrypt</primary>
723 </indexterm>
724 </listitem>
725 </varlistentry>
726
727 <varlistentry id="libdl">
728 <term><filename class="libraryfile">libdl</filename></term>
729 <listitem>
730 <para>The dynamic linking interface library</para>
731 <indexterm zone="ch-system-glibc libdl">
732 <primary sortas="c-libdl">libdl</primary>
733 </indexterm>
734 </listitem>
735 </varlistentry>
736
737 <varlistentry id="libg">
738 <term><filename class="libraryfile">libg</filename></term>
739 <listitem>
740 <para>Dummy library containing no functions. Previously was a runtime
741 library for <command>g++</command></para>
742 <indexterm zone="ch-system-glibc libg">
743 <primary sortas="c-libg">libg</primary>
744 </indexterm>
745 </listitem>
746 </varlistentry>
747
748 <varlistentry id="libieee">
749 <term><filename class="libraryfile">libieee</filename></term>
750 <listitem>
751 <para>Linking in this module forces error handling rules for math
752 functions as defined by the Institute of Electrical and Electronic
753 Engineers (IEEE). The default is POSIX.1 error handling</para>
754 <indexterm zone="ch-system-glibc libieee">
755 <primary sortas="c-libieee">libieee</primary>
756 </indexterm>
757 </listitem>
758 </varlistentry>
759
760 <varlistentry id="libm">
761 <term><filename class="libraryfile">libm</filename></term>
762 <listitem>
763 <para>The mathematical library</para>
764 <indexterm zone="ch-system-glibc libm">
765 <primary sortas="c-libm">libm</primary>
766 </indexterm>
767 </listitem>
768 </varlistentry>
769
770 <varlistentry id="libmcheck">
771 <term><filename class="libraryfile">libmcheck</filename></term>
772 <listitem>
773 <para>Turns on memory allocation checking when linked to</para>
774 <indexterm zone="ch-system-glibc libmcheck">
775 <primary sortas="c-libmcheck">libmcheck</primary>
776 </indexterm>
777 </listitem>
778 </varlistentry>
779
780 <varlistentry id="libmemusage">
781 <term><filename class="libraryfile">libmemusage</filename></term>
782 <listitem>
783 <para>Used by <command>memusage</command> to help collect
784 information about the memory usage of a program</para>
785 <indexterm zone="ch-system-glibc libmemusage">
786 <primary sortas="c-libmemusage">libmemusage</primary>
787 </indexterm>
788 </listitem>
789 </varlistentry>
790
791 <varlistentry id="libnsl">
792 <term><filename class="libraryfile">libnsl</filename></term>
793 <listitem>
794 <para>The network services library</para>
795 <indexterm zone="ch-system-glibc libnsl">
796 <primary sortas="c-libnsl">libnsl</primary>
797 </indexterm>
798 </listitem>
799 </varlistentry>
800
801 <varlistentry id="libnss">
802 <term><filename class="libraryfile">libnss</filename></term>
803 <listitem>
804 <para>The Name Service Switch libraries, containing functions for
805 resolving host names, user names, group names, aliases, services,
806 protocols, etc.</para>
807 <indexterm zone="ch-system-glibc libnss">
808 <primary sortas="c-libnss">libnss</primary>
809 </indexterm>
810 </listitem>
811 </varlistentry>
812
813 <varlistentry id="libpthread">
814 <term><filename class="libraryfile">libpthread</filename></term>
815 <listitem>
816 <para>The POSIX threads library</para>
817 <indexterm zone="ch-system-glibc libpthread">
818 <primary sortas="c-libpthread">libpthread</primary>
819 </indexterm>
820 </listitem>
821 </varlistentry>
822
823 <varlistentry id="libresolv">
824 <term><filename class="libraryfile">libresolv</filename></term>
825 <listitem>
826 <para>Contains functions for creating, sending, and interpreting
827 packets to the Internet domain name servers</para>
828 <indexterm zone="ch-system-glibc libresolv">
829 <primary sortas="c-libresolv">libresolv</primary>
830 </indexterm>
831 </listitem>
832 </varlistentry>
833
834 <varlistentry id="librpcsvc">
835 <term><filename class="libraryfile">librpcsvc</filename></term>
836 <listitem>
837 <para>Contains functions providing miscellaneous RPC services</para>
838 <indexterm zone="ch-system-glibc librpcsvc">
839 <primary sortas="c-librpcsvc">librpcsvc</primary>
840 </indexterm>
841 </listitem>
842 </varlistentry>
843
844 <varlistentry id="librt">
845 <term><filename class="libraryfile">librt</filename></term>
846 <listitem>
847 <para>Contains functions providing most of the interfaces specified
848 by the POSIX.1b Realtime Extension</para>
849 <indexterm zone="ch-system-glibc librt">
850 <primary sortas="c-librt">librt</primary>
851 </indexterm>
852 </listitem>
853 </varlistentry>
854
855 <varlistentry id="libthread_db">
856 <term><filename class="libraryfile">libthread_db</filename></term>
857 <listitem>
858 <para>Contains functions useful for building debuggers for
859 multi-threaded programs</para>
860 <indexterm zone="ch-system-glibc libthread_db">
861 <primary sortas="c-libthread_db">libthread_db</primary>
862 </indexterm>
863 </listitem>
864 </varlistentry>
865
866 <varlistentry id="libutil">
867 <term><filename class="libraryfile">libutil</filename></term>
868 <listitem>
869 <para>Contains code for <quote>standard</quote> functions used in
870 many different Unix utilities</para>
871 <indexterm zone="ch-system-glibc libutil">
872 <primary sortas="c-libutil">libutil</primary>
873 </indexterm>
874 </listitem>
875 </varlistentry>
876
877 </variablelist>
878
879 </sect2>
880
881</sect1>
Note: See TracBrowser for help on using the repository browser.