source: chapter08/gcc.xml@ 37e35d2

multilib-10.1
Last change on this file since 37e35d2 was 37e35d2, checked in by Thomas Trepl <thomas@…>, 4 years ago

Update to new lfs structure

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11986 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

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