Changes in general/prog/llvm.xml [7975c68a:5a8c6008]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
general/prog/llvm.xml
r7975c68a r5a8c6008 9 9 <!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz"> 10 10 <!ENTITY llvm-download-ftp " "> 11 <!ENTITY llvm-md5sum " 8c24626dce3ee9d87d1079ebf0897db5">12 <!ENTITY llvm-size " 43MB">13 <!ENTITY llvm-buildsize " 4.0 GB (1 GB installed, with documentation, add 15 GB for tests)">14 <!ENTITY llvm-time "3 8 SBU (on 4 CPU cores, with documentation, add 14SBU for tests)">11 <!ENTITY llvm-md5sum "6812fb953d8e50f029848b281d89ad67"> 12 <!ENTITY llvm-size "51 MB"> 13 <!ENTITY llvm-buildsize "3.6 GB (848 MB installed; add 18.3 GB for tests and 308 MB for documentation)"> 14 <!ENTITY llvm-time "31 SBU (with doc, on 4 CPU cores; add 22 SBU for tests)"> 15 15 16 16 <!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz"> 17 <!ENTITY clang-md5sum " 020cbac6e5786094fe4f96f72e290763">18 <!ENTITY clang-size "1 7MB">17 <!ENTITY clang-md5sum "f9c15101030fb669af522cc8814484e8"> 18 <!ENTITY clang-size "18 MB"> 19 19 20 20 <!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz"> 21 <!ENTITY compiler-rt-md5sum " e2e136656d27d60c5f40e20260f63c07">21 <!ENTITY compiler-rt-md5sum "c1d9422709c74c208bfaf7f9d707b757"> 22 22 <!ENTITY compiler-rt-size "2.2 MB"> 23 24 <!ENTITY cmake-llvm-download-http "&sources-anduin-http;/llvm/llvm-cmake-&llvm-version;.src.tar.xz"> 25 <!-- <!ENTITY cmake-llvm-download-http "&llvm-url;/cmake-&llvm-version;.src.tar.xz"> 26 Renamed cmake-15.0.1.src.tar.xz and placed on anduin.--> 27 <!ENTITY cmake-llvm-md5sum "39eb4055b66b65c9052ea1d1240026e2"> 28 <!ENTITY cmake-llvm-size "6.8 KB"> 23 29 ]> 24 30 … … 26 32 <?dbhtml filename="llvm.html" ?> 27 33 28 <sect1info>29 <date>$Date$</date>30 </sect1info>31 34 32 35 <title>LLVM-&llvm-version;</title> … … 63 66 </para> 64 67 65 &lfs11 0a_checked;68 &lfs112_checked; 66 69 67 70 <bridgehead renderas="sect3">Package Information</bridgehead> … … 99 102 </itemizedlist> 100 103 104 <bridgehead renderas="sect3">Additional Downloads</bridgehead> 105 <para> 106 <emphasis role="strong">Cmake modules for LLVM</emphasis> 107 </para> 108 <itemizedlist spacing="compact"> 109 <listitem> 110 <para> 111 Download: <ulink url="&cmake-llvm-download-http;"/> 112 </para> 113 </listitem> 114 <listitem> 115 <para> 116 Download MD5 sum: &cmake-llvm-md5sum; 117 </para> 118 </listitem> 119 <listitem> 120 <para> 121 Download size: &cmake-llvm-size; 122 </para> 123 </listitem> 124 </itemizedlist> 125 101 126 <bridgehead renderas="sect3">Recommended Download</bridgehead> 102 <bridgehead role="recommended" renderas="sect4">Clang</bridgehead> 103 <itemizedlist spacing="compact"> 104 <listitem> 105 <para> 106 Download: <ulink url="&clang-download-http;"/> 107 </para> 108 </listitem> 109 <listitem> 110 <para> 111 Download MD5 sum: &clang-md5sum; 112 </para> 113 </listitem> 114 <listitem> 115 <para> 116 Download size: &clang-size; 117 </para> 118 </listitem> 119 </itemizedlist> 127 <para> 128 <emphasis role="strong">Clang</emphasis> 129 </para> 130 <itemizedlist spacing="compact"> 131 <listitem> 132 <para> 133 Download: <ulink url="&clang-download-http;"/> 134 </para> 135 </listitem> 136 <listitem> 137 <para> 138 Download MD5 sum: &clang-md5sum; 139 </para> 140 </listitem> 141 <listitem> 142 <para> 143 Download size: &clang-size; 144 </para> 145 </listitem> 146 </itemizedlist> 147 <itemizedlist spacing="compact"> 148 <listitem> 149 <para> 150 Patch enabling <xref linkend="gSSP"/> by default in clang: 151 <ulink url="&patch-root;/clang-&llvm-version;-enable_default_ssp-1.patch"/> 152 </para> 153 </listitem> 154 </itemizedlist> 120 155 121 156 <bridgehead renderas="sect3">Optional Download</bridgehead> 122 <bridgehead role="optional" renderas="sect4">Compiler RT</bridgehead> 123 <itemizedlist spacing="compact"> 124 <listitem> 125 <para> 126 Download: <ulink url="&compiler-rt-download-http;"/> 127 </para> 128 </listitem> 129 <listitem> 130 <para> 131 Download MD5 sum: &compiler-rt-md5sum; 132 </para> 133 </listitem> 134 <listitem> 135 <para> 136 Download size: &compiler-rt-size; 137 </para> 138 </listitem> 139 </itemizedlist> 140 <!-- 141 <itemizedlist spacing="compact"> 142 <listitem> 143 <para> 144 Optional patch: 145 <ulink url="&patch-root;/llvm-&llvm-version;-compiler_rt_buildfix-1.patch"/> 146 (required if using compiler-rt) 147 </para> 148 </listitem> 149 </itemizedlist> 150 --> 157 <para> 158 <emphasis role="strong">Compiler RT</emphasis> 159 </para> 160 <itemizedlist spacing="compact"> 161 <listitem> 162 <para> 163 Download: <ulink url="&compiler-rt-download-http;"/> 164 </para> 165 </listitem> 166 <listitem> 167 <para> 168 Download MD5 sum: &compiler-rt-md5sum; 169 </para> 170 </listitem> 171 <listitem> 172 <para> 173 Download size: &compiler-rt-size; 174 </para> 175 </listitem> 176 </itemizedlist> 151 177 <bridgehead renderas="sect3">LLVM Dependencies</bridgehead> 152 178 … … 169 195 <xref linkend="zip"/>, 170 196 <ulink url="https://ocaml.org/">OCaml</ulink>, 171 <ulink url="https://pypi.org/project/psutil/">psutil</ulink>, 172 <ulink url="https://pypi.python.org/pypi/recommonmark">recommonmark</ulink>, 173 <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink>, and 197 <ulink url="https://pypi.org/project/psutil/">psutil</ulink> (for tests), 198 <ulink url="https://pypi.python.org/pypi/recommonmark">recommonmark</ulink> 199 and <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink> 200 (for building the documentation), and 174 201 <ulink url="https://github.com/Z3Prover/z3">Z3</ulink> 175 202 </para> … … 183 210 <title>Installation of LLVM</title> 184 211 212 <note> 213 <para> 214 Starting with version 15.0.0, an additional tarball 215 <filename>llvm-cmake-&llvm-version;.src.tar.xz</filename> 216 needs to be extracted at the same level as the 217 <filename>llvm-&llvm-version;.src.tar.xz</filename> tarball, 218 and the extracted directory needs to be renamed to 219 <filename class="directory">cmake</filename>. 220 </para> 221 222 <screen><userinput>tar -xf ../llvm-cmake-&llvm-version;.src.tar.xz && 223 mv cmake-&llvm-version;.src ../cmake</userinput></screen> 224 225 </note> 226 185 227 <para> 186 228 Install <application>clang</application> into … … 202 244 There are many Python scripts in this package which use 203 245 <command>/usr/bin/env python</command> to access the system Python 204 which on LFS is <xref linkend="python3"/>. Use the following com and246 which on LFS is <xref linkend="python3"/>. Use the following command 205 247 to fix these scripts: 206 248 </para> 207 249 208 250 <screen><userinput>grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'</userinput></screen> 209 <!-- 210 <para> 211 If you have downloaded <application>compiler-rt</application>, 212 fix building it with Linux-5.13.0 by using the following command: 213 </para> 214 215 <screen><userinput remap="pre">patch -Np1 -i ../llvm-&llvm-version;-compiler_rt_buildfix-1.patch</userinput></screen> 216 --> 251 252 <para> 253 If you have downloaded <application>clang</application>, 254 apply the following patch to enable <xref linkend="gSSP"/> by default 255 in compiled programs. 256 </para> 257 <!-- need <../<patch> instead of -i because -d changes directory 258 before applying -i --> 259 <screen><userinput remap="pre">patch -Np2 -d tools/clang <../clang-&llvm-version;-enable_default_ssp-1.patch</userinput></screen> 260 217 261 <para> 218 262 Install <application>LLVM</application> by running the following … … 231 275 -DLLVM_ENABLE_RTTI=ON \ 232 276 -DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \ 233 -DLLVM_BUILD_TESTS=ON \234 277 -DLLVM_BINUTILS_INCDIR=/usr/include \ 278 -DLLVM_INCLUDE_BENCHMARKS=OFF \ 279 -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ 235 280 -Wno-dev -G Ninja .. && 236 281 ninja</userinput></screen> … … 267 312 by the <systemitem class="username">root</systemitem> user and makes them 268 313 temporarily unusable by all jobs on the machine.) 269 Note that a few of the compiler-rt Sanitizer based tests (13 of more than 59000 270 tests run) are known to fail. Some of the LLVM-Unit IR tests are known to 271 fail as well. 314 <!--Note that 2 of more than 62090 tests (llvm-libtool-darwin/L-and-l.test 315 and ThreadSanitizer-x86_64) are known to fail.--> 316 <!--Note that three tests, <filename>extendhfsf2_test.c</filename>, 317 <filename>truncdfhf2_test.c</filename>, and 318 <filename>truncsfhf2_test.c</filename> are known to fail.--> 319 <!-- 15.0.1: --> 320 Note that three tests out of more than 64,700 are known to fail: 321 <filename>DataFlowSanitizer-x86_64 :: custom.cpp</filename>, 322 <filename>DataFlowSanitizer-x86_64 :: origin_unaligned_memtrans.c</filename>, 323 <filename>LLVM :: tools/llvm-libtool-darwin/L-and-l.test</filename>, 272 324 </para> 273 325 … … 288 340 289 341 <screen role="root" 290 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; 291 mv -v /usr/share/doc/ llvm/html /usr/share/doc/llvm-&llvm-version;/llvm-html&&292 rmdir -v /usr/share/doc/llvm</userinput></screen>342 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; && 343 mv -v /usr/share/doc/LLVM/llvm /usr/share/doc/llvm-&llvm-version; && 344 rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM</userinput></screen> 293 345 294 346 <para> … … 299 351 300 352 <screen role="root" 301 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; 302 mv -v /usr/share/doc/ clang/html /usr/share/doc/llvm-&llvm-version;/clang-html&&303 rmdir -v /usr/share/doc/clang</userinput></screen>353 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; && 354 mv -v /usr/share/doc/LLVM/clang /usr/share/doc/llvm-&llvm-version; && 355 rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM</userinput></screen> 304 356 305 357 </sect2> … … 341 393 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>, this switch enables 342 394 linking the tools against the shared library instead of the static ones. 343 It alsoslightly reduces their size and also ensures that llvm-config344 will correctly use libLLVM-&llvm-maj min-version;.so.395 It slightly reduces their size and also ensures that llvm-config 396 will correctly use libLLVM-&llvm-maj-version;.so. 345 397 </para> 346 398 … … 361 413 362 414 <para> 415 <parameter>-DLLVM_INCLUDE_BENCHMARKS=OFF</parameter>: 416 is used to disable generation build targets for the LLVM 417 benchmarks. This option requires additional code that 418 is not currently available. 419 </para> 420 421 <para> 422 <parameter>-DCLANG_DEFAULT_PIE_ON_LINUX=ON</parameter>: makes 423 <option>-fpie</option> option the default when compiling programs. 424 Together with the <xref linkend="gASLR"/> feature enabled in the kernel, 425 this defeats some kind of attacks based on known memory layouts. 426 </para> 427 428 <para> 363 429 <option>-DBUILD_SHARED_LIBS=ON</option>: if used instead of 364 430 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter> and … … 387 453 <seglistitem> 388 454 <seg> 389 bugpoint, c-index-test, clang, clang++ (symlinks to390 clang-&l t;version>), clang-<version>, clang-check, clang-cl,455 analyze-build, bugpoint, c-index-test, clang, clang++ (symlinks to 456 clang-&llvm-maj-version;), clang-&llvm-maj-version;, clang-check, clang-cl, 391 457 clang-cpp (last two symlinks to clang), clang-extdef-mapping, clang-format, 392 clang-offload-bundler, clang-offload-wrapper, 458 clang-linker-wrapper, clang-nvlink-wrapper, 459 clang-offload-bundler, clang-offload-packager, clang-offload-wrapper, 393 460 clang-refactor, clang-rename, clang-repl, clang-scan-deps, 394 diagtool, dsymutil, git-clang-format, hmaptool, llc, lli,461 diagtool, dsymutil, git-clang-format, hmaptool, intercept-build, llc, lli, 395 462 llvm-addr2line (symlink to llvm-symbolizer), 396 463 llvm-ar, llvm-as, llvm-bcanalyzer, … … 398 465 llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres, 399 466 llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap, 400 llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar), llvm-dwarfdump, 401 llvm-dwp, llvm-exegenesis, llvm-extract, llvm-gsymutil, llvm-ifs, 467 llvm-debuginfod, llvm-debuginfod-find, 468 llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar), 469 llvm-dwarfdump, llvm-dwarfutil, 470 llvm-dwp, llvm-exegesis, llvm-extract, llvm-gsymutil, llvm-ifs, 402 471 llvm-install-name-tool (symlink to llvm-objcopy), llvm-jitlink, 403 472 llvm-lib (symlink to llvm-ar), llvm-libtool-darwin, llvm-link, … … 408 477 llvm-ranlib (symlink to llvm-ar), llvm-rc, 409 478 llvm-readelf (symlink to llvm-readobj), llvm-readobj, llvm-reduce, 479 llvm-remark-size-diff, 410 480 llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress, 411 481 llvm-strings, llvm-strip (symlink to llvm-objcopy), llvm-symbolizer, 412 llvm-tapi-diff, llvm-tblgen, llvm- undname, llvm-windres (symlink to413 llvm-rc , llvm-xray, opt, sancov, sanstats, scan-build,414 scan- view, split-file, and verify-uselistorder482 llvm-tapi-diff, llvm-tblgen, llvm-tli-checker, llvm-undname, llvm-windres (symlink to 483 llvm-rc), llvm-xray, opt, sancov, sanstats, scan-build, 484 scan-build-py, scan-view, split-file, and verify-uselistorder 415 485 </seg> 416 486 <seg> 417 487 libLLVM.so, 418 libLLVM*.a ( 89libraries),488 libLLVM*.a (95 libraries), 419 489 libLTO.so, 420 490 libRemarks.so, 421 491 libclang.so, 422 492 libclang-cpp.so, 423 libclang*.a ( 38libraries),493 libclang*.a (41 libraries), 424 494 and LLVMgold.so 425 495 </seg> … … 438 508 <?dbhtml list-presentation="table"?> 439 509 510 <varlistentry id="analyze-build"> 511 <term><command>analyze-build</command></term> 512 <listitem> 513 <para> 514 is a static analysis tool 515 </para> 516 <indexterm zone="llvm analyze-build"> 517 <primary sortas="b-analyze-build">analyze-build</primary> 518 </indexterm> 519 </listitem> 520 </varlistentry> 521 440 522 <varlistentry id="bugpoint"> 441 523 <term><command>bugpoint</command></term> … … 514 596 </varlistentry> 515 597 516 <!-- 517 <varlistentry id="clang-func-mapping"> 518 <term><command>clang-func-mapping</command></term> 519 <listitem> 520 <para> 521 collects the name and location of all function definitions in the 522 source files. 523 </para> 524 <indexterm zone="llvm clang-func-mapping"> 525 <primary sortas="b-clang-func-mapping">clang-func-mapping</primary> 526 </indexterm> 527 </listitem> 528 </varlistentry> 529 --> 598 <varlistentry id="clang-linker-wrapper"> 599 <term><command>clang-linker-wrapper</command></term> 600 <listitem> 601 <para> 602 is a wrapper utility over the host linker 603 </para> 604 <indexterm zone="llvm clang-linker-wrapper"> 605 <primary sortas="b-clang-linker-wrapper">clang-linker-wrapper</primary> 606 </indexterm> 607 </listitem> 608 </varlistentry> 609 610 <varlistentry id="clang-nvlink-wrapper"> 611 <term><command>clang-nvlink-wrapper</command></term> 612 <listitem> 613 <para> 614 is a wrapper tool over the nvlink program 615 </para> 616 <indexterm zone="llvm clang-nvlink-wrapper"> 617 <primary sortas="b-clang-nvlink-wrapper">clang-nvlink-wrapper</primary> 618 </indexterm> 619 </listitem> 620 </varlistentry> 621 530 622 <varlistentry id="clang-offload-bundler"> 531 623 <term><command>clang-offload-bundler</command></term> … … 537 629 <indexterm zone="llvm clang-offload-bundler"> 538 630 <primary sortas="b-clang-offload-bundler">clang-offload-bundler</primary> 631 </indexterm> 632 </listitem> 633 </varlistentry> 634 635 <varlistentry id="clang-offload-packager"> 636 <term><command>clang-offload-packager</command></term> 637 <listitem> 638 <para> 639 is a tool to bundle several object files into a single binary, 640 which can then be used to create a fatbinary containing offloading 641 code 642 </para> 643 <indexterm zone="llvm clang-offload-packager"> 644 <primary sortas="b-clang-offload-packager">clang-offload-packager</primary> 539 645 </indexterm> 540 646 </listitem> … … 835 941 </varlistentry> 836 942 943 <varlistentry id="llvm-debuginfod"> 944 <term><command>llvm-debuginfod</command></term> 945 <listitem> 946 <para> 947 is a service providing debug information over an HTTP API for 948 analyzing stripped binaries 949 </para> 950 <indexterm zone="llvm llvm-debuginfod"> 951 <primary sortas="b-llvm-debuginfod">llvm-debuginfod</primary> 952 </indexterm> 953 </listitem> 954 </varlistentry> 955 956 <varlistentry id="llvm-debuginfod-find"> 957 <term><command>llvm-debuginfod-find</command></term> 958 <listitem> 959 <para> 960 is an interface to the <command>llvm-debuginfod</command> daemon 961 for finding debuginfod artifacts 962 </para> 963 <indexterm zone="llvm llvm-debuginfod-find"> 964 <primary sortas="b-llvm-debuginfod-find">llvm-debuginfod-find</primary> 965 </indexterm> 966 </listitem> 967 </varlistentry> 968 837 969 <varlistentry id="llvm-diff"> 838 970 <term><command>llvm-diff</command></term> … … 868 1000 <indexterm zone="llvm llvm-dwarfdump"> 869 1001 <primary sortas="b-llvm-dwarfdump">llvm-dwarfdump</primary> 1002 </indexterm> 1003 </listitem> 1004 </varlistentry> 1005 1006 <varlistentry id="llvm-dwarfutil"> 1007 <term><command>llvm-dwarfutil</command></term> 1008 <listitem> 1009 <para> 1010 is a tool to copy and manipulate debug info 1011 </para> 1012 <indexterm zone="llvm llvm-dwarfutil"> 1013 <primary sortas="b-llvm-dwarfutil">llvm-dwarfutil</primary> 870 1014 </indexterm> 871 1015 </listitem> … … 1248 1392 </varlistentry> 1249 1393 1394 <varlistentry id="llvm-remark-size-diff"> 1395 <term><command>llvm-remark-size-diff</command></term> 1396 <listitem> 1397 <para> 1398 reports the difference in instruction count and stack size 1399 remarks between two remark files 1400 </para> 1401 <indexterm zone="llvm llvm-remark-size-diff"> 1402 <primary sortas="b-llvm-remark-size-diff">llvm-remark-size-diff</primary> 1403 </indexterm> 1404 </listitem> 1405 </varlistentry> 1406 1250 1407 <varlistentry id="llvm-rtdyld"> 1251 1408 <term><command>llvm-rtdyld</command></term> … … 1314 1471 <listitem> 1315 1472 <para> 1316 converts ad resses into source code locations1473 converts addresses into source code locations 1317 1474 </para> 1318 1475 <indexterm zone="llvm llvm-symbolizer"> … … 1335 1492 </varlistentry> 1336 1493 1494 <varlistentry id="llvm-tli-checker"> 1495 <term><command>llvm-tli-checker</command></term> 1496 <listitem> 1497 <para> 1498 is the <application>LLVM</application> TargetLibraryInfo 1499 versus SDK checker 1500 </para> 1501 <indexterm zone="llvm llvm-tli-checker"> 1502 <primary sortas="b-llvm-tli-checker">llvm-tli-checker</primary> 1503 </indexterm> 1504 </listitem> 1505 </varlistentry> 1506 1337 1507 <varlistentry id="llvm-undname"> 1338 1508 <term><command>llvm-undname</command></term> … … 1359 1529 </varlistentry> 1360 1530 1361 <!-- 1362 <varlistentry id="obj2yaml"> 1363 <term><command>obj2yaml</command></term> 1364 <listitem> 1365 <para> 1366 takes an object file, and produces a YAML representation of the 1367 file 1368 </para> 1369 <indexterm zone="llvm obj2yaml"> 1370 <primary sortas="b-obj2yaml">obj2yaml</primary> 1371 </indexterm> 1372 </listitem> 1373 </varlistentry> 1374 --> 1531 <varlistentry id="intercept-build"> 1532 <term><command>intercept-build</command></term> 1533 <listitem> 1534 <para> 1535 generates a database of build commands for a project 1536 </para> 1537 <indexterm zone="llvm intercept-build"> 1538 <primary sortas="b-intercept-build">intercept-build</primary> 1539 </indexterm> 1540 </listitem> 1541 </varlistentry> 1542 1375 1543 1376 1544 <varlistentry id="opt"> … … 1419 1587 <indexterm zone="llvm scan-build"> 1420 1588 <primary sortas="b-scan-build">scan-build</primary> 1589 </indexterm> 1590 </listitem> 1591 </varlistentry> 1592 1593 <varlistentry id="scan-build-py"> 1594 <term><command>scan-build-py</command></term> 1595 <listitem> 1596 <para> 1597 is a <application>Python</application> script that invokes the 1598 <application>Clang</application> static analyzer 1599 </para> 1600 <indexterm zone="llvm scan-build-py"> 1601 <primary sortas="b-scan-build-py">scan-build-py</primary> 1421 1602 </indexterm> 1422 1603 </listitem>
Note:
See TracChangeset
for help on using the changeset viewer.