source: chapter08/gcc.xml@ 89250241

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 89250241 was 89250241, checked in by Xi Ruoyao <xry111@…>, 3 years ago

minor typo

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