mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-23 14:32:13 +08:00
2c01feca0c
This downgrade fixes the lib32 NVK build in Mesa as the new version generates the bindings for libnak improperly for 32-bit. Perhaps an ABI issue. Also added the commit from Toxikuu in the changelog. And removed the notification to users saying NVK cannot be built.
1670 lines
56 KiB
XML
1670 lines
56 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY llvm-url "https://github.com/llvm/llvm-project/releases/download/llvmorg-&llvm-version;">
|
|
|
|
<!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz">
|
|
<!ENTITY llvm-download-ftp " ">
|
|
|
|
<!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz">
|
|
|
|
<!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz">
|
|
|
|
<!ENTITY cmake-llvm-download-http "&sources-anduin-http;/llvm/llvm-cmake-&llvm-maj-version;.src.tar.xz">
|
|
|
|
<!ENTITY llvm-3rdparty-download-http "&sources-anduin-http;/llvm/llvm-third-party-&llvm-maj-version;.src.tar.xz">
|
|
]>
|
|
|
|
<sect1 id="llvm" xreflabel="LLVM-&llvm-version;">
|
|
<?dbhtml filename="llvm.html" ?>
|
|
|
|
|
|
<title>LLVM-&llvm-version;</title>
|
|
|
|
<indexterm zone="llvm">
|
|
<primary sortas="a-LLVM">LLVM</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to LLVM</title>
|
|
|
|
<para>
|
|
The <application>LLVM</application> package contains a collection of
|
|
modular and reusable compiler and toolchain technologies. The Low Level
|
|
Virtual Machine (LLVM) Core libraries provide a modern source and
|
|
target-independent optimizer, along with code generation support for many
|
|
popular CPUs (as well as some less common ones!). These libraries are
|
|
built around a well specified code representation known as the LLVM
|
|
intermediate representation ("LLVM IR").
|
|
</para>
|
|
|
|
<para>
|
|
<application>Clang</application> provides new C, C++, Objective C
|
|
and Objective C++ front-ends for <application>LLVM</application> and is
|
|
required by some desktop packages such as <application>firefox</application>
|
|
and for <application>rust</application> if that is built using the system
|
|
<application>LLVM</application>.
|
|
</para>
|
|
|
|
<para>
|
|
The <application>Compiler RT</application> package provides
|
|
runtime sanitizer and profiling libraries for developers who use
|
|
<application>Clang</application> and <application>LLVM</application>.
|
|
</para>
|
|
|
|
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&llvm-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&llvm-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
|
<para>
|
|
<emphasis role="strong">Cmake modules for LLVM</emphasis>
|
|
</para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download: <ulink url="&cmake-llvm-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
<emphasis role="strong">Third-party dependencies for LLVM build system</emphasis>
|
|
</para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download: <ulink url="&llvm-3rdparty-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
|
|
<bridgehead renderas="sect3">Recommended Download</bridgehead>
|
|
<para>
|
|
<emphasis role="strong">Clang</emphasis>
|
|
</para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download: <ulink url="&clang-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Optional Download</bridgehead>
|
|
<para>
|
|
<emphasis role="strong">Compiler RT</emphasis>
|
|
</para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download: <ulink url="&compiler-rt-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<bridgehead renderas="sect3">LLVM Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="cmake"/>
|
|
</para>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/long-build-time.xml"/>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of LLVM</title>
|
|
|
|
<para>
|
|
Two additional tarballs
|
|
<filename>llvm-cmake-&llvm-maj-version;.src.tar.xz</filename> and
|
|
<filename>llvm-third-party-&llvm-maj-version;.src.tar.xz</filename> are
|
|
needed by LLVM building system. The upstream expects them extracted
|
|
at the same level as the
|
|
<filename>llvm-&llvm-version;.src.tar.xz</filename> tarball,
|
|
and the extracted directories renamed to
|
|
<filename class="directory">cmake</filename> and
|
|
<filename class="directory">third-party</filename>. Extract them and
|
|
modify the build system to avoid creating ambiguously-named
|
|
directories outside the
|
|
<filename>llvm-&llvm-version;.src</filename> hierarchy:
|
|
</para>
|
|
|
|
<screen><userinput>tar -xf ../llvm-cmake-&llvm-maj-version;.src.tar.xz &&
|
|
tar -xf ../llvm-third-party-&llvm-maj-version;.src.tar.xz &&
|
|
sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@llvm-cmake-&llvm-maj-version;.src@' \
|
|
-i CMakeLists.txt &&
|
|
sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@llvm-third-party-&llvm-maj-version;.src@' \
|
|
-i cmake/modules/HandleLLVMOptions.cmake</userinput></screen>
|
|
|
|
<para>
|
|
Install <application>clang</application> into
|
|
the source tree by running the following commands:
|
|
</para>
|
|
|
|
<screen><userinput>tar -xf ../clang-&llvm-version;.src.tar.xz -C tools &&
|
|
mv tools/clang-&llvm-version;.src tools/clang</userinput></screen>
|
|
|
|
<para>
|
|
If you have downloaded <application>compiler-rt</application>,
|
|
install it into the source tree by running the following commands:
|
|
</para>
|
|
|
|
<screen><userinput>tar -xf ../compiler-rt-&llvm-version;.src.tar.xz -C projects &&
|
|
mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt</userinput></screen>
|
|
|
|
<para>
|
|
There are many Python scripts in this package which use
|
|
<command>/usr/bin/env python</command> to access the system Python
|
|
which on LFS is <application>Python3</application>. Use the following
|
|
command to fix these scripts:
|
|
</para>
|
|
|
|
<screen><userinput>grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'</userinput></screen>
|
|
|
|
<para>
|
|
Ensure installing the <command>FileCheck</command> program which is
|
|
needed by the test suite of some packages (for example
|
|
rustc-&rust-version;):
|
|
</para>
|
|
|
|
<screen><userinput>sed 's/utility/tool/' -i utils/FileCheck/CMakeLists.txt</userinput></screen>
|
|
|
|
<para>
|
|
Install <application>LLVM</application> by running the following
|
|
commands:
|
|
</para>
|
|
|
|
<screen><userinput>mkdir -v build &&
|
|
cd build &&
|
|
|
|
CC=gcc CXX=g++ \
|
|
cmake -D CMAKE_INSTALL_PREFIX=/usr \
|
|
-D CMAKE_SKIP_INSTALL_RPATH=ON \
|
|
-D LLVM_ENABLE_FFI=ON \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D LLVM_BUILD_LLVM_DYLIB=ON \
|
|
-D LLVM_LINK_LLVM_DYLIB=ON \
|
|
-D LLVM_ENABLE_RTTI=ON \
|
|
-D LLVM_TARGETS_TO_BUILD="X86;host;AMDGPU" \
|
|
-D LLVM_BINUTILS_INCDIR=/usr/include \
|
|
-D LLVM_INCLUDE_BENCHMARKS=OFF \
|
|
-D CLANG_DEFAULT_PIE_ON_LINUX=ON \
|
|
-D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang \
|
|
-W no-dev -G Ninja .. &&
|
|
|
|
ninja</userinput></screen>
|
|
|
|
<para>
|
|
Now, as the &root; user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>ninja install &&
|
|
cp bin/FileCheck /usr/bin</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>32-bit Installation of LLVM</title>
|
|
|
|
<para>
|
|
If you are doing multilib, you will also need to install the
|
|
32-bit runtime libraries. Install them by doing the following:
|
|
</para>
|
|
|
|
<screen><userinput>rm -rf *
|
|
|
|
CC=gcc CXX=g++ \
|
|
cmake -D CMAKE_INSTALL_PREFIX=/usr \
|
|
-D CMAKE_C_FLAGS:STRING=-m32 \
|
|
-D CMAKE_SKIP_INSTALL_RPATH=ON \
|
|
-D CMAKE_CXX_FLAGS:STRING=-m32 \
|
|
-D LLVM_TARGET_ARCH:STRING=i686 \
|
|
-D LLVM_LIBDIR_SUFFIX=32 \
|
|
-D LLVM_ENABLE_FFI=ON \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D LLVM_BUILD_LLVM_DYLIB=ON \
|
|
-D LLVM_LINK_LLVM_DYLIB=ON \
|
|
-D LLVM_ENABLE_RTTI=ON \
|
|
-D LLVM_DEFAULT_TARGET_TRIPLE="i686-pc-linux-gnu" \
|
|
-D LLVM_TARGETS_TO_BUILD="X86;host;AMDGPU" \
|
|
-D LLVM_HOST_TRIPLE="x86_64-pc-linux-gnu" \
|
|
-D LLVM_BINUTILS_INCDIR=/usr/include \
|
|
-D LLVM_INCLUDE_BENCHMARKS=OFF \
|
|
-D CLANG_DEFAULT_PIE_ON_LINUX=ON \
|
|
-D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang \
|
|
-W no-dev -G Ninja .. &&
|
|
|
|
ninja</userinput></screen>
|
|
|
|
<para>
|
|
Now as the <systemitem class="username">root</systemitem>
|
|
user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>DESTDIR=$PWD/DESTDIR ninja install
|
|
cp -vr DESTDIR/usr/lib32/* /usr/lib32
|
|
rm -rf DESTDIR
|
|
ldconfig</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<parameter>-D LLVM_ENABLE_FFI=ON</parameter>: This switch allows
|
|
<application>LLVM</application> to use
|
|
<application>libffi</application>.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D LLVM_BUILD_LLVM_DYLIB=ON</parameter>: This switch builds
|
|
the libraries as static and links all of them into an unique shared one.
|
|
This is the recommended way of building a shared library.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D CMAKE_BUILD_TYPE=Release</parameter>: This switch enables
|
|
compiler optimizations in order to speed up the code and reduce its size.
|
|
It also disables some compile checks which are not necessary on a
|
|
production system.
|
|
</para>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/cmake-skip-install-rpath.xml"/>
|
|
|
|
<para>
|
|
<parameter>-D LLVM_TARGETS_TO_BUILD="X86;host;AMDGPU"</parameter>: This
|
|
switch enables building for x86, the same target as the host, and also for
|
|
the r600 AMD GPU used by the Mesa r600 and radeonsi drivers.
|
|
The default is
|
|
all of the targets. You can use a semicolon separated list. Valid targets
|
|
are: host, AArch64, AMDGPU, ARM, AVR, BPF, Hexagon, Lanai, LoongArch,
|
|
Mips, MSP430, NVPTX, PowerPC, RISCV, Sparc, SystemZ, SystemZ, VE,
|
|
WebAssembly, X86, XCore, or all.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D LLVM_LINK_LLVM_DYLIB=ON</parameter>: Used in conjunction with
|
|
<parameter>-D LLVM_BUILD_LLVM_DYLIB=ON</parameter>, this switch enables
|
|
linking the tools against the shared library instead of the static ones.
|
|
It slightly reduces their size and also ensures that llvm-config
|
|
will correctly use libLLVM-&llvm-maj-version;.so.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D LLVM_ENABLE_RTTI=ON</parameter>: This switch is used to
|
|
build LLVM with run-time type information. This is required for building
|
|
MESA.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D LLVM_BINUTILS_INCDIR=/usr/include</parameter>: This switch
|
|
is used to tell the build system the location of binutils headers,
|
|
which were installed in LFS. This allows the building of
|
|
<filename class="libraryfile">LLVMgold.so</filename>, which is needed
|
|
for building programs with <command>clang</command> and Link Time
|
|
Optimization (LTO).
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D LLVM_INCLUDE_BENCHMARKS=OFF</parameter>:
|
|
is used to disable generation build targets for the LLVM
|
|
benchmarks. This option requires additional code that
|
|
is not currently available.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D CLANG_DEFAULT_PIE_ON_LINUX=ON</parameter>: makes
|
|
<option>-fpie</option> option the default when compiling programs.
|
|
Together with the <xref linkend="gASLR"/> feature enabled in the kernel,
|
|
this defeats some kind of attacks based on known memory layouts.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>-D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang</parameter>:
|
|
makes <command>clang</command> and <command>clang++</command>
|
|
search <filename class='directory'>/etc/clang</filename> for
|
|
configuration files.
|
|
</para>
|
|
|
|
<para>
|
|
<option>-D BUILD_SHARED_LIBS=ON</option>: if used instead of
|
|
<parameter>-D LLVM_BUILD_LLVM_DYLIB=ON</parameter> and
|
|
<parameter>-D LLVM_LINK_LLVM_DYLIB=ON</parameter>, builds all the
|
|
<application>LLVM</application> libraries (about 60) as shared
|
|
libraries instead of static.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring LLVM</title>
|
|
|
|
<sect3 id="llvm-config-info">
|
|
<title>Configuration Information</title>
|
|
|
|
<para>
|
|
If you've built Clang, as the &root; user create two configuration
|
|
files to make <xref linkend='gSSP'/> enabled by default for
|
|
<command>clang</command> and <command>clang++</command>, so
|
|
the default configuration of their SSP feature will be consistent
|
|
with <application>GCC</application>:
|
|
</para>
|
|
|
|
<screen role='root'><userinput>mkdir -pv /etc/clang &&
|
|
for i in clang clang++; do
|
|
echo -fstack-protector-strong > /etc/clang/$i.cfg
|
|
done</userinput></screen>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
amdgpu-arch,
|
|
analyze-build, bugpoint, c-index-test, clang, clang++ (symlinks to
|
|
clang-&llvm-maj-version;), clang-&llvm-maj-version;, clang-check, clang-cl,
|
|
clang-cpp (last two symlinks to clang), clang-extdef-mapping, clang-format,
|
|
clang-linker-wrapper,
|
|
clang-offload-bundler, clang-offload-packager,
|
|
clang-refactor, clang-rename, clang-repl, clang-scan-deps,
|
|
clang-tblgen,
|
|
diagtool, dsymutil, FileCheck, git-clang-format, hmaptool, intercept-build, llc, lli,
|
|
llvm-addr2line (symlink to llvm-symbolizer),
|
|
llvm-ar, llvm-as, llvm-bcanalyzer,
|
|
llvm-bitcode-strip (symlink to llvm-objcopy), llvm-cat,
|
|
llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres,
|
|
llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap, llvm-debuginfo-analyzer,
|
|
llvm-debuginfod, llvm-debuginfod-find,
|
|
llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar),
|
|
llvm-dwarfdump, llvm-dwarfutil,
|
|
llvm-dwp, llvm-exegesis, llvm-extract, llvm-gsymutil, llvm-ifs,
|
|
llvm-install-name-tool (symlink to llvm-objcopy), llvm-jitlink,
|
|
llvm-lib (symlink to llvm-ar), llvm-libtool-darwin, llvm-link,
|
|
llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml,
|
|
llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump,
|
|
llvm-opt-report, llvm-otool (symlink to llv-objdump),
|
|
llvm-pdbutil, llvm-profdata, llvm-profgen,
|
|
llvm-ranlib (symlink to llvm-ar), llvm-rc,
|
|
llvm-readelf (symlink to llvm-readobj), llvm-readobj,
|
|
llvm-readtapi, llvm-reduce,
|
|
llvm-remarkutil,
|
|
llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress,
|
|
llvm-strings, llvm-strip (symlink to llvm-objcopy), llvm-symbolizer,
|
|
llvm-tblgen, llvm-tli-checker, llvm-undname, llvm-windres (symlink to
|
|
llvm-rc), llvm-xray, nvptx-arch, opt, sancov, sanstats, scan-build,
|
|
scan-build-py, scan-view, and verify-uselistorder
|
|
</seg>
|
|
<seg>
|
|
libLLVM.so,
|
|
libLLVM*.a (100 libraries),
|
|
libLTO.so,
|
|
libRemarks.so,
|
|
libclang.so,
|
|
libclang-cpp.so,
|
|
libclang*.a (42 libraries),
|
|
and LLVMgold.so
|
|
</seg>
|
|
<seg>
|
|
/usr/include/{clang,clang-c,llvm,llvm-c},
|
|
/usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild},
|
|
/usr/share/{clang,opt-viewer,scan-build,scan-view},
|
|
/usr/share/doc/llvm-&llvm-version;, and
|
|
/etc/clang
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="amdgpu-arch">
|
|
<term><command>amdgpu-arch</command></term>
|
|
<listitem>
|
|
<para>
|
|
lists AMD GPUs installed; at runtime it needs
|
|
<filename class='libraryfile'>libhsa-runtime64.so</filename>
|
|
which is not a part of GLFS
|
|
</para>
|
|
<indexterm zone="llvm amdgpu-arch">
|
|
<primary sortas="b-amdgpu-arch">amdgpu-arch</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="analyze-build">
|
|
<term><command>analyze-build</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a static analysis tool
|
|
</para>
|
|
<indexterm zone="llvm analyze-build">
|
|
<primary sortas="b-analyze-build">analyze-build</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="bugpoint">
|
|
<term><command>bugpoint</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the automatic test case reduction tool
|
|
</para>
|
|
<indexterm zone="llvm bugpoint">
|
|
<primary sortas="b-bugpoint">bugpoint</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="c-index-test">
|
|
<term><command>c-index-test</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to test the libclang API and demonstrate its usage
|
|
</para>
|
|
<indexterm zone="llvm c-index-test">
|
|
<primary sortas="b-c-index-test">c-index-test</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang">
|
|
<term><command>clang</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>Clang</application> C, C++,
|
|
and Objective-C compiler
|
|
</para>
|
|
<indexterm zone="llvm clang">
|
|
<primary sortas="b-clang">clang</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-check">
|
|
<term><command>clang-check</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to perform static code analysis and display Abstract
|
|
Syntax Trees (AST)
|
|
</para>
|
|
<indexterm zone="llvm clang-check">
|
|
<primary sortas="b-clang-check">clang-check</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-extdef-mapping">
|
|
<term><command>clang-extdef-mapping</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to collect the USR name and location of external
|
|
definitions in a source file
|
|
</para>
|
|
<indexterm zone="llvm clang-extdef-mapping">
|
|
<primary sortas="b-clang-extdef-mapping">clang-extdef-mapping</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-format">
|
|
<term><command>clang-format</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to format C/C++/Java/JavaScript/Objective-C/Protobuf
|
|
code
|
|
</para>
|
|
<indexterm zone="llvm clang-format">
|
|
<primary sortas="b-clang-format">clang-format</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-linker-wrapper">
|
|
<term><command>clang-linker-wrapper</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a wrapper utility over the host linker
|
|
</para>
|
|
<indexterm zone="llvm clang-linker-wrapper">
|
|
<primary sortas="b-clang-linker-wrapper">clang-linker-wrapper</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-offload-bundler">
|
|
<term><command>clang-offload-bundler</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to bundle/unbundle OpenMP offloaded files associated with
|
|
a common source file
|
|
</para>
|
|
<indexterm zone="llvm clang-offload-bundler">
|
|
<primary sortas="b-clang-offload-bundler">clang-offload-bundler</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-offload-packager">
|
|
<term><command>clang-offload-packager</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to bundle several object files into a single binary,
|
|
which can then be used to create a fatbinary containing offloading
|
|
code
|
|
</para>
|
|
<indexterm zone="llvm clang-offload-packager">
|
|
<primary sortas="b-clang-offload-packager">clang-offload-packager</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-refactor">
|
|
<term><command>clang-refactor</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a Clang-based refactoring tool for C, C++ and Objective-C
|
|
</para>
|
|
<indexterm zone="llvm clang-refactor">
|
|
<primary sortas="b-clang-refactor">clang-refactor</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-rename">
|
|
<term><command>clang-rename</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to rename symbols in C/C++ programs
|
|
</para>
|
|
<indexterm zone="llvm clang-rename">
|
|
<primary sortas="b-clang-rename">clang-rename</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-scan-deps">
|
|
<term><command>clang-scan-deps</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to scan for dependencies in a source file
|
|
</para>
|
|
<indexterm zone="llvm clang-scan-deps">
|
|
<primary sortas="b-clang-scan-deps">clang-scan-deps</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="clang-tblgen">
|
|
<term><command>clang-tblgen</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a program that translates compiler-related target
|
|
description (<filename class='extension'>.td</filename>) files
|
|
into C++ code and other output formats
|
|
</para>
|
|
<indexterm zone="llvm clang-tblgen">
|
|
<primary sortas="b-clang-tblgen">clang-tblgen</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="diagtool">
|
|
<term><command>diagtool</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a combination of tools for dealing with diagnostics in clang
|
|
</para>
|
|
<indexterm zone="llvm diagtool">
|
|
<primary sortas="b-diagtool">diagtool</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="FileCheck">
|
|
<term><command>FileCheck</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool that reads two files (one from standard input,
|
|
and one specified on the command line) and uses one to verify the other.
|
|
</para>
|
|
<indexterm zone="llvm FileCheck">
|
|
<primary sortas="b-FileCheck">FileCheck</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dsymutil">
|
|
<term><command>dsymutil</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool used to manipulate archived DWARF debug symbol files,
|
|
compatible with the Darwin command <command>dsymutil</command>
|
|
</para>
|
|
<indexterm zone="llvm dsymutil">
|
|
<primary sortas="b-dsymutil">dsymutil</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="git-clang-format">
|
|
<term><command>git-clang-format</command></term>
|
|
<listitem>
|
|
<para>
|
|
runs clang-format on git generated patches (requires
|
|
<xref linkend="git"/>)
|
|
</para>
|
|
<indexterm zone="llvm git-clang-format">
|
|
<primary sortas="b-git-clang-format">git-clang-format</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="hmaptool">
|
|
<term><command>hmaptool</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a Python tool to dump and construct header maps
|
|
</para>
|
|
<indexterm zone="llvm hmaptool">
|
|
<primary sortas="b-hmaptool">hmaptool</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="intercept-build">
|
|
<term><command>intercept-build</command></term>
|
|
<listitem>
|
|
<para>
|
|
generates a database of build commands for a project
|
|
</para>
|
|
<indexterm zone="llvm intercept-build">
|
|
<primary sortas="b-intercept-build">intercept-build</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llc">
|
|
<term><command>llc</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> static compiler
|
|
</para>
|
|
<indexterm zone="llvm llc">
|
|
<primary sortas="b-llc">llc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lli">
|
|
<term><command>lli</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to directly execute programs from
|
|
<application>LLVM</application> bitcode
|
|
</para>
|
|
<indexterm zone="llvm lli">
|
|
<primary sortas="b-lli">lli</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-addr2line">
|
|
<term><command>llvm-addr2line</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool used to convert addresses into file names and line
|
|
numbers
|
|
</para>
|
|
<indexterm zone="llvm llvm-addr2line">
|
|
<primary sortas="b-llvm-addr2line">llvm-addr2line</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-ar">
|
|
<term><command>llvm-ar</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> archiver
|
|
</para>
|
|
<indexterm zone="llvm llvm-ar">
|
|
<primary sortas="b-llvm-ar">llvm-ar</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-as">
|
|
<term><command>llvm-as</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> assembler
|
|
</para>
|
|
<indexterm zone="llvm llvm-as">
|
|
<primary sortas="b-llvm-as">llvm-as</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-bcanalyzer">
|
|
<term><command>llvm-bcanalyzer</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> bitcode analyzer
|
|
</para>
|
|
<indexterm zone="llvm llvm-bcanalyzer">
|
|
<primary sortas="b-llvm-bcanalyzer">llvm-bcanalyzer</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-bitcode-strip">
|
|
<term><command>llvm-bitcode-strip</command></term>
|
|
<listitem>
|
|
<para>
|
|
strips LLVM bitcode from an object
|
|
</para>
|
|
<indexterm zone="llvm llvm-bitcode-strip">
|
|
<primary sortas="b-llvm-bitcode-strip">llvm-bitcode-strip</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-cat">
|
|
<term><command>llvm-cat</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to concatenate llvm modules
|
|
</para>
|
|
<indexterm zone="llvm llvm-cat">
|
|
<primary sortas="b-llvm-cat">llvm-cat</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-cfi-verify">
|
|
<term><command>llvm-cfi-verify</command></term>
|
|
<listitem>
|
|
<para>
|
|
identifies whether Control Flow Integrity protects all indirect
|
|
control flow instructions in the provided object file, DSO, or
|
|
binary
|
|
</para>
|
|
<indexterm zone="llvm llvm-cfi-verify">
|
|
<primary sortas="b-llvm-cfi-verify">llvm-cfi-verify</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-config">
|
|
<term><command>llvm-config</command></term>
|
|
<listitem>
|
|
<para>
|
|
Prints <application>LLVM</application> compilation options
|
|
</para>
|
|
<indexterm zone="llvm llvm-config">
|
|
<primary sortas="b-llvm-config">llvm-config</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-cov">
|
|
<term><command>llvm-cov</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to emit coverage information
|
|
</para>
|
|
<indexterm zone="llvm llvm-cov">
|
|
<primary sortas="b-llvm-cov">llvm-cov</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-c-test">
|
|
<term><command>llvm-c-test</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a bytecode disassembler
|
|
</para>
|
|
<indexterm zone="llvm llvm-c-test">
|
|
<primary sortas="b-llvm-c-test">llvm-c-test</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-cvtres">
|
|
<term><command>llvm-cvtres</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to convert Microsoft resource files to COFF
|
|
</para>
|
|
<indexterm zone="llvm llvm-cvtres">
|
|
<primary sortas="b-llvm-cvtres">llvm-cvtres</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-cxxdump">
|
|
<term><command>llvm-cxxdump</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used as a C++ ABI Data Dumper
|
|
</para>
|
|
<indexterm zone="llvm llvm-cxxdump">
|
|
<primary sortas="b-llvm-cxxdump">llvm-cxxdump</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-cxxfilt">
|
|
<term><command>llvm-cxxfilt</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to demangle C++ symbols in llvm code
|
|
</para>
|
|
<indexterm zone="llvm llvm-cxxfilt">
|
|
<primary sortas="b-llvm-cxxfilt">llvm-cxxfilt</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-cxxmap">
|
|
<term><command>llvm-cxxmap</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to remap C++ mangled symbols
|
|
</para>
|
|
<indexterm zone="llvm llvm-cxxmap">
|
|
<primary sortas="b-llvm-cxxmap">llvm-cxxmap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-debuginfo-analyzer">
|
|
<term><command>llvm-debuginfo-analyzer</command></term>
|
|
<listitem>
|
|
<para>
|
|
prints a logical representation of low-level debug information
|
|
</para>
|
|
<indexterm zone="llvm llvm-debuginfo-analyzer">
|
|
<primary sortas="b-llvm-debuginfo-analyzer">llvm-debuginfo-analyzer</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-debuginfod">
|
|
<term><command>llvm-debuginfod</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a service providing debug information over an HTTP API for
|
|
analyzing stripped binaries
|
|
</para>
|
|
<indexterm zone="llvm llvm-debuginfod">
|
|
<primary sortas="b-llvm-debuginfod">llvm-debuginfod</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-debuginfod-find">
|
|
<term><command>llvm-debuginfod-find</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an interface to the <command>llvm-debuginfod</command> daemon
|
|
for finding debuginfod artifacts
|
|
</para>
|
|
<indexterm zone="llvm llvm-debuginfod-find">
|
|
<primary sortas="b-llvm-debuginfod-find">llvm-debuginfod-find</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-diff">
|
|
<term><command>llvm-diff</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> structural
|
|
'<command>diff</command>'
|
|
</para>
|
|
<indexterm zone="llvm llvm-diff">
|
|
<primary sortas="b-llvm-diff">llvm-diff</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-dis">
|
|
<term><command>llvm-dis</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> disassembler
|
|
</para>
|
|
<indexterm zone="llvm llvm-dis">
|
|
<primary sortas="b-llvm-dis">llvm-dis</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-dwarfdump">
|
|
<term><command>llvm-dwarfdump</command></term>
|
|
<listitem>
|
|
<para>
|
|
prints the content of DWARF sections in object files
|
|
</para>
|
|
<indexterm zone="llvm llvm-dwarfdump">
|
|
<primary sortas="b-llvm-dwarfdump">llvm-dwarfdump</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-dwarfutil">
|
|
<term><command>llvm-dwarfutil</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to copy and manipulate debug info
|
|
</para>
|
|
<indexterm zone="llvm llvm-dwarfutil">
|
|
<primary sortas="b-llvm-dwarfutil">llvm-dwarfutil</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-dwp">
|
|
<term><command>llvm-dwp</command></term>
|
|
<listitem>
|
|
<para>
|
|
merges split DWARF files
|
|
</para>
|
|
<indexterm zone="llvm llvm-dwp">
|
|
<primary sortas="b-llvm-dwp">llvm-dwp</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-elfabi">
|
|
<term><command>llvm-elfabi</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to read information about an ELF binary's ABI
|
|
</para>
|
|
<indexterm zone="llvm llvm-elfabi">
|
|
<primary sortas="b-llvm-elfabi">llvm-elfabi</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-exegesis">
|
|
<term><command>llvm-exegesis</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a benchmarking tool that uses information available in LLVM to
|
|
measure host machine instruction characteristics like latency or
|
|
port decomposition
|
|
</para>
|
|
<indexterm zone="llvm llvm-exegesis">
|
|
<primary sortas="b-llvm-exegesis">llvm-exegesis</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-extract">
|
|
<term><command>llvm-extract</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to extract a function from an
|
|
<application>LLVM</application> module
|
|
</para>
|
|
<indexterm zone="llvm llvm-extract">
|
|
<primary sortas="b-llvm-extract">llvm-extract</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-gsymutil">
|
|
<term><command>llvm-gsymutil</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to process GSYM Symbolication Format files which
|
|
convert memory addresses to function name and source file
|
|
line. These files are smaller than DWARF or Breakpad files
|
|
</para>
|
|
<indexterm zone="llvm llvm-gsymutil">
|
|
<primary sortas="b-llvm-gsymutil">llvm-gsymutil</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-ifs">
|
|
<term><command>llvm-ifs</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to merge interface stubs with object files
|
|
</para>
|
|
<indexterm zone="llvm llvm-ifs">
|
|
<primary sortas="b-llvm-ifs">llvm-ifs</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-install-name-tool">
|
|
<term><command>llvm-install-name-tool</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to rewrite load commands into MachO binary format
|
|
</para>
|
|
<indexterm zone="llvm llvm-install-name-tool">
|
|
<primary sortas="b-llvm-install-name-tool">llvm-install-name-tool</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-jitlink">
|
|
<term><command>llvm-jitlink</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to parse relocatable object files to make their contents
|
|
executable in a target process
|
|
</para>
|
|
<indexterm zone="llvm llvm-jitlink">
|
|
<primary sortas="b-llvm-jitlink">llvm-jitlink</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-libtool-darwin">
|
|
<term><command>llvm-libtool-darwin</command></term>
|
|
<listitem>
|
|
<para>
|
|
provides basic libtool functionality on Darwin-based systems.
|
|
This is mostly useful if you are generating binaries for macOS
|
|
systems
|
|
</para>
|
|
<indexterm zone="llvm llvm-libtool-darwin">
|
|
<primary sortas="b-llvm-libtool-darwin">llvm-libtool-darwin</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-link">
|
|
<term><command>llvm-link</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> linker
|
|
</para>
|
|
<indexterm zone="llvm llvm-link">
|
|
<primary sortas="b-llvm-link">llvm-link</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-lipo">
|
|
<term><command>llvm-lipo</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to create universal binaries from MachO files
|
|
</para>
|
|
<indexterm zone="llvm llvm-lipo">
|
|
<primary sortas="b-llvm-lipo">llvm-lipo</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-lto">
|
|
<term><command>llvm-lto</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> LTO (link time optimization)
|
|
linker
|
|
</para>
|
|
<indexterm zone="llvm llvm-lto">
|
|
<primary sortas="b-llvm-lto">llvm-lto</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-lto2">
|
|
<term><command>llvm-lto2</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a test harness for the resolution based LTO interface
|
|
</para>
|
|
<indexterm zone="llvm llvm-lto2">
|
|
<primary sortas="b-llvm-lto2">llvm-lto2</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-mc">
|
|
<term><command>llvm-mc</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a standalone machine code assembler/disassembler
|
|
</para>
|
|
<indexterm zone="llvm llvm-mc">
|
|
<primary sortas="b-llvm-mc">llvm-mc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-mca">
|
|
<term><command>llvm-mca</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a performance analysis tool to statically measure the
|
|
performance of machine code
|
|
</para>
|
|
<indexterm zone="llvm llvm-mca">
|
|
<primary sortas="b-llvm-mca">llvm-mca</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<!-- <varlistentry id="llvm-mcmarkup">
|
|
<term><command>llvm-mcmarkup</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a parser for machine code markup.
|
|
</para>
|
|
<indexterm zone="llvm llvm-mcmarkup">
|
|
<primary sortas="b-llvm-mcmarkup">llvm-mcmarkup</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>-->
|
|
|
|
<varlistentry id="llvm-ml">
|
|
<term><command>llvm-ml</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a playground for machine code provided by LLVM
|
|
</para>
|
|
<indexterm zone="llvm llvm-ml">
|
|
<primary sortas="b-llvm-ml">llvm-ml</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-modextract">
|
|
<term><command>llvm-modextract</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to extract one module from multimodule bitcode files
|
|
</para>
|
|
<indexterm zone="llvm llvm-modextract">
|
|
<primary sortas="b-llvm-modextract">llvm-modextract</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-mt">
|
|
<term><command>llvm-mt</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to generate signed files and catalogs from a
|
|
side-by-side assembly manifest (used for Microsoft SDK)
|
|
</para>
|
|
<indexterm zone="llvm llvm-mt">
|
|
<primary sortas="b-llvm-mt">llvm-mt</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-nm">
|
|
<term><command>llvm-nm</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to list <application>LLVM</application> bitcode
|
|
and object file's symbol table
|
|
</para>
|
|
<indexterm zone="llvm llvm-nm">
|
|
<primary sortas="b-llvm-nm">llvm-nm</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-objcopy">
|
|
<term><command>llvm-objcopy</command></term>
|
|
<listitem>
|
|
<para>
|
|
is LLVM's version of an objcopy tool
|
|
</para>
|
|
<indexterm zone="llvm llvm-objcopy">
|
|
<primary sortas="b-llvm-objcopy">llvm-objcopy</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-objdump">
|
|
<term><command>llvm-objdump</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an <application>LLVM</application> object file dumper
|
|
</para>
|
|
<indexterm zone="llvm llvm-objdump">
|
|
<primary sortas="b-llvm-objdump">llvm-objdump</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-opt-report">
|
|
<term><command>llvm-opt-report</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to generate an optimization report from YAML optimization
|
|
record files
|
|
</para>
|
|
<indexterm zone="llvm llvm-opt-report">
|
|
<primary sortas="b-llvm-opt-report">llvm-opt-report</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-pdbutil">
|
|
<term><command>llvm-pdbutil</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a PDB (Program Database) dumper. PDB is a Microsoft format
|
|
</para>
|
|
<indexterm zone="llvm llvm-pdbutil">
|
|
<primary sortas="b-llvm-pdbutil">llvm-pdbutil</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-profdata">
|
|
<term><command>llvm-profdata</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a small tool to manipulate and print profile data files
|
|
</para>
|
|
<indexterm zone="llvm llvm-profdata">
|
|
<primary sortas="b-llvm-profdata">llvm-profdata</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-profgen">
|
|
<term><command>llvm-profgen</command></term>
|
|
<listitem>
|
|
<para>
|
|
generates LLVM SPGO profiling information
|
|
</para>
|
|
<indexterm zone="llvm llvm-profgen">
|
|
<primary sortas="b-llvm-profgen">llvm-profgen</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-ranlib">
|
|
<term><command>llvm-ranlib</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to generate an index for a <application>LLVM</application>
|
|
archive
|
|
</para>
|
|
<indexterm zone="llvm llvm-ranlib">
|
|
<primary sortas="b-llvm-ranlib">llvm-ranlib</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-rc">
|
|
<term><command>llvm-rc</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a platform-independent tool to compile resource scripts
|
|
into binary resource files
|
|
</para>
|
|
<indexterm zone="llvm llvm-rc">
|
|
<primary sortas="b-llvm-rc">llvm-rc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-readobj">
|
|
<term><command>llvm-readobj</command></term>
|
|
<listitem>
|
|
<para>
|
|
displays low-level format-specific information about object files
|
|
</para>
|
|
<indexterm zone="llvm llvm-readobj">
|
|
<primary sortas="b-llvm-readobj">llvm-readobj</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-readtapi">
|
|
<term><command>llvm-readtapi</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the LLVM TAPI file reader and transformer
|
|
</para>
|
|
<indexterm zone="llvm llvm-readtapi">
|
|
<primary sortas="b-llvm-readtapi">llvm-readtapi</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-reduce">
|
|
<term><command>llvm-reduce</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to automatically reduce testcases
|
|
when running a test suite
|
|
</para>
|
|
<indexterm zone="llvm llvm-reduce">
|
|
<primary sortas="b-llvm-reduce">llvm-reduce</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-remarkutil">
|
|
<term><command>llvm-remarkutil</command></term>
|
|
<listitem>
|
|
<para>
|
|
converts remark files between bitstream and YAML; or prints
|
|
function instruction count information in remark files
|
|
</para>
|
|
<indexterm zone="llvm llvm-remarkutil">
|
|
<primary sortas="b-llvm-remarkutil">llvm-remarkutil</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-rtdyld">
|
|
<term><command>llvm-rtdyld</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> MC-JIT tool
|
|
</para>
|
|
<indexterm zone="llvm llvm-rtdyld">
|
|
<primary sortas="b-llvm-rtdyld">llvm-rtdyld</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-size">
|
|
<term><command>llvm-size</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> object size dumper
|
|
</para>
|
|
<indexterm zone="llvm llvm-size">
|
|
<primary sortas="b-llvm-size">llvm-size</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-split">
|
|
<term><command>llvm-split</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> module splitter
|
|
</para>
|
|
<indexterm zone="llvm llvm-split">
|
|
<primary sortas="b-llvm-split">llvm-split</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-stress">
|
|
<term><command>llvm-stress</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to generate random
|
|
<filename class="extension">.ll</filename> files
|
|
</para>
|
|
<indexterm zone="llvm llvm-stress">
|
|
<primary sortas="b-llvm-stress">llvm-stress</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-strings">
|
|
<term><command>llvm-strings</command></term>
|
|
<listitem>
|
|
<para>
|
|
print strings found in a binary (object file, executable, or
|
|
archive library)
|
|
</para>
|
|
<indexterm zone="llvm llvm-strings">
|
|
<primary sortas="b-llvm-strings">llvm-strings</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-symbolizer">
|
|
<term><command>llvm-symbolizer</command></term>
|
|
<listitem>
|
|
<para>
|
|
converts addresses into source code locations
|
|
</para>
|
|
<indexterm zone="llvm llvm-symbolizer">
|
|
<primary sortas="b-llvm-symbolizer">llvm-symbolizer</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-tblgen">
|
|
<term><command>llvm-tblgen</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> Target Description
|
|
To C++ Code Generator
|
|
</para>
|
|
<indexterm zone="llvm llvm-tblgen">
|
|
<primary sortas="b-llvm-tblgen">llvm-tblgen</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-tli-checker">
|
|
<term><command>llvm-tli-checker</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> TargetLibraryInfo
|
|
versus SDK checker
|
|
</para>
|
|
<indexterm zone="llvm llvm-tli-checker">
|
|
<primary sortas="b-llvm-tli-checker">llvm-tli-checker</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-undname">
|
|
<term><command>llvm-undname</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to demangle names
|
|
</para>
|
|
<indexterm zone="llvm llvm-undname">
|
|
<primary sortas="b-llvm-undname">llvm-undname</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="llvm-xray">
|
|
<term><command>llvm-xray</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an implementation of Google's XRay function call tracing system
|
|
</para>
|
|
<indexterm zone="llvm llvm-xray">
|
|
<primary sortas="b-llvm-xray">llvm-xray</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="nvptx-arch">
|
|
<term><command>nvptx-arch</command></term>
|
|
<listitem>
|
|
<para>
|
|
lists NVIDIA GPUs installed; at runtime it needs
|
|
<filename>libcuda.so</filename> which is installed
|
|
by <xref linkend="nvidia"/>.
|
|
</para>
|
|
<indexterm zone="llvm nvptx-arch">
|
|
<primary sortas="b-nvptx-arch">nvptx-arch</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="opt">
|
|
<term><command>opt</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> optimizer
|
|
</para>
|
|
<indexterm zone="llvm opt">
|
|
<primary sortas="b-opt">opt</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="sancov">
|
|
<term><command>sancov</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the sanitizer coverage processing tool
|
|
</para>
|
|
<indexterm zone="llvm sancov">
|
|
<primary sortas="b-sancov">sancov</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="sanstats">
|
|
<term><command>sanstats</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the sanitizer statistics processing tool
|
|
</para>
|
|
<indexterm zone="llvm sanstats">
|
|
<primary sortas="b-sanstats">sanstats</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="scan-build">
|
|
<term><command>scan-build</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a <application>Perl</application> script that invokes the
|
|
<application>Clang</application> static analyzer
|
|
</para>
|
|
<indexterm zone="llvm scan-build">
|
|
<primary sortas="b-scan-build">scan-build</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="scan-build-py">
|
|
<term><command>scan-build-py</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a <application>Python</application> script that invokes the
|
|
<application>Clang</application> static analyzer
|
|
</para>
|
|
<indexterm zone="llvm scan-build-py">
|
|
<primary sortas="b-scan-build-py">scan-build-py</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="scan-view">
|
|
<term><command>scan-view</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a viewer for <application>Clang</application> static analyzer
|
|
results
|
|
</para>
|
|
<indexterm zone="llvm scan-view">
|
|
<primary sortas="b-scan-view">scan-view</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="verify-uselistorder">
|
|
<term><command>verify-uselistorder</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>LLVM</application> tool to verify use-list
|
|
order
|
|
</para>
|
|
<indexterm zone="llvm verify-uselistorder">
|
|
<primary sortas="b-verify-uselistorder">verify-uselistorder</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<!-- Removed in 12.0.0
|
|
<varlistentry id="yaml2obj">
|
|
<term><command>yaml2obj</command></term>
|
|
<listitem>
|
|
<para>
|
|
takes a YAML representation of an object file and converts it
|
|
to a binary file
|
|
</para>
|
|
<indexterm zone="llvm yaml2obj">
|
|
<primary sortas="b-yaml2obj">yaml2obj</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
-->
|
|
<!--
|
|
<varlistentry id="libllvm">
|
|
<term><filename class="libraryfile">libLLVM-&llvm-version;.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>LLVM</application> API functions.
|
|
</para>
|
|
<indexterm zone="llvm libllvm">
|
|
<primary sortas="c-libllvm">libLLVM-&llvm-version;.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libprofile_rt">
|
|
<term><filename class="libraryfile">libprofile_rt.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
is the C, C++ and Objective-C runtime library for
|
|
<application>Clang</application>.
|
|
</para>
|
|
<indexterm zone="llvm libprofile_rt">
|
|
<primary sortas="c-libprofile_rt">libprofile_rt.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>-->
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|