source: chapter08/gcc.xml@ 9c3ce2a

11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 arm ml-11.0 multilib s6-init trunk xry111/clfs-ng xry111/glibc-2.34 xry111/lfs-next xry111/tester-nohack
Last change on this file since 9c3ce2a was 9c3ce2a, checked in by Ken Moffat <ken@…>, 14 months ago

For consistency, make the cpp link in /usr/lib.

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