source: chapter08/gcc.xml@ e3d0e26

11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since e3d0e26 was e3d0e26, checked in by Xi Ruoyao <xry111@…>, 3 years ago

gcc: correct desc of locale related tests

  • Property mode set to 100644
File size: 22.9 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[6a82dd9]7
[81fd230]8<sect1 id="ch-system-gcc" role="wrap">
[6a82dd9]9 <?dbhtml filename="gcc.html"?>
10
[e747759]11 <sect1info condition="script">
12 <productname>gcc</productname>
13 <productnumber>&gcc-version;</productnumber>
14 <address>&gcc-url;</address>
15 </sect1info>
16
[6a82dd9]17 <title>GCC-&gcc-version;</title>
18
19 <indexterm zone="ch-system-gcc">
20 <primary sortas="a-GCC">GCC</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
[6370fa6]25
[6a82dd9]26 <para>The GCC package contains the GNU compiler collection, which includes
27 the C and C++ compilers.</para>
[673b0d8]28
[6a82dd9]29 <segmentedlist>
30 <segtitle>&buildtime;</segtitle>
31 <segtitle>&diskspace;</segtitle>
[5888299]32
[6a82dd9]33 <seglistitem>
[fb386e0]34 <seg>&gcc-fin-sbu;</seg>
35 <seg>&gcc-fin-du;</seg>
[6a82dd9]36 </seglistitem>
37 </segmentedlist>
[3554fa3a]38
[6a82dd9]39 </sect2>
40
41 <sect2 role="installation">
42 <title>Installation of GCC</title>
[12836f5]43
[ed3be61]44 <para>If building on x86_64, change the default directory name for 64-bit
[be3d9f3]45 libraries to <quote>lib</quote>:</para>
46
47<screen><userinput remap="pre">case $(uname -m) in
48 x86_64)
49 sed -e '/m64=/s/lib64/lib/' \
50 -i.orig gcc/config/i386/t-linux64
51 ;;
52esac</userinput></screen>
53
[f1dd547]54 <para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
[73aedd1d]55
[f1dd547]56<screen><userinput remap="pre">mkdir -v build
57cd build</userinput></screen>
[73aedd1d]58
[6a82dd9]59 <para>Prepare GCC for compilation:</para>
[73aedd1d]60
[efcb393]61<screen><userinput remap="configure">../configure --prefix=/usr \
62 LD=ld \
[f1dd547]63 --enable-languages=c,c++ \
64 --disable-multilib \
65 --disable-bootstrap \
66 --with-system-zlib</userinput></screen>
[73aedd1d]67
[6a156bab]68 <para>Note that for other programming languages there are some prerequisites that
[93756f6]69 are not yet available. See the
[6a156bab]70 <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink>
[93756f6]71 for instructions on how to build all of GCC's supported languages.</para>
[182d5d3]72
[ae4d45a]73 <variablelist>
[a89ab79]74 <title>The meaning of the new configure parameters:</title>
75
76 <varlistentry>
77 <term><parameter>LD=ld</parameter></term>
78 <listitem>
79 <para>This parameter makes the configure script use the ld installed
[6a156bab]80 by the binutils built earlier in this chapter, rather than
[a89ab79]81 the cross-built version which would otherwise be used.</para>
82 </listitem>
83 </varlistentry>
[cde2ae7]84
[ae4d45a]85 <varlistentry>
86 <term><parameter>--with-system-zlib</parameter></term>
87 <listitem>
88 <para>This switch tells GCC to link to the system installed copy of
[6a156bab]89 the zlib library, rather than its own internal copy.</para>
[ae4d45a]90 </listitem>
91 </varlistentry>
92 </variablelist>
93
[6a82dd9]94 <para>Compile the package:</para>
[73aedd1d]95
[0445a3d]96<screen><userinput remap="make">make</userinput></screen>
[73aedd1d]97
[6a82dd9]98 <important>
99 <para>In this section, the test suite for GCC is considered
100 critical. Do not skip it under any circumstance.</para>
101 </important>
[81fd230]102
[6a156bab]103 <para>One set of tests in the GCC test suite is known to exhaust the default
104 stack, so increase the stack size prior to running the tests:</para>
[4e48f56e]105
[2efa44a]106<screen><userinput remap="test">ulimit -s 32768</userinput></screen>
[4e48f56e]107
[76db8d6]108 <para>Test the results as a non-privileged user, but do not stop at errors:</para>
109
[ae7f075]110<screen><userinput remap="test">chown -Rv tester .
111su tester -c "PATH=$PATH make -k check"</userinput></screen>
[73aedd1d]112
[9278974d]113 <para>To receive a summary of the test suite results, run:</para>
114
[f1dd547]115<screen><userinput remap="test">../contrib/test_summary</userinput></screen>
[9278974d]116
117 <para>For only the summaries, pipe the output through
118 <userinput>grep -A7 Summ</userinput>.</para>
119
120 <para>Results can be compared with those located at <ulink
[98e7ac4]121 url="&test-results;"/> and
[b30de8f]122 <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
[9278974d]123
[cefe505]124 <para>In g++, three tests in constexpr-52830 are known to fail and
[3d086532]125 also to be treated as unexpected successes (XPASS). This is because
126 an <quote>internal compiler error</quote> on this test is fixed, but
127 the compiler still rejects some valid code.</para>
[cefe505]128
129 <!-- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96322
130 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71367 -->
131 <para>In libstdc++, one numpunct test and six tests related to get_time are
132 known to fail. These are all because the locale definitions in glibc have
[e3d0e26]133 changed but libstdc++ does not currently support those changes.</para>
[d7a9421]134
135<!--<para>Additionally the following tests related to the following files
[d89ac35]136 are known to fail with glibc-2.33: asan_test.C, co-ret-17-void-ret-coro.C,
[c8fd7fe]137 pr95519-05-gro.C, pr80166.c.</para>
[d7a9421]138-->
[c8fd7fe]139
[6e18f2f]140<!-- don't fail anymore after the move of iana-etc and /etc/hosts
[b9e4312]141 <para>Two tests named lookup.cc and reverse.cc in experimental/net
142 are known to fail in LFS chroot environment because they require
143 /etc/hosts and iana-etc.</para>
[6e18f2f]144-->
[9278974d]145 <para>A few unexpected failures cannot always be avoided. The GCC developers
[0238d49]146 are usually aware of these issues, but have not resolved them yet.
[9278974d]147 Unless the test results are vastly different from those at the above URL,
148 it is safe to continue.</para>
[73aedd1d]149
[ac95fdb]150 <!--note><para>
[e3e989a]151 On some combinations of kernel configuration and AMD processors
152 there may be more than 1100 failures in the gcc.target/i386/mpx
153 tests (which are designed to test the MPX option on recent
154 Intel processors). These can safely be ignored on AMD
[1c8cc71]155 processors. These tests will also fail on Intel processors if MPX support
156 is not enabled in the kernel even though it is present on the CPU.
[ac95fdb]157 </para></note-->
[e3e989a]158
[3d086532]159 <!-- PR 91085, will be fixed in GCC 12. -->
[dacb13d]160 <para>Install the package and remove an unneeded directory:</para>
[73aedd1d]161
[3f01429]162<screen><userinput remap="install">make install
[d4c8cfe3]163rm -rf /usr/lib/gcc/$(gcc -dumpmachine)/&gcc-version;/include-fixed/bits/</userinput></screen>
[73aedd1d]164
[e6db175]165 <para>The GCC build directory is owned by <systemitem class="username">
[ae7f075]166 tester</systemitem> now and the ownership of the installed header
[bf0ad1a]167 directory (and its content) will be incorrect. Change the ownership to
[e6db175]168 <systemitem class="username">root</systemitem> user and group:</para>
169
170<screen><userinput remap="install">chown -v -R root:root \
171 /usr/lib/gcc/*linux-gnu/&gcc-version;/include{,-fixed}</userinput></screen>
172
[60b23a6f]173 <para>Create a symlink required by the <ulink
[b30de8f]174 url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s09.html">FHS</ulink>
[60b23a6f]175 for "historical" reasons.</para>
[73aedd1d]176
[9c3ce2a]177<screen><userinput remap="install">ln -svr /usr/bin/cpp /usr/lib</userinput></screen>
[efcb393]178 <!-- already done earlier
[6a82dd9]179 <para>Many packages use the name <command>cc</command> to call the C
180 compiler. To satisfy those packages, create a symlink:</para>
[1ba726f]181
[0445a3d]182<screen><userinput remap="install">ln -sv gcc /usr/bin/cc</userinput></screen>
[efcb393]183 -->
[6206f72]184 <para>Add a compatibility symlink to enable building programs with
185 Link Time Optimization (LTO):</para>
186
[f36db31]187<screen><userinput remap="install">ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
[040ecb6]188 /usr/lib/bfd-plugins/</userinput></screen>
[6206f72]189
[09f1daf]190 <para>Now that our final toolchain is in place, it is important to again ensure
191 that compiling and linking will work as expected. We do this by performing
[6a156bab]192 some sanity checks:</para>
[09f1daf]193
[d9441360]194 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]195 href="adjusting.xml"
[09f1daf]196 xpointer="xpointer(//*[@os='a'])"/>
197
[d9441360]198 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]199 href="adjusting.xml"
[09f1daf]200 xpointer="xpointer(//*[@os='b'])"/>
201
[d9441360]202 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]203 href="adjusting.xml"
[09f1daf]204 xpointer="xpointer(//*[@os='c'])"/>
205
[d9441360]206 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]207 href="adjusting.xml"
[09f1daf]208 xpointer="xpointer(//*[@os='d'])"/>
209
[d9441360]210 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]211 href="adjusting.xml"
[09f1daf]212 xpointer="xpointer(//*[@os='e'])"/>
213
[d9441360]214 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]215 href="adjusting.xml"
[09f1daf]216 xpointer="xpointer(//*[@os='f'])"/>
217
[98e7ac4]218<screen><computeroutput>/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crt1.o succeeded
219/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
220/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
[09f1daf]221
[6a156bab]222 <para>Depending on your machine architecture, the above may differ slightly.
223 The difference will be the name of the directory
[be3d9f3]224 after <filename class="directory">/usr/lib/gcc</filename>. The important
225 thing to look for here is that <command>gcc</command> has found all three
[5f7456b]226 <filename>crt*.o</filename> files under the
227 <filename class="directory">/usr/lib</filename> directory.</para>
[6e88633]228
[d9441360]229 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]230 href="adjusting.xml"
[09f1daf]231 xpointer="xpointer(//*[@os='g'])"/>
232
[041c8f67]233<screen><userinput>grep -B4 '^ /usr/include' dummy.log</userinput></screen>
[e9a652b]234
[d9441360]235 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]236 href="adjusting.xml"
[09f1daf]237 xpointer="xpointer(//*[@os='h'])"/>
238
[e9a652b]239<screen><computeroutput>#include &lt;...&gt; search starts here:
[98e7ac4]240 /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include
[c528e3a]241 /usr/local/include
[98e7ac4]242 /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
[e9a652b]243 /usr/include</computeroutput></screen>
244
[6a156bab]245 <para>Again, the directory named after your target triplet may be
246 different than the above, depending on your system architecture.</para>
[3f39abf3]247
[d9441360]248 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]249 href="adjusting.xml"
[09f1daf]250 xpointer="xpointer(//*[@os='i'])"/>
251
[d9441360]252 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]253 href="adjusting.xml"
[09f1daf]254 xpointer="xpointer(//*[@os='j'])"/>
255
[d9441360]256 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]257 href="adjusting.xml"
[09f1daf]258 xpointer="xpointer(//*[@os='k'])"/>
259
[98e7ac4]260<screen><computeroutput>SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64")
261SEARCH_DIR("/usr/local/lib64")
262SEARCH_DIR("/lib64")
263SEARCH_DIR("/usr/lib64")
264SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib")
[e9a652b]265SEARCH_DIR("/usr/local/lib")
266SEARCH_DIR("/lib")
[6e88633]267SEARCH_DIR("/usr/lib");</computeroutput></screen>
268
[98e7ac4]269 <para>A 32-bit system may see a few different directories. For example, here
270 is the output from an i686 machine:</para>
[6e88633]271
[98e7ac4]272<screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
273SEARCH_DIR("/usr/local/lib32")
274SEARCH_DIR("/lib32")
275SEARCH_DIR("/usr/lib32")
276SEARCH_DIR("/usr/i686-pc-linux-gnu/lib")
[6e88633]277SEARCH_DIR("/usr/local/lib")
278SEARCH_DIR("/lib")
[e9a652b]279SEARCH_DIR("/usr/lib");</computeroutput></screen>
280
[d9441360]281 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]282 href="adjusting.xml"
[09f1daf]283 xpointer="xpointer(//*[@os='l'])"/>
284
[d9441360]285 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]286 href="adjusting.xml"
[09f1daf]287 xpointer="xpointer(//*[@os='m'])"/>
288
[d9441360]289 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]290 href="adjusting.xml"
[09f1daf]291 xpointer="xpointer(//*[@os='n'])"/>
292
[d9441360]293 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]294 href="adjusting.xml"
[09f1daf]295 xpointer="xpointer(//*[@os='o'])"/>
296
[d9441360]297 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]298 href="adjusting.xml"
[09f1daf]299 xpointer="xpointer(//*[@os='p'])"/>
300
[d9441360]301 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]302 href="adjusting.xml"
[09f1daf]303 xpointer="xpointer(//*[@os='q'])"/>
304
[d9441360]305 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]306 href="adjusting.xml"
[09f1daf]307 xpointer="xpointer(//*[@os='r'])"/>
308
[d9441360]309 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]310 href="adjusting.xml"
[09f1daf]311 xpointer="xpointer(//*[@os='s'])"/>
312
[d9441360]313 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]314 href="adjusting.xml"
[09f1daf]315 xpointer="xpointer(//*[@os='t'])"/>
[6a82dd9]316
[d9441360]317 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]318 href="adjusting.xml"
[e9a652b]319 xpointer="xpointer(//*[@os='u'])"/>
320
[d9441360]321 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1a3e6a3]322 href="adjusting.xml"
[e9a652b]323 xpointer="xpointer(//*[@os='v'])"/>
324
[970a126]325 <para>Finally, move a misplaced file:</para>
[39ec01c]326
[970a126]327<screen><userinput remap="install">mkdir -pv /usr/share/gdb/auto-load/usr/lib
328mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
[39ec01c]329
[6a82dd9]330 </sect2>
331
332 <sect2 id="contents-gcc" role="content">
333 <title>Contents of GCC</title>
334
335 <segmentedlist>
336 <segtitle>Installed programs</segtitle>
337 <segtitle>Installed libraries</segtitle>
[fe05b08]338 <segtitle>Installed directories</segtitle>
[6a82dd9]339
340 <seglistitem>
[2ca8941]341 <seg>c++, cc (link to gcc), cpp, g++, gcc,
[78cc3be]342 gcc-ar, gcc-nm, gcc-ranlib, gcov, gcov-dump, and gcov-tool</seg>
[e0901b3]343
[78cc3be]344 <seg>libasan.{a,so}, libatomic.{a,so}, libcc1.so, libgcc.a, libgcc_eh.a,
345 libgcc_s.so, libgcov.a, libgomp.{a,so}, libitm.{a,so},
346 liblsan.{a,so}, liblto_plugin.so,
347 libquadmath.{a,so}, libssp.{a,so}, libssp_nonshared.a,
348 libstdc++.{a,so}, libstdc++fs.a, libsupc++.a, libtsan.{a,so},
349 and libubsan.{a,so}</seg>
[2ca8941]350
[7bb9fda]351 <seg>/usr/include/c++, /usr/lib/gcc, /usr/libexec/gcc, and
[4e8a532]352 /usr/share/gcc-&gcc-version;</seg>
[6a82dd9]353 </seglistitem>
354 </segmentedlist>
355
356 <variablelist>
357 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
358 <?dbfo list-presentation="list"?>
359 <?dbhtml list-presentation="table"?>
360
[75128571]361 <varlistentry id="c">
362 <term><command>c++</command></term>
363 <listitem>
364 <para>The C++ compiler</para>
365 <indexterm zone="ch-system-gcc c">
366 <primary sortas="b-c++">c++</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
[6a82dd9]371 <varlistentry id="cc">
372 <term><command>cc</command></term>
373 <listitem>
374 <para>The C compiler</para>
375 <indexterm zone="ch-system-gcc cc">
376 <primary sortas="b-cc">cc</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 <varlistentry id="cpp">
382 <term><command>cpp</command></term>
383 <listitem>
384 <para>The C preprocessor; it is used by the compiler to expand the
385 #include, #define, and similar statements in the source files</para>
386 <indexterm zone="ch-system-gcc cpp">
387 <primary sortas="b-cpp">cpp</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="g">
393 <term><command>g++</command></term>
394 <listitem>
395 <para>The C++ compiler</para>
396 <indexterm zone="ch-system-gcc g">
397 <primary sortas="b-g++">g++</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="gcc">
403 <term><command>gcc</command></term>
404 <listitem>
405 <para>The C compiler</para>
406 <indexterm zone="ch-system-gcc gcc">
407 <primary sortas="b-gcc">gcc</primary>
408 </indexterm>
409 </listitem>
410 </varlistentry>
411
[e0901b3]412 <varlistentry id="gcc-ar">
413 <term><command>gcc-ar</command></term>
414 <listitem>
415 <para>A wrapper around <command>ar</command> that adds a
[afba93b]416 plugin to the command line. This program is only used
[edbeeb5]417 to add "link time optimization" and is not useful with the
[afba93b]418 default build options</para>
[e0901b3]419 <indexterm zone="ch-system-gcc gcc-ar">
420 <primary sortas="b-gcc-ar">gc-ar</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="gcc-nm">
426 <term><command>gcc-nm</command></term>
427 <listitem>
428 <para>A wrapper around <command>nm</command> that adds a
[afba93b]429 plugin to the command line. This program is only used
[a885478]430 to add "link time optimization" and is not useful with the
[afba93b]431 default build options</para>
[e0901b3]432 <indexterm zone="ch-system-gcc gcc-nm">
433 <primary sortas="b-gcc-nm">gc-nm</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="gcc-ranlib">
439 <term><command>gcc-ranlib</command></term>
440 <listitem>
441 <para>A wrapper around <command>ranlib</command> that adds a
[afba93b]442 plugin to the command line. This program is only used
[a885478]443 to add "link time optimization" and is not useful with the
[afba93b]444 default build options</para>
[e0901b3]445 <indexterm zone="ch-system-gcc gcc-ranlib">
446 <primary sortas="b-gcc-ranlib">gc-ranlib</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
[6a82dd9]450
451 <varlistentry id="gcov">
452 <term><command>gcov</command></term>
453 <listitem>
454 <para>A coverage testing tool; it is used to analyze programs to
455 determine where optimizations will have the most effect</para>
456 <indexterm zone="ch-system-gcc gcov">
457 <primary sortas="b-gcov">gcov</primary>
458 </indexterm>
[4783efe]459 </listitem>
460 </varlistentry>
461
[78cc3be]462 <varlistentry id="gcov-dump">
463 <term><command>gcov-dump</command></term>
464 <listitem>
465 <para>Offline gcda and gcno profile dump tool</para>
466 <indexterm zone="ch-system-gcc gcov-dump">
467 <primary sortas="b-gcov-dump">gcov-dump</primary>
468 </indexterm>
469 </listitem>
470 </varlistentry>
471
472 <varlistentry id="gcov-tool">
473 <term><command>gcov-tool</command></term>
474 <listitem>
475 <para>Offline gcda profile processing tool</para>
476 <indexterm zone="ch-system-gcc gcov-tool">
477 <primary sortas="b-gcov-tool">gcov-tool</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
[4783efe]482 <varlistentry id="libasan">
[78cc3be]483 <term><filename class="libraryfile">libasan</filename></term>
[4783efe]484 <listitem>
485 <para>The Address Sanitizer runtime library</para>
486 <indexterm zone="ch-system-gcc libasan">
487 <primary sortas="b-libasan">libasan</primary>
488 </indexterm>
[6a82dd9]489 </listitem>
490 </varlistentry>
491
[78cc3be]492 <varlistentry id="libatomic">
493 <term><filename class="libraryfile">libatomic</filename></term>
494 <listitem>
495 <para>GCC atomic built-in runtime library</para>
496 <indexterm zone="ch-system-gcc libatomic">
497 <primary sortas="b-libatomic">libatomic</primary>
498 </indexterm>
499 </listitem>
500 </varlistentry>
501
502 <varlistentry id="libcc1">
503 <term><filename class="libraryfile">libcc1</filename></term>
504 <listitem>
505 <para>The C preprocessing library</para>
506 <indexterm zone="ch-system-gcc libcc1">
507 <primary sortas="b-libcc1">libcc1</primary>
508 </indexterm>
509 </listitem>
510 </varlistentry>
511
[6a82dd9]512 <varlistentry id="libgcc">
513 <term><filename class="libraryfile">libgcc</filename></term>
514 <listitem>
515 <para>Contains run-time support for <command>gcc</command></para>
516 <indexterm zone="ch-system-gcc libgcc">
[afba93b]517 <primary sortas="c-libgcc">libgcc</primary>
[6a82dd9]518 </indexterm>
519 </listitem>
520 </varlistentry>
521
[90aae6b]522 <varlistentry id="libgcov">
523 <term><filename class="libraryfile">libgcov</filename></term>
524 <listitem>
525 <para>This library is linked in to a program when GCC is instructed
526 to enable profiling</para>
527 <indexterm zone="ch-system-gcc libgcov">
528 <primary sortas="c-libgcov">libgcov</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
533 <varlistentry id="libgomp">
534 <term><filename class="libraryfile">libgomp</filename></term>
535 <listitem>
536 <para>GNU implementation of the OpenMP API for multi-platform
537 shared-memory parallel programming in C/C++ and Fortran</para>
538 <indexterm zone="ch-system-gcc libgomp">
539 <primary sortas="c-libgomp">libgomp</primary>
540 </indexterm>
541 </listitem>
542 </varlistentry>
543
[78cc3be]544 <varlistentry id="liblsan">
545 <term><filename class="libraryfile">liblsan</filename></term>
[b755562]546 <listitem>
[78cc3be]547 <para>The Leak Sanitizer runtime library</para>
548 <indexterm zone="ch-system-gcc liblsan">
549 <primary sortas="c-liblsan">liblsan</primary>
[b755562]550 </indexterm>
551 </listitem>
552 </varlistentry>
553
[3119ddc]554 <varlistentry id="liblto_plugin">
555 <term><filename class="libraryfile">liblto_plugin</filename></term>
556 <listitem>
557 <para>GCC's Link Time Optimization (LTO) plugin allows GCC to perform
[afba93b]558 optimizations across compilation units</para>
[3119ddc]559 <indexterm zone="ch-system-gcc liblto_plugin">
[afba93b]560 <primary sortas="c-liblto_plugin">liblto_plugin</primary>
[3119ddc]561 </indexterm>
562 </listitem>
563 </varlistentry>
[7bb9fda]564
[3119ddc]565 <varlistentry id="libquadmath">
566 <term><filename class="libraryfile">libquadmath</filename></term>
567 <listitem>
568 <para>GCC Quad Precision Math Library API</para>
569 <indexterm zone="ch-system-gcc libquadmath">
[afba93b]570 <primary sortas="c-libquadmath">libquadmath</primary>
[3119ddc]571 </indexterm>
572 </listitem>
573 </varlistentry>
574
[2791a8e]575 <varlistentry id="libssp">
576 <term><filename class="libraryfile">libssp</filename></term>
577 <listitem>
578 <para>Contains routines supporting GCC's stack-smashing protection
579 functionality</para>
580 <indexterm zone="ch-system-gcc libssp">
[afba93b]581 <primary sortas="c-libssp">libssp</primary>
[2791a8e]582 </indexterm>
583 </listitem>
584 </varlistentry>
585
[6a82dd9]586 <varlistentry id="libstdc">
587 <term><filename class="libraryfile">libstdc++</filename></term>
588 <listitem>
589 <para>The standard C++ library</para>
590 <indexterm zone="ch-system-gcc libstdc">
591 <primary sortas="c-libstdc++">libstdc++</primary>
592 </indexterm>
593 </listitem>
594 </varlistentry>
595
[78cc3be]596 <varlistentry id="libstdcfs">
597 <term><filename class="libraryfile">libstdc++fs</filename></term>
598 <listitem>
599 <para>ISO/IEC TS 18822:2015 Filesystem library</para>
600 <indexterm zone="ch-system-gcc libstdcfs">
601 <primary sortas="c-libstdc++fs">libstdc++fs</primary>
602 </indexterm>
603 </listitem>
604 </varlistentry>
605
[6a82dd9]606 <varlistentry id="libsupc">
607 <term><filename class="libraryfile">libsupc++</filename></term>
608 <listitem>
609 <para>Provides supporting routines for the C++ programming
610 language</para>
611 <indexterm zone="ch-system-gcc libsupc">
612 <primary sortas="c-libsupc++">libsupc++</primary>
613 </indexterm>
614 </listitem>
615 </varlistentry>
616
[f6b1d91]617 <varlistentry id="libtsan">
618 <term><filename class="libraryfile">libtsan</filename></term>
619 <listitem>
620 <para>The Thread Sanitizer runtime library</para>
621 <indexterm zone="ch-system-gcc libtsan">
622 <primary sortas="c-libtsan">libtsan</primary>
623 </indexterm>
624 </listitem>
625 </varlistentry>
626
[78cc3be]627 <varlistentry id="libubsan">
628 <term><filename class="libraryfile">libubsan</filename></term>
629 <listitem>
630 <para>The Undefined Behavior Sanitizer runtime library</para>
631 <indexterm zone="ch-system-gcc libubsan">
632 <primary sortas="c-libubsan">libubsan</primary>
633 </indexterm>
634 </listitem>
635 </varlistentry>
636
[6a82dd9]637 </variablelist>
638
639 </sect2>
[673b0d8]640
641</sect1>
Note: See TracBrowser for help on using the repository browser.