Changeset 670ac4fc for general/prog
- Timestamp:
- 03/06/2024 08:46:08 PM (8 weeks ago)
- Branches:
- ken/TL2024, trunk, xry111/llvm18
- Children:
- c87567a
- Parents:
- 383c5a2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
general/prog/llvm.xml
r383c5a2 r670ac4fc 9 9 <!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz"> 10 10 <!ENTITY llvm-download-ftp " "> 11 <!ENTITY llvm-md5sum " fd7fc891907e14f8e0ff7e3f87cc89a4">12 <!ENTITY llvm-size " 57MB">11 <!ENTITY llvm-md5sum "aaaf9cd983c775a11f18ee9b9713edb4"> 12 <!ENTITY llvm-size "60 MB"> 13 13 <!ENTITY llvm-buildsize "4.2 GB (964 MB installed; add 20 GB for tests and 308 MB for documentation)"> 14 14 <!ENTITY llvm-time "13 SBU (Add 8 SBU for tests; both using parallelism=8)"> 15 15 16 16 <!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz"> 17 <!ENTITY clang-md5sum " 52ff9f49e064860445474aa21e4a7e40">18 <!ENTITY clang-size "2 1MB">17 <!ENTITY clang-md5sum "1d4b452265bda9f570d1aa2499815f5a"> 18 <!ENTITY clang-size "22 MB"> 19 19 20 20 <!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz"> 21 <!ENTITY compiler-rt-md5sum " 85d25f04cbc4c1a20e3a1ab2a2c522cd">21 <!ENTITY compiler-rt-md5sum "745326564d64300874cbf3be602cd459"> 22 22 <!ENTITY compiler-rt-size "2.4 MB"> 23 23 … … 26 26 27 27 <!ENTITY cmake-llvm-download-http "&sources-anduin-http;/llvm/llvm-cmake-&llvm-maj-version;.src.tar.xz"> 28 <!ENTITY cmake-llvm-md5sum " 2b75b6446bfd5d0dcc288cd412b6a52a">28 <!ENTITY cmake-llvm-md5sum "bf2ad617d47ce40fe77c0e5c26b1fe43"> 29 29 <!ENTITY cmake-llvm-size "12 KB"> 30 30 31 31 <!ENTITY llvm-3rdparty-download-http "&sources-anduin-http;/llvm/llvm-third-party-&llvm-maj-version;.src.tar.xz"> 32 <!ENTITY llvm-3rdparty-md5sum " 09c9f2259766dd65b75cd728df11b395">33 <!ENTITY llvm-3rdparty-size "3 76 KB">32 <!ENTITY llvm-3rdparty-md5sum "5ebac19868c66cdac8b87077faefd38c"> 33 <!ENTITY llvm-3rdparty-size "396 KB"> 34 34 ]> 35 35 … … 172 172 </listitem> 173 173 </itemizedlist> 174 <itemizedlist spacing="compact">175 <listitem>176 <para>177 Patch enabling <xref linkend="gSSP"/> by default in clang:178 <ulink url="&patch-root;/clang-&llvm-maj-version;-enable_default_ssp-1.patch"/>179 </para>180 </listitem>181 </itemizedlist>182 174 183 175 <bridgehead renderas="sect3">Optional Download</bridgehead> … … 264 256 <para> 265 257 If you have downloaded <application>compiler-rt</application>, 266 install it into the source tree by running the following commands, 267 <!-- https://github.com/llvm/llvm-project/pull/66761 --> 268 and modify the building system so it will find the 269 <filename class='directory'> 270 llvm-cmake-&llvm-maj-version;.src</filename> directory correctly: 258 install it into the source tree by running the following commands: 271 259 </para> 272 260 273 261 <screen><userinput>tar -xf ../compiler-rt-&llvm-version;.src.tar.xz -C projects && 274 mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt && 275 sed '/^set(LLVM_COMMON_CMAKE_UTILS/d' \ 276 -i projects/compiler-rt/CMakeLists.txt</userinput></screen> 262 mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt</userinput></screen> 277 263 278 264 <para> … … 284 270 285 271 <screen><userinput>grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'</userinput></screen> 286 287 <para>288 If you have downloaded <application>clang</application>,289 apply the following patch to enable <xref linkend="gSSP"/> by default290 in compiled programs.291 </para>292 <!-- need <../<patch> instead of -i because -d changes directory293 before applying -i -->294 <screen><userinput remap="pre">patch -Np2 -d tools/clang <../clang-&llvm-maj-version;-enable_default_ssp-1.patch</userinput></screen>295 296 <para>297 If you have downloaded <application>compiler-rt</application>,298 fix a test case broken by default SSP in299 <application>clang</application>:300 </para>301 302 <screen><userinput remap="pre">sed 's/clang_dfsan/& -fno-stack-protector/' \303 -i projects/compiler-rt/test/dfsan/origin_unaligned_memtrans.c</userinput></screen>304 272 305 273 <para> … … 321 289 -DLLVM_BINUTILS_INCDIR=/usr/include \ 322 290 -DLLVM_INCLUDE_BENCHMARKS=OFF \ 291 -DLLVM_VERSION_SUFFIX= \ 323 292 -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ 293 -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang \ 324 294 -Wno-dev -G Ninja .. && 325 295 ninja</userinput></screen> … … 400 370 read <xref linkend='build-in-cgroup'/> for details) to limit the 401 371 number of logical cores for running the tests. 372 Two tests named 373 <filename>sanitizer_coverage_inline8bit_counter_default_impl.cpp</filename> 374 and <filename>sanitizer_coverage_symbolize.cpp</filename> are known 375 to fail. 402 376 One test named <filename>Linux/clone_setns.cpp</filename> will fail 403 377 if <option>CONFIG_USER_NS</option> is not enabled in kernel 404 378 configuration. 405 <!-- 1 7.0.1: 69321 Passed, 25066 Unsupported, 337Skipped,406 13 1 ExpectedlyFailed -->379 <!-- 18.1.0: 71613 Passed, 27447 Unsupported, 339 Skipped, 380 133 Expectedly Failed, 2 Failed --> 407 381 408 382 <!-- To editors: it seems there is a more thorough test suite named … … 479 453 The default is 480 454 all of the targets. You can use a semicolon separated list. Valid targets 481 are: host, X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore, 482 M68K, MSP430, NVPTX, SystemZ, AMDGPU, BPF, CppBackend, or all. 455 are: host, AArch64, AMDGPU, ARM, AVR, BPF, Hexagon, Lanai, LoongArch, 456 Mips, MSP430, NVPTX, PowerPC, RISCV, Sparc, SystemZ, SystemZ, VE, 457 WebAssembly, X86, XCore, or all. 483 458 </para> 484 459 … … 513 488 </para> 514 489 490 <!-- https://github.com/llvm/llvm-project/issues/84168 491 It'll likely be fixed in 18.1.1, remove this then. --> 492 <para> 493 <parameter>-DLLVM_VERSION_SUFFIX=</parameter>: works around an 494 oversight in the upstream releasing process causing the 18.1.0 495 release branded <quote>18.1rc</quote>. 496 </para> 497 515 498 <para> 516 499 <parameter>-DCLANG_DEFAULT_PIE_ON_LINUX=ON</parameter>: makes … … 518 501 Together with the <xref linkend="gASLR"/> feature enabled in the kernel, 519 502 this defeats some kind of attacks based on known memory layouts. 503 </para> 504 505 <para> 506 <parameter>-DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang</parameter>: 507 makes <command>clang</command> and <command>clang++</command> 508 search <filename class='directory'>/etc/clang</filename> for 509 configuration files. 520 510 </para> 521 511 … … 535 525 </para> 536 526 527 </sect2> 528 529 <sect2 role="configuration"> 530 <title>Configuring LLVM</title> 531 532 <sect3 id="llvm-config-info"> 533 <title>Configuration Information</title> 534 535 <para> 536 If you've built Clang, as the &root; user create two configuration 537 files to make <xref linkend='gSSP'/> enabled by default for 538 for <command>clang</command> and <command>clang++</command>, so 539 the default configuration of their SSP feature will be consistent 540 with <xref linkend='gcc'/>: 541 </para> 542 543 <screen role='root'><userinput>for i in clang clang++; do 544 echo -fstack-protector-strong > /etc/clang/$i.cfg 545 done</userinput></screen> 546 </sect3> 537 547 </sect2> 538 548 … … 554 564 clang-offload-bundler, clang-offload-packager, 555 565 clang-refactor, clang-rename, clang-repl, clang-scan-deps, 566 clang-tblgen, 556 567 diagtool, dsymutil, FileCheck, git-clang-format, hmaptool, intercept-build, llc, lli, 557 568 llvm-addr2line (symlink to llvm-symbolizer), … … 571 582 llvm-pdbutil, llvm-profdata, llvm-profgen, 572 583 llvm-ranlib (symlink to llvm-ar), llvm-rc, 573 llvm-readelf (symlink to llvm-readobj), llvm-readobj, llvm-reduce, 584 llvm-readelf (symlink to llvm-readobj), llvm-readobj, 585 llvm-readtapi, llvm-reduce, 574 586 llvm-remark-size-diff, llvm-remarkutil, 575 587 llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress, … … 577 589 llvm-tapi-diff, llvm-tblgen, llvm-tli-checker, llvm-undname, llvm-windres (symlink to 578 590 llvm-rc), llvm-xray, nvptx-arch, opt, sancov, sanstats, scan-build, 579 scan-build-py, scan-view, split-file,and verify-uselistorder591 scan-build-py, scan-view, and verify-uselistorder 580 592 </seg> 581 593 <seg> … … 592 604 /usr/include/{clang,clang-c,llvm,llvm-c}, 593 605 /usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild}, 594 /usr/share/{clang,opt-viewer,scan-build,scan-view}, and 595 /usr/share/doc/llvm-&llvm-version; 606 /usr/share/{clang,opt-viewer,scan-build,scan-view}, 607 /usr/share/doc/llvm-&llvm-version;, and 608 /etc/clang 596 609 </seg> 597 610 </seglistitem> … … 780 793 </varlistentry> 781 794 795 <varlistentry id="clang-tblgen"> 796 <term><command>clang-tblgen</command></term> 797 <listitem> 798 <para> 799 is a program that translates compiler-related target 800 description (<filename class='extension'>.td</filename>) files 801 into C++ code and other output formats 802 </para> 803 <indexterm zone="llvm clang-tblgen"> 804 <primary sortas="b-clang-tblgen">clang-tblgen</primary> 805 </indexterm> 806 </listitem> 807 </varlistentry> 808 782 809 <varlistentry id="diagtool"> 783 810 <term><command>diagtool</command></term> … … 1501 1528 </varlistentry> 1502 1529 1530 <varlistentry id="llvm-readtapi"> 1531 <term><command>llvm-readtapi</command></term> 1532 <listitem> 1533 <para> 1534 is the LLVM TAPI file reader and transformer 1535 </para> 1536 <indexterm zone="llvm llvm-readtapi"> 1537 <primary sortas="b-llvm-readtapi">llvm-readtapi</primary> 1538 </indexterm> 1539 </listitem> 1540 </varlistentry> 1541 1503 1542 <varlistentry id="llvm-reduce"> 1504 1543 <term><command>llvm-reduce</command></term> … … 1749 1788 <indexterm zone="llvm scan-view"> 1750 1789 <primary sortas="b-scan-view">scan-view</primary> 1751 </indexterm>1752 </listitem>1753 </varlistentry>1754 1755 <varlistentry id="split-file">1756 <term><command>split-file</command></term>1757 <listitem>1758 <para>1759 splits an input file into multiple parts separated by regex1760 </para>1761 <indexterm zone="llvm split-file">1762 <primary sortas="b-split-file">split-file</primary>1763 1790 </indexterm> 1764 1791 </listitem>
Note:
See TracChangeset
for help on using the changeset viewer.