| [02095ae] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | 
|---|
|  | 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" | 
|---|
|  | 3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ | 
|---|
|  | 4 | <!ENTITY % general-entities SYSTEM "../../general.ent"> | 
|---|
|  | 5 | %general-entities; | 
|---|
|  | 6 | ]> | 
|---|
|  | 7 |  | 
|---|
|  | 8 | <sect1 id="ch-cross-tools-glibc" role="wrap"> | 
|---|
|  | 9 | <?dbhtml filename="glibc.html"?> | 
|---|
|  | 10 |  | 
|---|
|  | 11 | <title>Glibc-&glibc-version;</title> | 
|---|
|  | 12 |  | 
|---|
|  | 13 | <indexterm zone="ch-cross-tools-glibc"> | 
|---|
|  | 14 | <primary sortas="a-Glibc">Glibc</primary> | 
|---|
|  | 15 | <secondary>cross tools</secondary> | 
|---|
|  | 16 | </indexterm> | 
|---|
|  | 17 |  | 
|---|
|  | 18 | <sect2 role="package"> | 
|---|
|  | 19 | <title/> | 
|---|
|  | 20 |  | 
|---|
|  | 21 | <para>The Glibc package contains the main C library. This library provides | 
|---|
|  | 22 | the basic routines for allocating memory, searching directories, opening and | 
|---|
|  | 23 | closing files, reading and writing files, string handling, pattern matching, | 
|---|
|  | 24 | arithmetic, and so on.</para> | 
|---|
|  | 25 |  | 
|---|
|  | 26 | </sect2> | 
|---|
|  | 27 |  | 
|---|
|  | 28 | <sect2 role="installation"> | 
|---|
|  | 29 | <title>Installation of Glibc</title> | 
|---|
|  | 30 |  | 
|---|
|  | 31 | <note os="a"> | 
|---|
| [5590e0d] | 32 | <para>Some packages outside of CLFS suggest installing GNU libiconv in | 
|---|
| [02095ae] | 33 | order to translate data from one encoding to another. The project's | 
|---|
|  | 34 | home page (<ulink url="http://www.gnu.org/software/libiconv/"/>) says | 
|---|
|  | 35 | <quote>This library provides an <function>iconv()</function> | 
|---|
|  | 36 | implementation, for use on systems which don't have one, or whose | 
|---|
|  | 37 | implementation cannot convert from/to Unicode.</quote> Glibc provides | 
|---|
|  | 38 | an <function>iconv()</function> implementation and can convert from/to | 
|---|
| [5590e0d] | 39 | Unicode, therefore libiconv is not required on an CLFS system.</para> | 
|---|
| [02095ae] | 40 | </note> | 
|---|
|  | 41 |  | 
|---|
| [b47f947] | 42 | <para os="p1">The Glibc build will expect to find | 
|---|
|  | 43 | <filename>libgcc_eh</filename>, but this library is not installed when GCC | 
|---|
|  | 44 | is built without "--enable-shared". As a result, the Glibc build will fail. | 
|---|
|  | 45 | The following patch will force Glibc to  check for the existance of | 
|---|
|  | 46 | <filename>libgcc_eh</filename> and try to link to it only if it exists:</para> | 
|---|
| [02095ae] | 47 |  | 
|---|
|  | 48 | <screen os="p2"><userinput>patch -Np1 -i ../&glibc-libgcc_eh-patch;</userinput></screen> | 
|---|
|  | 49 |  | 
|---|
|  | 50 | <para os="p3">The following patch fixes an issue that can | 
|---|
|  | 51 | cause <command>localdef</command> to segfault:</para> | 
|---|
|  | 52 |  | 
|---|
|  | 53 | <screen os="p4"><userinput>patch -Np1 -i ../&glibc-localedef_segfault-patch;</userinput></screen> | 
|---|
|  | 54 |  | 
|---|
| [32edd3a] | 55 | <para os="p5">The following patch builds <filename>zic-native</filename>, | 
|---|
|  | 56 | <filename>localedef-native</filename>, and | 
|---|
|  | 57 | <filename>rpcgen-native</filename>. <filename>zic-native</filename> is used | 
|---|
|  | 58 | to generate the zoneinfo, <filename>localedef-native</filename> is used to | 
|---|
|  | 59 | generate the locale archive, and <filename>rpcgen-native</filename> is used | 
|---|
| [b47f947] | 60 | to generate part of <filename>librpcsvc.a</filename>. All of these programs | 
|---|
|  | 61 | would normally not be available when cross-compiling:</para> | 
|---|
| [1531f18] | 62 |  | 
|---|
| [32edd3a] | 63 | <screen os="p6"><userinput>patch -Np1 -i ../&glibc-cross_hacks-patch;</userinput></screen> | 
|---|
| [1531f18] | 64 |  | 
|---|
| [668e60a] | 65 | <para os="p7">The following patches merges all updates from the 2.5 Branch from | 
|---|
|  | 66 | the Glibc developers:</para> | 
|---|
| [f7941b2] | 67 |  | 
|---|
| [668e60a] | 68 | <screen os="p8"><userinput>patch -Np1 -i ../&glibc-branch_update-patch;</userinput></screen> | 
|---|
| [f7941b2] | 69 |  | 
|---|
| [02095ae] | 70 | <para os="b">The Glibc documentation recommends building Glibc outside of the | 
|---|
|  | 71 | source directory in a dedicated build directory:</para> | 
|---|
|  | 72 |  | 
|---|
|  | 73 | <screen os="c"><userinput>mkdir -v ../glibc-build | 
|---|
|  | 74 | cd ../glibc-build</userinput></screen> | 
|---|
|  | 75 |  | 
|---|
|  | 76 | <para os="d">The following lines need to be added to | 
|---|
|  | 77 | <filename>config.cache</filename> for Glibc to support NPTL:</para> | 
|---|
|  | 78 |  | 
|---|
|  | 79 | <screen os="e"><userinput>echo "libc_cv_forced_unwind=yes" > config.cache | 
|---|
|  | 80 | echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen> | 
|---|
|  | 81 |  | 
|---|
|  | 82 | <para os="f">The following line needs to be added to | 
|---|
| [b47f947] | 83 | <filename>configparms</filename> to adjust installation paths:</para> | 
|---|
| [02095ae] | 84 |  | 
|---|
| [586feb7] | 85 | <screen os="g"><userinput>echo "install_root=${CLFS}" > configparms</userinput></screen> | 
|---|
| [02095ae] | 86 |  | 
|---|
|  | 87 | <para os="h">Prepare Glibc for compilation:</para> | 
|---|
|  | 88 |  | 
|---|
| [586feb7] | 89 | <screen os="i"><userinput>BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc" \ | 
|---|
|  | 90 | AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \ | 
|---|
| [02095ae] | 91 | ../glibc-&glibc-version;/configure --prefix=/usr --libexecdir=/usr/lib/glibc \ | 
|---|
| [586feb7] | 92 | --host=${CLFS_TARGET} --build=${CLFS_HOST} \ | 
|---|
| [02095ae] | 93 | --disable-profile --enable-add-ons \ | 
|---|
|  | 94 | --with-tls --enable-kernel=2.6.0 --with-__thread \ | 
|---|
| [586feb7] | 95 | --with-binutils=${CLFS}/cross-tools/bin --with-headers=${CLFS}/usr/include \ | 
|---|
| [02095ae] | 96 | --cache-file=config.cache</userinput></screen> | 
|---|
|  | 97 |  | 
|---|
| [1f0a9c9] | 98 | <variablelist os="j"> | 
|---|
| [02095ae] | 99 | <title>The meaning of the new configure options:</title> | 
|---|
|  | 100 |  | 
|---|
| [1f0a9c9] | 101 | <varlistentry os="j1"> | 
|---|
| [02095ae] | 102 | <term><parameter>BUILD_CC="gcc"</parameter></term> | 
|---|
|  | 103 | <listitem> | 
|---|
| [0f3bffc] | 104 | <para>This tells Glibc to use the compiler on the host system. This is | 
|---|
| [02095ae] | 105 | used to create the tools Glibc uses during its build.</para> | 
|---|
|  | 106 | </listitem> | 
|---|
|  | 107 | </varlistentry> | 
|---|
|  | 108 |  | 
|---|
| [1f0a9c9] | 109 | <varlistentry os="j2"> | 
|---|
| [586feb7] | 110 | <term><parameter>CC="${CLFS_TARGET}-gcc"</parameter></term> | 
|---|
| [02095ae] | 111 | <listitem> | 
|---|
|  | 112 | <para>This forces Glibc to use the GCC compiler that we made for our target | 
|---|
|  | 113 | architecture.</para> | 
|---|
|  | 114 | </listitem> | 
|---|
|  | 115 | </varlistentry> | 
|---|
|  | 116 |  | 
|---|
| [1f0a9c9] | 117 | <varlistentry os="j3"> | 
|---|
| [586feb7] | 118 | <term><parameter>AR="${CLFS_TARGET}-ar"</parameter></term> | 
|---|
| [02095ae] | 119 | <listitem> | 
|---|
|  | 120 | <para>This forces Glibc to use the <command>ar</command> utility | 
|---|
|  | 121 | we made for our target architecture.</para> | 
|---|
|  | 122 | </listitem> | 
|---|
|  | 123 | </varlistentry> | 
|---|
|  | 124 |  | 
|---|
| [1f0a9c9] | 125 | <varlistentry os="j4"> | 
|---|
| [586feb7] | 126 | <term><parameter>RANLIB="${CLFS_TARGET}-ranlib"</parameter></term> | 
|---|
| [02095ae] | 127 | <listitem> | 
|---|
|  | 128 | <para>This forces Glibc to use the <command>ranlib</command> utility | 
|---|
|  | 129 | we made for our target architecture.</para> | 
|---|
|  | 130 | </listitem> | 
|---|
|  | 131 | </varlistentry> | 
|---|
|  | 132 |  | 
|---|
| [1f0a9c9] | 133 | <varlistentry os="j5"> | 
|---|
| [02095ae] | 134 | <term><parameter>--disable-profile</parameter></term> | 
|---|
|  | 135 | <listitem> | 
|---|
|  | 136 | <para>This builds the libraries without profiling information. | 
|---|
|  | 137 | Omit this option if profiling on the temporary tools is necessary.</para> | 
|---|
|  | 138 | </listitem> | 
|---|
|  | 139 | </varlistentry> | 
|---|
|  | 140 |  | 
|---|
| [1f0a9c9] | 141 | <varlistentry os="j6"> | 
|---|
| [02095ae] | 142 | <term><parameter>--enable-add-ons</parameter></term> | 
|---|
|  | 143 | <listitem> | 
|---|
|  | 144 | <para>This tells Glibc to utilize all add-ons that are | 
|---|
|  | 145 | available.</para> | 
|---|
|  | 146 | </listitem> | 
|---|
|  | 147 | </varlistentry> | 
|---|
|  | 148 |  | 
|---|
| [1f0a9c9] | 149 | <varlistentry os="j7"> | 
|---|
| [02095ae] | 150 | <term><parameter>--with-tls</parameter></term> | 
|---|
|  | 151 | <listitem> | 
|---|
|  | 152 | <para>This tells Glibc to use Thread Local Storage.</para> | 
|---|
|  | 153 | </listitem> | 
|---|
|  | 154 | </varlistentry> | 
|---|
|  | 155 |  | 
|---|
| [1f0a9c9] | 156 | <varlistentry os="j8"> | 
|---|
| [02095ae] | 157 | <term><parameter>--with-__thread</parameter></term> | 
|---|
|  | 158 | <listitem> | 
|---|
|  | 159 | <para>This tells Glibc to use use the __thread for libc and | 
|---|
|  | 160 | libpthread builds.</para> | 
|---|
|  | 161 | </listitem> | 
|---|
|  | 162 | </varlistentry> | 
|---|
|  | 163 |  | 
|---|
| [1f0a9c9] | 164 | <varlistentry os="j9"> | 
|---|
| [586feb7] | 165 | <term><parameter>--with-binutils=${CLFS}/cross-tools/bin</parameter></term> | 
|---|
| [02095ae] | 166 | <listitem> | 
|---|
|  | 167 | <para>This tells Glibc to use the Binutils that are specific to | 
|---|
|  | 168 | our target architecture.</para> | 
|---|
|  | 169 | </listitem> | 
|---|
|  | 170 | </varlistentry> | 
|---|
|  | 171 |  | 
|---|
| [1f0a9c9] | 172 | <varlistentry os="j10"> | 
|---|
| [02095ae] | 173 | <term><parameter>--cache-file=config.cache</parameter></term> | 
|---|
|  | 174 | <listitem> | 
|---|
|  | 175 | <para>This tells Glibc to utilize a premade cache file.</para> | 
|---|
|  | 176 | </listitem> | 
|---|
|  | 177 | </varlistentry> | 
|---|
|  | 178 |  | 
|---|
|  | 179 | </variablelist> | 
|---|
|  | 180 |  | 
|---|
|  | 181 | <para os="k">During this stage the following warning might appear:</para> | 
|---|
|  | 182 |  | 
|---|
|  | 183 | <blockquote os="l"><screen><computeroutput>configure: WARNING: | 
|---|
|  | 184 | *** These auxiliary programs are missing or | 
|---|
|  | 185 | *** incompatible versions: msgfmt | 
|---|
|  | 186 | *** some features will be disabled. | 
|---|
|  | 187 | *** Check the INSTALL file for required versions.</computeroutput></screen></blockquote> | 
|---|
|  | 188 |  | 
|---|
|  | 189 | <para os="m">The missing or incompatible <command>msgfmt</command> program is | 
|---|
|  | 190 | generally harmless. This <command>msgfmt</command> program is part of the | 
|---|
|  | 191 | Gettext package which the host distribution should provide.</para> | 
|---|
|  | 192 |  | 
|---|
|  | 193 | <para os="n">Compile the package:</para> | 
|---|
|  | 194 |  | 
|---|
|  | 195 | <screen os="o"><userinput>make</userinput></screen> | 
|---|
|  | 196 |  | 
|---|
|  | 197 | <para os="p">Install the package:</para> | 
|---|
|  | 198 |  | 
|---|
|  | 199 | <screen os="q"><userinput>make install</userinput></screen> | 
|---|
|  | 200 |  | 
|---|
|  | 201 | </sect2> | 
|---|
|  | 202 |  | 
|---|
|  | 203 | <sect2 id="i18n-glibc" role="configuration"> | 
|---|
| [32edd3a] | 204 | <title>Internationalization</title> | 
|---|
| [02095ae] | 205 |  | 
|---|
|  | 206 | <para>The locales that can make the system respond in a different | 
|---|
|  | 207 | language were not installed by the above command. Install them | 
|---|
|  | 208 | with:</para> | 
|---|
|  | 209 |  | 
|---|
| [32edd3a] | 210 | <screen><userinput>make localedata/install-locales</userinput></screen> | 
|---|
| [02095ae] | 211 |  | 
|---|
|  | 212 | <para>To save time, an alternative to running the previous command (which | 
|---|
|  | 213 | generates and installs every locale listed in the | 
|---|
|  | 214 | glibc-&glibc-version;/localedata/SUPPORTED file) is to install only | 
|---|
|  | 215 | those locales that are wanted and needed. This can be achieved by using | 
|---|
|  | 216 | the <command>localedef</command> command. Information on this command is | 
|---|
|  | 217 | located in the <filename>INSTALL</filename> file in the Glibc source. | 
|---|
|  | 218 | However, there are a number of locales that are essential in order for the | 
|---|
|  | 219 | tests of future packages to pass, in particular, the | 
|---|
|  | 220 | <emphasis>libstdc++</emphasis> tests from GCC. The following instructions, | 
|---|
|  | 221 | instead of the <parameter>install-locales</parameter> target used above, | 
|---|
|  | 222 | will install the minimum set of locales necessary for the tests to run | 
|---|
|  | 223 | successfully:</para> | 
|---|
|  | 224 |  | 
|---|
| [586feb7] | 225 | <screen role="nodump"><userinput>mkdir -pv ${CLFS}/usr/lib/locale | 
|---|
| [32edd3a] | 226 | export I18NPATH=${PWD}/localedata | 
|---|
|  | 227 | export GCONV_PATH=${PWD}/iconvdata | 
|---|
|  | 228 | export LOCALEDEF="${PWD}/locale/localedef-native --alias-file=../intl/locale.alias" | 
|---|
|  | 229 | cd ../glibc-&glibc-version;/localedata | 
|---|
|  | 230 | ${LOCALEDEF} -i locales/de_DE -f charmaps/ISO-8859-1 --prefix=${CLFS} de_DE | 
|---|
|  | 231 | ${LOCALEDEF} -i locales/de_DE@euro -f charmaps/ISO-8859-15 --prefix=${CLFS} de_DE@euro | 
|---|
|  | 232 | ${LOCALEDEF} -i locales/en_HK -f charmaps/ISO-8859-1 --prefix=${CLFS} en_HK | 
|---|
|  | 233 | ${LOCALEDEF} -i locales/en_PH -f charmaps/ISO-8859-1 --prefix=${CLFS} en_PH | 
|---|
|  | 234 | ${LOCALEDEF} -i locales/en_US -f charmaps/ISO-8859-1 --prefix=${CLFS} en_US | 
|---|
|  | 235 | ${LOCALEDEF} -i locales/es_MX -f charmaps/ISO-8859-1 --prefix=${CLFS} es_MX | 
|---|
|  | 236 | ${LOCALEDEF} -i locales/fa_IR -f charmaps/UTF-8 --prefix=${CLFS} fa_IR | 
|---|
|  | 237 | ${LOCALEDEF} -i locales/fr_FR -f charmaps/ISO-8859-1 --prefix=${CLFS} fr_FR | 
|---|
|  | 238 | ${LOCALEDEF} -i locales/fr_FR@euro -f charmaps/ISO-8859-15 --prefix=${CLFS} fr_FR@euro | 
|---|
|  | 239 | ${LOCALEDEF} -i locales/it_IT -f charmaps/ISO-8859-1 --prefix=${CLFS} it_IT | 
|---|
| [047139b] | 240 | ${LOCALEDEF} -i locales/ja_JP -f charmaps/EUC-JP --prefix=${CLFS} ja_JP | 
|---|
|  | 241 | unset I18NPATH GCONV_PATH LOCALEDEF</userinput></screen> | 
|---|
| [02095ae] | 242 |  | 
|---|
|  | 243 | <para>Some locales installed by the <command>make | 
|---|
|  | 244 | localedata/install-locales</command> command above are not properly | 
|---|
| [b47f947] | 245 | supported by some applications that are in the CLFS and BLFS books. Because | 
|---|
| [02095ae] | 246 | of the various problems that arise due to application programmers making | 
|---|
| [755f44a] | 247 | assumptions that break in such locales, CLFS should not be used in locales | 
|---|
| [02095ae] | 248 | that utilize multibyte character sets (including UTF-8) or right-to-left | 
|---|
|  | 249 | writing order.  Numerous unofficial and unstable patches are required to | 
|---|
| [755f44a] | 250 | fix these problems, and it has been decided by the CLFS developers not to | 
|---|
| [02095ae] | 251 | support such complex locales at this time. This applies to the ja_JP and | 
|---|
|  | 252 | fa_IR locales as well—they have been installed only for GCC and | 
|---|
|  | 253 | Gettext tests to pass, and the <command>watch</command> program (part of | 
|---|
|  | 254 | the Procps package) does not work properly in them. Various attempts to | 
|---|
|  | 255 | circumvent these restrictions are documented in internationalization-related | 
|---|
|  | 256 | hints.</para> | 
|---|
|  | 257 |  | 
|---|
|  | 258 | </sect2> | 
|---|
|  | 259 |  | 
|---|
|  | 260 | <sect2 id="conf-glibc" role="configuration"> | 
|---|
|  | 261 | <title>Configuring Glibc</title> | 
|---|
|  | 262 |  | 
|---|
|  | 263 | <indexterm zone="conf-glibc"> | 
|---|
|  | 264 | <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary> | 
|---|
|  | 265 | </indexterm> | 
|---|
|  | 266 |  | 
|---|
|  | 267 | <indexterm zone="conf-glibc"> | 
|---|
|  | 268 | <primary sortas="e-/etc/localtime">/etc/localtime</primary> | 
|---|
|  | 269 | </indexterm> | 
|---|
|  | 270 |  | 
|---|
|  | 271 | <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created | 
|---|
|  | 272 | because, although Glibc provides defaults when this file is missing or | 
|---|
|  | 273 | corrupt, the Glibc defaults do not work well in a networked environment. | 
|---|
|  | 274 | The time zone also needs to be configured.</para> | 
|---|
|  | 275 |  | 
|---|
|  | 276 | <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running | 
|---|
|  | 277 | the following:</para> | 
|---|
|  | 278 |  | 
|---|
| [586feb7] | 279 | <screen><userinput>cat > ${CLFS}/etc/nsswitch.conf << "EOF" | 
|---|
| [02095ae] | 280 | <literal># Begin /etc/nsswitch.conf | 
|---|
|  | 281 |  | 
|---|
|  | 282 | passwd: files | 
|---|
|  | 283 | group: files | 
|---|
|  | 284 | shadow: files | 
|---|
|  | 285 |  | 
|---|
|  | 286 | hosts: files dns | 
|---|
|  | 287 | networks: files | 
|---|
|  | 288 |  | 
|---|
|  | 289 | protocols: files | 
|---|
|  | 290 | services: files | 
|---|
|  | 291 | ethers: files | 
|---|
|  | 292 | rpc: files | 
|---|
|  | 293 |  | 
|---|
|  | 294 | # End /etc/nsswitch.conf</literal> | 
|---|
|  | 295 | EOF</userinput></screen> | 
|---|
|  | 296 |  | 
|---|
|  | 297 | <para>To determine the local time zone, run the following script:</para> | 
|---|
|  | 298 |  | 
|---|
| [f15f637] | 299 | <screen role="nodump"><userinput>TZDIR="${CLFS}/usr/share/zoneinfo" ${CLFS}/usr/bin/tzselect</userinput></screen> | 
|---|
| [02095ae] | 300 |  | 
|---|
|  | 301 | <para>After answering a few questions about the location, the script will | 
|---|
|  | 302 | output the name of the time zone (e.g., <emphasis>EST5EDT</emphasis> or | 
|---|
|  | 303 | <emphasis>Canada/Eastern</emphasis>). Then create the | 
|---|
|  | 304 | <filename>/etc/localtime</filename> file by running:</para> | 
|---|
|  | 305 |  | 
|---|
| [19474b9] | 306 | <screen><userinput>cp -v --remove-destination ${CLFS}/usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \ | 
|---|
| [586feb7] | 307 | ${CLFS}/etc/localtime</userinput></screen> | 
|---|
| [02095ae] | 308 |  | 
|---|
|  | 309 | <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone | 
|---|
|  | 310 | that <command>tzselect</command> provided (e.g., Canada/Eastern).</para> | 
|---|
|  | 311 |  | 
|---|
| [19474b9] | 312 | <variablelist> | 
|---|
|  | 313 | <title>The meaning of the cp option:</title> | 
|---|
|  | 314 |  | 
|---|
|  | 315 | <varlistentry> | 
|---|
|  | 316 | <term><parameter>--remove-destination</parameter></term> | 
|---|
|  | 317 | <listitem> | 
|---|
|  | 318 | <para>This is needed to force removal of the already existing symbolic | 
|---|
|  | 319 | link. The reason for copying the file instead of using a symlink is to | 
|---|
|  | 320 | cover the situation where <filename class="directory">/usr</filename> | 
|---|
|  | 321 | is on a separate partition. This could be important when booted into | 
|---|
|  | 322 | single user mode.</para> | 
|---|
|  | 323 | </listitem> | 
|---|
|  | 324 | </varlistentry> | 
|---|
|  | 325 | </variablelist> | 
|---|
|  | 326 |  | 
|---|
| [02095ae] | 327 | </sect2> | 
|---|
|  | 328 |  | 
|---|
|  | 329 | <sect2 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 | 
|---|
|  | 343 | added to the <filename>/etc/ld.so.conf</filename> file in order | 
|---|
|  | 344 | for the dynamic loader to find them. Two directories that are commonly | 
|---|
|  | 345 | known 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 |  | 
|---|
| [586feb7] | 353 | <screen><userinput>cat > ${CLFS}/etc/ld.so.conf << "EOF" | 
|---|
| [02095ae] | 354 | <literal># Begin /etc/ld.so.conf | 
|---|
|  | 355 |  | 
|---|
|  | 356 | /usr/local/lib | 
|---|
|  | 357 | /opt/lib | 
|---|
|  | 358 |  | 
|---|
|  | 359 | # End /etc/ld.so.conf</literal> | 
|---|
|  | 360 | EOF</userinput></screen> | 
|---|
|  | 361 |  | 
|---|
|  | 362 | </sect2> | 
|---|
|  | 363 |  | 
|---|
|  | 364 | <sect2 id="contents-glibc" role="content"> | 
|---|
|  | 365 | <title>Contents of Glibc</title> | 
|---|
|  | 366 |  | 
|---|
|  | 367 | <segmentedlist> | 
|---|
|  | 368 | <segtitle>Installed programs</segtitle> | 
|---|
|  | 369 | <segtitle>Installed libraries</segtitle> | 
|---|
|  | 370 |  | 
|---|
|  | 371 | <seglistitem> | 
|---|
|  | 372 | <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig, | 
|---|
| [59fb197] | 373 | ldd, lddlibc4, locale, localedef, mtrace, nscd, | 
|---|
| [02095ae] | 374 | pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, | 
|---|
|  | 375 | zdump, and zic</seg> | 
|---|
|  | 376 | <seg>ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], | 
|---|
|  | 377 | libbsd-compat.a, libc.[a,so], libcrypt.[a,so], libdl.[a,so], libg.a, | 
|---|
|  | 378 | libieee.a, libm.[a,so], libmcheck.a, libmemusage.so, libnsl.a, | 
|---|
|  | 379 | libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, | 
|---|
|  | 380 | libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], | 
|---|
|  | 381 | libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so, and | 
|---|
|  | 382 | libutil.[a,so]</seg> | 
|---|
|  | 383 | </seglistitem> | 
|---|
|  | 384 | </segmentedlist> | 
|---|
|  | 385 |  | 
|---|
|  | 386 | <variablelist> | 
|---|
|  | 387 | <bridgehead renderas="sect3">Short Descriptions</bridgehead> | 
|---|
|  | 388 | <?dbfo list-presentation="list"?> | 
|---|
|  | 389 | <?dbhtml list-presentation="table"?> | 
|---|
|  | 390 |  | 
|---|
|  | 391 | <varlistentry id="catchsegv"> | 
|---|
|  | 392 | <term><command>catchsegv</command></term> | 
|---|
|  | 393 | <listitem> | 
|---|
|  | 394 | <para>Can be used to create a stack trace when a program | 
|---|
|  | 395 | terminates with a segmentation fault</para> | 
|---|
| [3349a3a] | 396 | <indexterm zone="ch-cross-tools-glibc catchsegv"> | 
|---|
| [02095ae] | 397 | <primary sortas="b-catchsegv">catchsegv</primary> | 
|---|
|  | 398 | </indexterm> | 
|---|
|  | 399 | </listitem> | 
|---|
|  | 400 | </varlistentry> | 
|---|
|  | 401 |  | 
|---|
|  | 402 | <varlistentry id="gencat"> | 
|---|
|  | 403 | <term><command>gencat</command></term> | 
|---|
|  | 404 | <listitem> | 
|---|
|  | 405 | <para>Generates message catalogues</para> | 
|---|
| [3349a3a] | 406 | <indexterm zone="ch-cross-tools-glibc gencat"> | 
|---|
| [02095ae] | 407 | <primary sortas="b-gencat">gencat</primary> | 
|---|
|  | 408 | </indexterm> | 
|---|
|  | 409 | </listitem> | 
|---|
|  | 410 | </varlistentry> | 
|---|
|  | 411 |  | 
|---|
|  | 412 | <varlistentry id="getconf"> | 
|---|
|  | 413 | <term><command>getconf</command></term> | 
|---|
|  | 414 | <listitem> | 
|---|
|  | 415 | <para>Displays the system configuration values for file system specific | 
|---|
|  | 416 | variables</para> | 
|---|
| [3349a3a] | 417 | <indexterm zone="ch-cross-tools-glibc getconf"> | 
|---|
| [02095ae] | 418 | <primary sortas="b-getconf">getconf</primary> | 
|---|
|  | 419 | </indexterm> | 
|---|
|  | 420 | </listitem> | 
|---|
|  | 421 | </varlistentry> | 
|---|
|  | 422 |  | 
|---|
|  | 423 | <varlistentry id="getent"> | 
|---|
|  | 424 | <term><command>getent</command></term> | 
|---|
|  | 425 | <listitem> | 
|---|
|  | 426 | <para>Gets entries from an administrative database</para> | 
|---|
| [3349a3a] | 427 | <indexterm zone="ch-cross-tools-glibc getent"> | 
|---|
| [02095ae] | 428 | <primary sortas="b-getent">getent</primary> | 
|---|
|  | 429 | </indexterm> | 
|---|
|  | 430 | </listitem> | 
|---|
|  | 431 | </varlistentry> | 
|---|
|  | 432 |  | 
|---|
|  | 433 | <varlistentry id="iconv"> | 
|---|
|  | 434 | <term><command>iconv</command></term> | 
|---|
|  | 435 | <listitem> | 
|---|
|  | 436 | <para>Performs character set conversion</para> | 
|---|
| [3349a3a] | 437 | <indexterm zone="ch-cross-tools-glibc iconv"> | 
|---|
| [02095ae] | 438 | <primary sortas="b-iconv">iconv</primary> | 
|---|
|  | 439 | </indexterm> | 
|---|
|  | 440 | </listitem> | 
|---|
|  | 441 | </varlistentry> | 
|---|
|  | 442 |  | 
|---|
|  | 443 | <varlistentry id="iconvconfig"> | 
|---|
|  | 444 | <term><command>iconvconfig</command></term> | 
|---|
|  | 445 | <listitem> | 
|---|
|  | 446 | <para>Creates fastloading <command>iconv</command> module configuration | 
|---|
|  | 447 | files</para> | 
|---|
| [3349a3a] | 448 | <indexterm zone="ch-cross-tools-glibc iconvconfig"> | 
|---|
| [02095ae] | 449 | <primary sortas="b-iconvconfig">iconvconfig</primary> | 
|---|
|  | 450 | </indexterm> | 
|---|
|  | 451 | </listitem> | 
|---|
|  | 452 | </varlistentry> | 
|---|
|  | 453 |  | 
|---|
|  | 454 | <varlistentry id="ldconfig"> | 
|---|
|  | 455 | <term><command>ldconfig</command></term> | 
|---|
|  | 456 | <listitem> | 
|---|
|  | 457 | <para>Configures the dynamic linker runtime bindings</para> | 
|---|
| [3349a3a] | 458 | <indexterm zone="ch-cross-tools-glibc ldconfig"> | 
|---|
| [02095ae] | 459 | <primary sortas="b-ldconfig">ldconfig</primary> | 
|---|
|  | 460 | </indexterm> | 
|---|
|  | 461 | </listitem> | 
|---|
|  | 462 | </varlistentry> | 
|---|
|  | 463 |  | 
|---|
|  | 464 | <varlistentry id="ldd"> | 
|---|
|  | 465 | <term><command>ldd</command></term> | 
|---|
|  | 466 | <listitem> | 
|---|
|  | 467 | <para>Reports which shared libraries are required | 
|---|
|  | 468 | by each given program or shared library</para> | 
|---|
| [3349a3a] | 469 | <indexterm zone="ch-cross-tools-glibc ldd"> | 
|---|
| [02095ae] | 470 | <primary sortas="b-ldd">ldd</primary> | 
|---|
|  | 471 | </indexterm> | 
|---|
|  | 472 | </listitem> | 
|---|
|  | 473 | </varlistentry> | 
|---|
|  | 474 |  | 
|---|
|  | 475 | <varlistentry id="lddlibc4"> | 
|---|
|  | 476 | <term><command>lddlibc4</command></term> | 
|---|
|  | 477 | <listitem> | 
|---|
|  | 478 | <para>Assists <command>ldd</command> with object files</para> | 
|---|
| [3349a3a] | 479 | <indexterm zone="ch-cross-tools-glibc lddlibc4"> | 
|---|
| [02095ae] | 480 | <primary sortas="b-lddlibc4">lddlibc4</primary> | 
|---|
|  | 481 | </indexterm> | 
|---|
|  | 482 | </listitem> | 
|---|
|  | 483 | </varlistentry> | 
|---|
|  | 484 |  | 
|---|
|  | 485 | <varlistentry id="locale"> | 
|---|
|  | 486 | <term><command>locale</command></term> | 
|---|
|  | 487 | <listitem> | 
|---|
|  | 488 | <para>Tells the compiler to enable or disable the use of POSIX locales | 
|---|
|  | 489 | for built-in operations</para> | 
|---|
| [3349a3a] | 490 | <indexterm zone="ch-cross-tools-glibc locale"> | 
|---|
| [02095ae] | 491 | <primary sortas="b-locale">locale</primary> | 
|---|
|  | 492 | </indexterm> | 
|---|
|  | 493 | </listitem> | 
|---|
|  | 494 | </varlistentry> | 
|---|
|  | 495 |  | 
|---|
|  | 496 | <varlistentry id="localedef"> | 
|---|
|  | 497 | <term><command>localedef</command></term> | 
|---|
|  | 498 | <listitem> | 
|---|
|  | 499 | <para>Compiles locale specifications</para> | 
|---|
| [3349a3a] | 500 | <indexterm zone="ch-cross-tools-glibc localedef"> | 
|---|
| [02095ae] | 501 | <primary sortas="b-localedef">localedef</primary> | 
|---|
|  | 502 | </indexterm> | 
|---|
|  | 503 | </listitem> | 
|---|
|  | 504 | </varlistentry> | 
|---|
|  | 505 |  | 
|---|
|  | 506 | <varlistentry id="mtrace"> | 
|---|
|  | 507 | <term><command>mtrace</command></term> | 
|---|
|  | 508 | <listitem> | 
|---|
|  | 509 | <para>Reads and interprets a memory trace file and | 
|---|
|  | 510 | displays a summary in human-readable format</para> | 
|---|
| [3349a3a] | 511 | <indexterm zone="ch-cross-tools-glibc mtrace"> | 
|---|
| [02095ae] | 512 | <primary sortas="b-mtrace">mtrace</primary> | 
|---|
|  | 513 | </indexterm> | 
|---|
|  | 514 | </listitem> | 
|---|
|  | 515 | </varlistentry> | 
|---|
|  | 516 |  | 
|---|
|  | 517 | <varlistentry id="nscd"> | 
|---|
|  | 518 | <term><command>nscd</command></term> | 
|---|
|  | 519 | <listitem> | 
|---|
|  | 520 | <para>A daemon that provides a cache for the most common name | 
|---|
|  | 521 | service requests</para> | 
|---|
| [3349a3a] | 522 | <indexterm zone="ch-cross-tools-glibc nscd"> | 
|---|
| [02095ae] | 523 | <primary sortas="b-nscd">nscd</primary> | 
|---|
|  | 524 | </indexterm> | 
|---|
|  | 525 | </listitem> | 
|---|
|  | 526 | </varlistentry> | 
|---|
|  | 527 |  | 
|---|
|  | 528 | <varlistentry id="pcprofiledump"> | 
|---|
|  | 529 | <term><command>pcprofiledump</command></term> | 
|---|
|  | 530 | <listitem> | 
|---|
|  | 531 | <para>Dumps information generated by PC profiling</para> | 
|---|
| [3349a3a] | 532 | <indexterm zone="ch-cross-tools-glibc pcprofiledump"> | 
|---|
| [02095ae] | 533 | <primary sortas="b-pcprofiledump">pcprofiledump</primary> | 
|---|
|  | 534 | </indexterm> | 
|---|
|  | 535 | </listitem> | 
|---|
|  | 536 | </varlistentry> | 
|---|
|  | 537 |  | 
|---|
|  | 538 | <varlistentry id="pt_chown"> | 
|---|
|  | 539 | <term><command>pt_chown</command></term> | 
|---|
|  | 540 | <listitem> | 
|---|
|  | 541 | <para>A helper program for <command>grantpt</command> to set the owner, | 
|---|
|  | 542 | group and access permissions of a slave pseudo terminal</para> | 
|---|
| [3349a3a] | 543 | <indexterm zone="ch-cross-tools-glibc pt_chown"> | 
|---|
| [02095ae] | 544 | <primary sortas="b-pt_chown">pt_chown</primary> | 
|---|
|  | 545 | </indexterm> | 
|---|
|  | 546 | </listitem> | 
|---|
|  | 547 | </varlistentry> | 
|---|
|  | 548 |  | 
|---|
|  | 549 | <varlistentry id="rpcgen"> | 
|---|
|  | 550 | <term><command>rpcgen</command></term> | 
|---|
|  | 551 | <listitem> | 
|---|
|  | 552 | <para>Generates C code to implement the Remote Procecure Call (RPC) | 
|---|
|  | 553 | protocol</para> | 
|---|
| [3349a3a] | 554 | <indexterm zone="ch-cross-tools-glibc rpcgen"> | 
|---|
| [02095ae] | 555 | <primary sortas="b-rpcgen">rpcgen</primary> | 
|---|
|  | 556 | </indexterm> | 
|---|
|  | 557 | </listitem> | 
|---|
|  | 558 | </varlistentry> | 
|---|
|  | 559 |  | 
|---|
|  | 560 | <varlistentry id="rpcinfo"> | 
|---|
|  | 561 | <term><command>rpcinfo</command></term> | 
|---|
|  | 562 | <listitem> | 
|---|
|  | 563 | <para>Makes an RPC call to an RPC server</para> | 
|---|
| [3349a3a] | 564 | <indexterm zone="ch-cross-tools-glibc rpcinfo"> | 
|---|
| [02095ae] | 565 | <primary sortas="b-rpcinfo">rpcinfo</primary> | 
|---|
|  | 566 | </indexterm> | 
|---|
|  | 567 | </listitem> | 
|---|
|  | 568 | </varlistentry> | 
|---|
|  | 569 |  | 
|---|
|  | 570 | <varlistentry id="sln"> | 
|---|
|  | 571 | <term><command>sln</command></term> | 
|---|
|  | 572 | <listitem> | 
|---|
| [823185c] | 573 | <para>A statically linked program that creates symbolic links</para> | 
|---|
| [3349a3a] | 574 | <indexterm zone="ch-cross-tools-glibc sln"> | 
|---|
| [02095ae] | 575 | <primary sortas="b-sln">sln</primary> | 
|---|
|  | 576 | </indexterm> | 
|---|
|  | 577 | </listitem> | 
|---|
|  | 578 | </varlistentry> | 
|---|
|  | 579 |  | 
|---|
|  | 580 | <varlistentry id="sprof"> | 
|---|
|  | 581 | <term><command>sprof</command></term> | 
|---|
|  | 582 | <listitem> | 
|---|
|  | 583 | <para>Reads and displays shared object profiling data</para> | 
|---|
| [3349a3a] | 584 | <indexterm zone="ch-cross-tools-glibc sprof"> | 
|---|
| [02095ae] | 585 | <primary sortas="b-sprof">sprof</primary> | 
|---|
|  | 586 | </indexterm> | 
|---|
|  | 587 | </listitem> | 
|---|
|  | 588 | </varlistentry> | 
|---|
|  | 589 |  | 
|---|
|  | 590 | <varlistentry id="tzselect"> | 
|---|
|  | 591 | <term><command>tzselect</command></term> | 
|---|
|  | 592 | <listitem> | 
|---|
|  | 593 | <para>Asks the user about the location of the | 
|---|
|  | 594 | system and reports the corresponding time zone description</para> | 
|---|
| [3349a3a] | 595 | <indexterm zone="ch-cross-tools-glibc tzselect"> | 
|---|
| [02095ae] | 596 | <primary sortas="b-tzselect">tzselect</primary> | 
|---|
|  | 597 | </indexterm> | 
|---|
|  | 598 | </listitem> | 
|---|
|  | 599 | </varlistentry> | 
|---|
|  | 600 |  | 
|---|
|  | 601 | <varlistentry id="xtrace"> | 
|---|
|  | 602 | <term><command>xtrace</command></term> | 
|---|
|  | 603 | <listitem> | 
|---|
|  | 604 | <para>Traces the execution of a program by | 
|---|
|  | 605 | printing the currently executed function</para> | 
|---|
| [3349a3a] | 606 | <indexterm zone="ch-cross-tools-glibc xtrace"> | 
|---|
| [02095ae] | 607 | <primary sortas="b-xtrace">xtrace</primary> | 
|---|
|  | 608 | </indexterm> | 
|---|
|  | 609 | </listitem> | 
|---|
|  | 610 | </varlistentry> | 
|---|
|  | 611 |  | 
|---|
|  | 612 | <varlistentry id="zdump"> | 
|---|
|  | 613 | <term><command>zdump</command></term> | 
|---|
|  | 614 | <listitem> | 
|---|
|  | 615 | <para>The time zone dumper</para> | 
|---|
| [3349a3a] | 616 | <indexterm zone="ch-cross-tools-glibc zdump"> | 
|---|
| [02095ae] | 617 | <primary sortas="b-zdump">zdump</primary> | 
|---|
|  | 618 | </indexterm> | 
|---|
|  | 619 | </listitem> | 
|---|
|  | 620 | </varlistentry> | 
|---|
|  | 621 |  | 
|---|
|  | 622 | <varlistentry id="zic"> | 
|---|
|  | 623 | <term><command>zic</command></term> | 
|---|
|  | 624 | <listitem> | 
|---|
|  | 625 | <para>The time zone compiler</para> | 
|---|
| [3349a3a] | 626 | <indexterm zone="ch-cross-tools-glibc zic"> | 
|---|
| [02095ae] | 627 | <primary sortas="b-zic">zic</primary> | 
|---|
|  | 628 | </indexterm> | 
|---|
|  | 629 | </listitem> | 
|---|
|  | 630 | </varlistentry> | 
|---|
|  | 631 |  | 
|---|
|  | 632 | <varlistentry id="ld.so"> | 
|---|
|  | 633 | <term><filename class="libraryfile">ld.so</filename></term> | 
|---|
|  | 634 | <listitem> | 
|---|
|  | 635 | <para>The helper program for shared library executables</para> | 
|---|
| [3349a3a] | 636 | <indexterm zone="ch-cross-tools-glibc ld.so"> | 
|---|
| [02095ae] | 637 | <primary sortas="c-ld.so">ld.so</primary> | 
|---|
|  | 638 | </indexterm> | 
|---|
|  | 639 | </listitem> | 
|---|
|  | 640 | </varlistentry> | 
|---|
|  | 641 |  | 
|---|
|  | 642 | <varlistentry id="libBrokenLocale"> | 
|---|
|  | 643 | <term><filename class="libraryfile">libBrokenLocale</filename></term> | 
|---|
|  | 644 | <listitem> | 
|---|
|  | 645 | <para>Used by programs, such as Mozilla, to solve broken locales</para> | 
|---|
| [3349a3a] | 646 | <indexterm zone="ch-cross-tools-glibc libBrokenLocale"> | 
|---|
| [02095ae] | 647 | <primary sortas="c-libBrokenLocale">libBrokenLocale</primary> | 
|---|
|  | 648 | </indexterm> | 
|---|
|  | 649 | </listitem> | 
|---|
|  | 650 | </varlistentry> | 
|---|
|  | 651 |  | 
|---|
|  | 652 | <varlistentry id="libSegFault"> | 
|---|
|  | 653 | <term><filename class="libraryfile">libSegFault</filename></term> | 
|---|
|  | 654 | <listitem> | 
|---|
|  | 655 | <para>The segmentation fault signal handler</para> | 
|---|
| [3349a3a] | 656 | <indexterm zone="ch-cross-tools-glibc libSegFault"> | 
|---|
| [02095ae] | 657 | <primary sortas="c-libSegFault">libSegFault</primary> | 
|---|
|  | 658 | </indexterm> | 
|---|
|  | 659 | </listitem> | 
|---|
|  | 660 | </varlistentry> | 
|---|
|  | 661 |  | 
|---|
|  | 662 | <varlistentry id="libanl"> | 
|---|
|  | 663 | <term><filename class="libraryfile">libanl</filename></term> | 
|---|
|  | 664 | <listitem> | 
|---|
|  | 665 | <para>An asynchronous name lookup library</para> | 
|---|
| [3349a3a] | 666 | <indexterm zone="ch-cross-tools-glibc libanl"> | 
|---|
| [02095ae] | 667 | <primary sortas="c-libanl">libanl</primary> | 
|---|
|  | 668 | </indexterm> | 
|---|
|  | 669 | </listitem> | 
|---|
|  | 670 | </varlistentry> | 
|---|
|  | 671 |  | 
|---|
|  | 672 | <varlistentry id="libbsd-compat"> | 
|---|
|  | 673 | <term><filename class="libraryfile">libbsd-compat</filename></term> | 
|---|
|  | 674 | <listitem> | 
|---|
|  | 675 | <para>Provides the portability needed | 
|---|
|  | 676 | in order to run certain Berkey Software Distribution (BSD) programs | 
|---|
|  | 677 | under Linux</para> | 
|---|
| [3349a3a] | 678 | <indexterm zone="ch-cross-tools-glibc libbsd-compat"> | 
|---|
| [02095ae] | 679 | <primary sortas="c-libbsd-compat">libbsd-compat</primary> | 
|---|
|  | 680 | </indexterm> | 
|---|
|  | 681 | </listitem> | 
|---|
|  | 682 | </varlistentry> | 
|---|
|  | 683 |  | 
|---|
|  | 684 | <varlistentry id="libc"> | 
|---|
|  | 685 | <term><filename class="libraryfile">libc</filename></term> | 
|---|
|  | 686 | <listitem> | 
|---|
|  | 687 | <para>The main C library</para> | 
|---|
| [3349a3a] | 688 | <indexterm zone="ch-cross-tools-glibc libc"> | 
|---|
| [02095ae] | 689 | <primary sortas="c-libc">libc</primary> | 
|---|
|  | 690 | </indexterm> | 
|---|
|  | 691 | </listitem> | 
|---|
|  | 692 | </varlistentry> | 
|---|
|  | 693 |  | 
|---|
|  | 694 | <varlistentry id="libcrypt"> | 
|---|
|  | 695 | <term><filename class="libraryfile">libcrypt</filename></term> | 
|---|
|  | 696 | <listitem> | 
|---|
|  | 697 | <para>The cryptography library</para> | 
|---|
| [3349a3a] | 698 | <indexterm zone="ch-cross-tools-glibc libcrypt"> | 
|---|
| [02095ae] | 699 | <primary sortas="c-libcrypt">libcrypt</primary> | 
|---|
|  | 700 | </indexterm> | 
|---|
|  | 701 | </listitem> | 
|---|
|  | 702 | </varlistentry> | 
|---|
|  | 703 |  | 
|---|
|  | 704 | <varlistentry id="libdl"> | 
|---|
|  | 705 | <term><filename class="libraryfile">libdl</filename></term> | 
|---|
|  | 706 | <listitem> | 
|---|
|  | 707 | <para>The dynamic linking interface library</para> | 
|---|
| [3349a3a] | 708 | <indexterm zone="ch-cross-tools-glibc libdl"> | 
|---|
| [02095ae] | 709 | <primary sortas="c-libdl">libdl</primary> | 
|---|
|  | 710 | </indexterm> | 
|---|
|  | 711 | </listitem> | 
|---|
|  | 712 | </varlistentry> | 
|---|
|  | 713 |  | 
|---|
|  | 714 | <varlistentry id="libg"> | 
|---|
|  | 715 | <term><filename class="libraryfile">libg</filename></term> | 
|---|
|  | 716 | <listitem> | 
|---|
|  | 717 | <para>A runtime library for <command>g++</command></para> | 
|---|
| [3349a3a] | 718 | <indexterm zone="ch-cross-tools-glibc libg"> | 
|---|
| [02095ae] | 719 | <primary sortas="c-libg">libg</primary> | 
|---|
|  | 720 | </indexterm> | 
|---|
|  | 721 | </listitem> | 
|---|
|  | 722 | </varlistentry> | 
|---|
|  | 723 |  | 
|---|
|  | 724 | <varlistentry id="libieee"> | 
|---|
|  | 725 | <term><filename class="libraryfile">libieee</filename></term> | 
|---|
|  | 726 | <listitem> | 
|---|
|  | 727 | <para>The Institute of Electrical and Electronic Engineers (IEEE) | 
|---|
|  | 728 | floating point library</para> | 
|---|
| [3349a3a] | 729 | <indexterm zone="ch-cross-tools-glibc libieee"> | 
|---|
| [02095ae] | 730 | <primary sortas="c-libieee">libieee</primary> | 
|---|
|  | 731 | </indexterm> | 
|---|
|  | 732 | </listitem> | 
|---|
|  | 733 | </varlistentry> | 
|---|
|  | 734 |  | 
|---|
|  | 735 | <varlistentry id="libm"> | 
|---|
|  | 736 | <term><filename class="libraryfile">libm</filename></term> | 
|---|
|  | 737 | <listitem> | 
|---|
|  | 738 | <para>The mathematical library</para> | 
|---|
| [3349a3a] | 739 | <indexterm zone="ch-cross-tools-glibc libm"> | 
|---|
| [02095ae] | 740 | <primary sortas="c-libm">libm</primary> | 
|---|
|  | 741 | </indexterm> | 
|---|
|  | 742 | </listitem> | 
|---|
|  | 743 | </varlistentry> | 
|---|
|  | 744 |  | 
|---|
|  | 745 | <varlistentry id="libmcheck"> | 
|---|
|  | 746 | <term><filename class="libraryfile">libmcheck</filename></term> | 
|---|
|  | 747 | <listitem> | 
|---|
|  | 748 | <para>Contains code run at boot</para> | 
|---|
| [3349a3a] | 749 | <indexterm zone="ch-cross-tools-glibc libmcheck"> | 
|---|
| [02095ae] | 750 | <primary sortas="c-libmcheck">libmcheck</primary> | 
|---|
|  | 751 | </indexterm> | 
|---|
|  | 752 | </listitem> | 
|---|
|  | 753 | </varlistentry> | 
|---|
|  | 754 |  | 
|---|
|  | 755 | <varlistentry id="libmemusage"> | 
|---|
|  | 756 | <term><filename class="libraryfile">libmemusage</filename></term> | 
|---|
|  | 757 | <listitem> | 
|---|
| [823185c] | 758 | <para>Used by <command>memusage</command> (included in Glibc, but | 
|---|
|  | 759 | not built in a base CLFS system as it has additional dependencies) | 
|---|
|  | 760 | to help collect information about the memory usage of a program</para> | 
|---|
| [3349a3a] | 761 | <indexterm zone="ch-cross-tools-glibc libmemusage"> | 
|---|
| [02095ae] | 762 | <primary sortas="c-libmemusage">libmemusage</primary> | 
|---|
|  | 763 | </indexterm> | 
|---|
|  | 764 | </listitem> | 
|---|
|  | 765 | </varlistentry> | 
|---|
|  | 766 |  | 
|---|
|  | 767 | <varlistentry id="libnsl"> | 
|---|
|  | 768 | <term><filename class="libraryfile">libnsl</filename></term> | 
|---|
|  | 769 | <listitem> | 
|---|
|  | 770 | <para>The network services library</para> | 
|---|
| [3349a3a] | 771 | <indexterm zone="ch-cross-tools-glibc libnsl"> | 
|---|
| [02095ae] | 772 | <primary sortas="c-libnsl">libnsl</primary> | 
|---|
|  | 773 | </indexterm> | 
|---|
|  | 774 | </listitem> | 
|---|
|  | 775 | </varlistentry> | 
|---|
|  | 776 |  | 
|---|
|  | 777 | <varlistentry id="libnss"> | 
|---|
|  | 778 | <term><filename class="libraryfile">libnss</filename></term> | 
|---|
|  | 779 | <listitem> | 
|---|
|  | 780 | <para>The Name Service Switch libraries, containing functions for | 
|---|
|  | 781 | resolving host names, user names, group names, aliases, services, | 
|---|
|  | 782 | protocols, etc.</para> | 
|---|
| [3349a3a] | 783 | <indexterm zone="ch-cross-tools-glibc libnss"> | 
|---|
| [02095ae] | 784 | <primary sortas="c-libnss">libnss</primary> | 
|---|
|  | 785 | </indexterm> | 
|---|
|  | 786 | </listitem> | 
|---|
|  | 787 | </varlistentry> | 
|---|
|  | 788 |  | 
|---|
|  | 789 | <varlistentry id="libpcprofile"> | 
|---|
|  | 790 | <term><filename class="libraryfile">libpcprofile</filename></term> | 
|---|
|  | 791 | <listitem> | 
|---|
|  | 792 | <para>Contains profiling functions used to track the amount of CPU | 
|---|
|  | 793 | time spent in specific source code lines</para> | 
|---|
| [3349a3a] | 794 | <indexterm zone="ch-cross-tools-glibc libpcprofile"> | 
|---|
| [02095ae] | 795 | <primary sortas="c-libpcprofile">libpcprofile</primary> | 
|---|
|  | 796 | </indexterm> | 
|---|
|  | 797 | </listitem> | 
|---|
|  | 798 | </varlistentry> | 
|---|
|  | 799 |  | 
|---|
|  | 800 | <varlistentry id="libpthread"> | 
|---|
|  | 801 | <term><filename class="libraryfile">libpthread</filename></term> | 
|---|
|  | 802 | <listitem> | 
|---|
|  | 803 | <para>The POSIX threads library</para> | 
|---|
| [3349a3a] | 804 | <indexterm zone="ch-cross-tools-glibc libpthread"> | 
|---|
| [02095ae] | 805 | <primary sortas="c-libpthread">libpthread</primary> | 
|---|
|  | 806 | </indexterm> | 
|---|
|  | 807 | </listitem> | 
|---|
|  | 808 | </varlistentry> | 
|---|
|  | 809 |  | 
|---|
|  | 810 | <varlistentry id="libresolv"> | 
|---|
|  | 811 | <term><filename class="libraryfile">libresolv</filename></term> | 
|---|
|  | 812 | <listitem> | 
|---|
|  | 813 | <para>Contains functions for creating, sending, and interpreting | 
|---|
|  | 814 | packets to the Internet domain name servers</para> | 
|---|
| [3349a3a] | 815 | <indexterm zone="ch-cross-tools-glibc libresolv"> | 
|---|
| [02095ae] | 816 | <primary sortas="c-libresolv">libresolv</primary> | 
|---|
|  | 817 | </indexterm> | 
|---|
|  | 818 | </listitem> | 
|---|
|  | 819 | </varlistentry> | 
|---|
|  | 820 |  | 
|---|
|  | 821 | <varlistentry id="librpcsvc"> | 
|---|
|  | 822 | <term><filename class="libraryfile">librpcsvc</filename></term> | 
|---|
|  | 823 | <listitem> | 
|---|
|  | 824 | <para>Contains functions providing miscellaneous RPC services</para> | 
|---|
| [3349a3a] | 825 | <indexterm zone="ch-cross-tools-glibc librpcsvc"> | 
|---|
| [02095ae] | 826 | <primary sortas="c-librpcsvc">librpcsvc</primary> | 
|---|
|  | 827 | </indexterm> | 
|---|
|  | 828 | </listitem> | 
|---|
|  | 829 | </varlistentry> | 
|---|
|  | 830 |  | 
|---|
|  | 831 | <varlistentry id="librt"> | 
|---|
|  | 832 | <term><filename class="libraryfile">librt</filename></term> | 
|---|
|  | 833 | <listitem> | 
|---|
|  | 834 | <para>Contains functions providing most of the interfaces specified by | 
|---|
|  | 835 | the POSIX.1b Realtime Extension</para> | 
|---|
| [3349a3a] | 836 | <indexterm zone="ch-cross-tools-glibc librt"> | 
|---|
| [02095ae] | 837 | <primary sortas="c-librt">librt</primary> | 
|---|
|  | 838 | </indexterm> | 
|---|
|  | 839 | </listitem> | 
|---|
|  | 840 | </varlistentry> | 
|---|
|  | 841 |  | 
|---|
|  | 842 | <varlistentry id="libthread_db"> | 
|---|
|  | 843 | <term><filename class="libraryfile">libthread_db</filename></term> | 
|---|
|  | 844 | <listitem> | 
|---|
|  | 845 | <para>Contains functions useful for | 
|---|
|  | 846 | building debuggers for multi-threaded programs</para> | 
|---|
| [3349a3a] | 847 | <indexterm zone="ch-cross-tools-glibc libthread_db"> | 
|---|
| [02095ae] | 848 | <primary sortas="c-libthread_db">libthread_db</primary> | 
|---|
|  | 849 | </indexterm> | 
|---|
|  | 850 | </listitem> | 
|---|
|  | 851 | </varlistentry> | 
|---|
|  | 852 |  | 
|---|
|  | 853 | <varlistentry id="libutil"> | 
|---|
|  | 854 | <term><filename class="libraryfile">libutil</filename></term> | 
|---|
|  | 855 | <listitem> | 
|---|
|  | 856 | <para>Contains code for <quote>standard</quote> functions used in | 
|---|
|  | 857 | many different Unix utilities</para> | 
|---|
| [3349a3a] | 858 | <indexterm zone="ch-cross-tools-glibc libutil"> | 
|---|
| [02095ae] | 859 | <primary sortas="c-libutil">libutil</primary> | 
|---|
|  | 860 | </indexterm> | 
|---|
|  | 861 | </listitem> | 
|---|
|  | 862 | </varlistentry> | 
|---|
|  | 863 |  | 
|---|
|  | 864 | </variablelist> | 
|---|
|  | 865 |  | 
|---|
|  | 866 | </sect2> | 
|---|
|  | 867 |  | 
|---|
|  | 868 | </sect1> | 
|---|